diff --git a/documentation/Semantic-and-Model-Violations-Reference.md b/documentation/Semantic-and-Model-Violations-Reference.md
index 6d3283c8e05e..21fb07a17b76 100644
--- a/documentation/Semantic-and-Model-Violations-Reference.md
+++ b/documentation/Semantic-and-Model-Violations-Reference.md
@@ -892,7 +892,11 @@ This document lists the set of automated rules that can be validated against swa
**Description**: Long running operation must return location header or azure-AsyncOperation header in response when this operation is annotated with x-ms-long-running-operation:true.
+<<<<<<< HEAD
+**How to fix the violation**: Adding one of these headers to the response. Refer to this [example](https://github.com/Azure/azure-rest-api-specs/blob/5e638554b6/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json#L64) for the fix.
+=======
**How to fix the violation**: Adding one of these headers to the response in example or in traffic payload. Refer to this [example](https://github.com/Azure/azure-rest-api-specs/blob/5e638554b6/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json#L64) for the fix.
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
### MISSING_RESOURCE_ID
diff --git a/profile/2020-09-01-hybrid.json b/profile/2020-09-01-hybrid.json
index d3fc6565d644..ba19dbcac233 100644
--- a/profile/2020-09-01-hybrid.json
+++ b/profile/2020-09-01-hybrid.json
@@ -670,6 +670,14 @@
}
]
},
+ "microsoft.containerregistry": {
+ "2019-08-15-preview": [
+ {
+ "resourceType": "*",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json"
+ }
+ ]
+ },
"microsoft.storage": {
"resourceType": "*",
"2019-07-07": []
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json
new file mode 100644
index 000000000000..2a6536af617a
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json
@@ -0,0 +1,821 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-08-preview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "APIs for Azure action rules CRUD operations."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "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.AlertsManagement/actionRules": {
+ "get": {
+ "description": "List all action rules of the subscription",
+ "operationId": "ActionRules_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of action rules",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetActionRulesSubscriptionWide": {
+ "$ref": "./examples/ActionRules_List_Subscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": {
+ "get": {
+ "operationId": "ActionRules_ListByResourceGroup",
+ "description": "List all action rules of the subscription, created in given resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of action rules",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetActionRulesResourceGroupWide": {
+ "$ref": "./examples/ActionRules_List_ResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": {
+ "get": {
+ "description": "Get action rule by name",
+ "operationId": "ActionRules_GetByName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name of the action rule that needs to be fetched",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the specific action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetActionRuleById": {
+ "$ref": "./examples/ActionRules_GetById.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "ActionRules_CreateUpdate",
+ "description": "Create or update an action rule",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name of the action rule that needs to be created/updated",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionRule",
+ "in": "body",
+ "description": "Action rule to be created/updated",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the updated action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "201": {
+ "description": "Created. Returns the created action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a rule that adds an action group to all alerts in a subscription": {
+ "$ref": "./examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json"
+ },
+ "Create or update a rule that adds two action groups to all Sev0 and Sev1 alerts in two resource groups": {
+ "$ref": "./examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json"
+ },
+ "Create or update a rule that removes all action groups from alerts on a specific VM during a one-off maintenance window (1800-2000 at a specific date, Pacific Standard Time)": {
+ "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json"
+ },
+ "Create or update a rule that removes all action groups from all alerts on any VM in two resource groups during a recurring maintenance window (2200-0400 every Sat and Sun, India Standard Time)": {
+ "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json"
+ },
+ "Create or update a rule that removes all action groups outside business hours (Mon-Fri 09:00-17:00, Eastern Standard Time)": {
+ "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json"
+ },
+ "Create or update a rule that removes all action groups from all alerts in a subscription coming from a specific alert rule": {
+ "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a given action rule",
+ "operationId": "ActionRules_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name of the action rule that needs to be deleted",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request to delete an action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ }
+ },
+ "204": {
+ "description": "No content: the request was successful, but the response is empty",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteActionRule": {
+ "$ref": "./examples/ActionRules_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update enabled flag and/or tags for the given action rule",
+ "operationId": "ActionRules_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name that needs to be updated",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionRulePatch",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchObject"
+ },
+ "description": "Parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the created/updated action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PatchActionRule": {
+ "$ref": "./examples/ActionRules_Patch.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "minLength": 1
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "Resource group name where the resource is created.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "api-version": {
+ "name": "api-version",
+ "description": "client API version",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "2021-08-08-preview"
+ ],
+ "x-ms-enum": {
+ "name": "api-version",
+ "modelAsString": true
+ }
+ }
+ },
+ "definitions": {
+ "errorResponse": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ },
+ "errorResponseBody": {
+ "description": "Details of error response.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code, intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "Description of the error, intended for display in user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the particular error, for example name of the property."
+ },
+ "details": {
+ "type": "array",
+ "description": "A list of additional details about the error.",
+ "items": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name"
+ }
+ }
+ },
+ "ManagedResource": {
+ "description": "An azure managed resource object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ]
+ },
+ "Scopes": {
+ "type": "array",
+ "description": "List of ARM IDs which will be the target of the given action rule.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Condition": {
+ "type": "object",
+ "description": "Condition to trigger an action rule",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field for a given condition",
+ "enum": [
+ "Severity",
+ "MonitorService",
+ "MonitorCondition",
+ "SignalType",
+ "TargetResourceType",
+ "TargetResource",
+ "TargetResourceGroup",
+ "AlertRuleId",
+ "AlertRuleName",
+ "Description",
+ "AlertContext"
+ ],
+ "x-ms-enum": {
+ "name": "Field",
+ "modelAsString": true
+ }
+ },
+ "operator": {
+ "type": "string",
+ "description": "Operator for a given condition",
+ "enum": [
+ "Equals",
+ "NotEquals",
+ "Contains",
+ "DoesNotContain"
+ ],
+ "x-ms-enum": {
+ "name": "Operator",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "type": "array",
+ "description": "List of values to match for a given condition.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Conditions": {
+ "type": "array",
+ "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.",
+ "items": {
+ "$ref": "#/definitions/Condition"
+ }
+ },
+ "Schedule": {
+ "type": "object",
+ "description": "Scheduling configuration for a given action rule",
+ "properties": {
+ "effectiveFrom": {
+ "type": "string",
+ "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$",
+ "description": "Scheduling effective from time. Date-Time in ISO-8601 format without timezone suffix."
+ },
+ "effectiveUntil": {
+ "type": "string",
+ "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$",
+ "description": "Scheduling effective until time. Date-Time in ISO-8601 format without timezone suffix."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Scheduling time zone"
+ },
+ "recurrences": {
+ "type": "array",
+ "description": "List of recurrences",
+ "items": {
+ "$ref": "#/definitions/Recurrence"
+ }
+ }
+ }
+ },
+ "Recurrence": {
+ "type": "object",
+ "description": "Recurrence object",
+ "discriminator": "recurrenceType",
+ "required": [
+ "recurrenceType"
+ ],
+ "properties": {
+ "recurrenceType": {
+ "type": "string",
+ "description": "Specifies when the recurrence should be applied",
+ "enum": [
+ "Daily",
+ "Weekly",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "RecurrenceType",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start time for recurrence"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "End time for recurrence"
+ }
+ }
+ },
+ "DailyRecurrence": {
+ "x-ms-discriminator-value": "Daily",
+ "type": "object",
+ "description": "Daily recurrence object",
+ "required": [
+ "startTime",
+ "endTime"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Recurrence"
+ }
+ ]
+ },
+ "WeeklyRecurrence": {
+ "x-ms-discriminator-value": "Weekly",
+ "type": "object",
+ "description": "Weekly recurrence object",
+ "required": [
+ "daysOfWeek"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Recurrence"
+ }
+ ],
+ "properties": {
+ "daysOfWeek": {
+ "type": "array",
+ "description": "Specifies the values for weekly recurrence pattern",
+ "items": {
+ "$ref": "#/definitions/DaysOfWeek"
+ }
+ }
+ }
+ },
+ "MonthlyRecurrence": {
+ "x-ms-discriminator-value": "Monthly",
+ "type": "object",
+ "description": "Monthly recurrence object",
+ "required": [
+ "daysOfMonth"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Recurrence"
+ }
+ ],
+ "properties": {
+ "daysOfMonth": {
+ "type": "array",
+ "description": "Specifies the values for monthly recurrence pattern",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ }
+ },
+ "DaysOfWeek": {
+ "type": "string",
+ "description": "Days of week",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "DaysOfWeek",
+ "modelAsString": true
+ }
+ },
+ "ActionRule": {
+ "description": "Action rule object containing target scopes, conditions and scheduling logic",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Action rule properties",
+ "$ref": "#/definitions/ActionRuleProperties"
+ },
+ "systemData": {
+ "description": "Action rule system data",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "ActionRuleProperties": {
+ "description": "Action rule properties defining scopes, conditions and scheduling logic for action rule",
+ "required": [
+ "scopes",
+ "actions"
+ ],
+ "properties": {
+ "scopes": {
+ "description": "Scopes on which action rule will apply",
+ "$ref": "#/definitions/Scopes"
+ },
+ "conditions": {
+ "description": "Conditions on which alerts will be filtered",
+ "$ref": "#/definitions/Conditions"
+ },
+ "schedule": {
+ "description": "Scheduling for action rule",
+ "$ref": "#/definitions/Schedule"
+ },
+ "actions": {
+ "type": "array",
+ "description": "Actions to be applied",
+ "items": {
+ "$ref": "#/definitions/Action"
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of action rule"
+ },
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates if the given action rule is enabled or disabled"
+ }
+ }
+ },
+ "Action": {
+ "type": "object",
+ "description": "Action to be applied",
+ "discriminator": "actionType",
+ "required": [
+ "actionType"
+ ],
+ "properties": {
+ "actionType": {
+ "type": "string",
+ "description": "Action that should be applied",
+ "enum": [
+ "AddActionGroups",
+ "RemoveAllActionGroups"
+ ],
+ "x-ms-enum": {
+ "name": "actionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AddActionGroups": {
+ "x-ms-discriminator-value": "AddActionGroups",
+ "type": "object",
+ "description": "Add action groups to action rule",
+ "required": [
+ "actionGroupIds"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Action"
+ }
+ ],
+ "properties": {
+ "actionGroupIds": {
+ "description": "List of action group Ids to add to action rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RemoveAllActionGroups": {
+ "x-ms-discriminator-value": "RemoveAllActionGroups",
+ "type": "object",
+ "description": "Indicates if all action groups should be removed",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Action"
+ }
+ ]
+ },
+ "ActionRulesList": {
+ "description": "List of action rules",
+ "properties": {
+ "nextLink": {
+ "type": "string",
+ "description": "URL to fetch the next set of action rules"
+ },
+ "value": {
+ "type": "array",
+ "description": "List of action rules",
+ "items": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ }
+ }
+ },
+ "PatchProperties": {
+ "description": "Action rule properties supported by patch",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if the given action rule is enabled or disabled"
+ }
+ }
+ },
+ "PatchObject": {
+ "description": "Data contract for patch",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties supported by patch operation",
+ "$ref": "#/definitions/PatchProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags to be updated"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json
new file mode 100644
index 000000000000..ed253c5cd422
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json
@@ -0,0 +1,117 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-08-preview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "Azure Alerts Management Service provides a single pane of glass of alerts across Azure Monitor."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "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.AlertsManagement/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "List all operations available through Azure Alerts Management Resource Provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully retrieved operations list.",
+ "schema": {
+ "$ref": "#/definitions/operationsList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "operation": {
+ "description": "Operation provided by provider",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "display": {
+ "type": "object",
+ "description": "Properties of the operation",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Provider name"
+ },
+ "resource": {
+ "type": "string",
+ "description": "Resource name"
+ },
+ "operation": {
+ "type": "string",
+ "description": "Operation name"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "operationsList": {
+ "description": "Lists the operations available in the AlertsManagement RP.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/operation"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json
new file mode 100644
index 000000000000..52088517ef0e
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "actionRuleName": "AddActionGroupToSubscription",
+ "actionRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1"
+ ]
+ }
+ ],
+ "description": "Add ActionGroup1 to all alerts in the subscription",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2021-02-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-02-13T16:15:34Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1"
+ ]
+ }
+ ],
+ "description": "Add ActionGroup1 to all alerts in the subscription",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "AddActionGroupToSubscription",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2021-02-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-02-13T16:15:34Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1"
+ ]
+ }
+ ],
+ "description": "Add ActionGroup1 to all alerts in the subscription",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "AddActionGroupToSubscription",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json
new file mode 100644
index 000000000000..76525df8a56e
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "actionRuleName": "AddActionGroupsBySeverity",
+ "actionRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "sev0",
+ "sev1"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1",
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2"
+ ]
+ }
+ ],
+ "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-13T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "sev0",
+ "sev1"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1",
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2"
+ ]
+ }
+ ],
+ "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "AddActionGroupsBySeverity",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-13T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "sev0",
+ "sev1"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1",
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2"
+ ]
+ }
+ ],
+ "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "AddActionGroupsBySeverity",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json
new file mode 100644
index 000000000000..4cb5c8c628b1
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "actionRuleName": "RemoveActionGroupsSpecificAlertRule",
+ "actionRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "conditions": [
+ {
+ "field": "AlertRuleId",
+ "operator": "Equals",
+ "values": [
+ "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActiongroups"
+ }
+ ],
+ "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "conditions": [
+ {
+ "field": "AlertRuleId",
+ "operator": "Equals",
+ "values": [
+ "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActiongroups"
+ }
+ ],
+ "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsSpecificAlertRule",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "conditions": [
+ {
+ "field": "AlertRuleId",
+ "operator": "Equals",
+ "values": [
+ "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActiongroups"
+ }
+ ],
+ "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsSpecificAlertRule",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json
new file mode 100644
index 000000000000..c040c555ce64
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "actionRuleName": "RemoveActionGroupsOutsideBusinessHours",
+ "actionRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "Eastern Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "17:00:00",
+ "endTime": "09:00:00"
+ },
+ {
+ "recurrenceType": "Weekly",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups outside business hours",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "Eastern Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "17:00:00",
+ "endTime": "09:00:00"
+ },
+ {
+ "recurrenceType": "Weekly",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups outside business hours",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsOutsideBusinessHours",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "Eastern Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "17:00:00",
+ "endTime": "09:00:00"
+ },
+ {
+ "recurrenceType": "Weekly",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups outside business hours",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsOutsideBusinessHours",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json
new file mode 100644
index 000000000000..65baa6704870
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json
@@ -0,0 +1,156 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "actionRuleName": "RemoveActionGroupsRecurringMaintenance",
+ "actionRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "TargetResourceType",
+ "operator": "Equals",
+ "values": [
+ "microsoft.compute/virtualmachines"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "India Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "22:00:00",
+ "endTime": "04:00:00",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "TargetResourceType",
+ "operator": "Equals",
+ "values": [
+ "microsoft.compute/virtualmachines"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "India Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "22:00:00",
+ "endTime": "04:00:00",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsRecurringMaintenance",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "TargetResourceType",
+ "operator": "Equals",
+ "values": [
+ "microsoft.compute/virtualmachines"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "India Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "22:00:00",
+ "endTime": "04:00:00",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsRecurringMaintenance",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Delete.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Delete.json
new file mode 100644
index 000000000000..6a9bbd02c9e0
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroupName": "alertscorrelationrg",
+ "actionRuleName": "DailySuppression"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_GetById.json
new file mode 100644
index 000000000000..8b1d3aed1722
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_GetById.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroupName": "alertscorrelationrg",
+ "actionRuleName": "DailySuppression"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "DailySuppression",
+ "location": "Global",
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "Sev0",
+ "Sev2"
+ ]
+ },
+ {
+ "field": "MonitorService",
+ "operator": "Equals",
+ "values": [
+ "Platform",
+ "Application Insights"
+ ]
+ },
+ {
+ "field": "MonitorCondition",
+ "operator": "Equals",
+ "values": [
+ "Fired"
+ ]
+ },
+ {
+ "field": "TargetResourceType",
+ "operator": "NotEquals",
+ "values": [
+ "Microsoft.Compute/VirtualMachines"
+ ]
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2018-01-10T22:05:09",
+ "effectiveUntil": "2018-12-10T22:05:09",
+ "timeZone": "Pacific Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ },
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "10:00:00",
+ "endTime": "20:00:00",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "actiongGroup1",
+ "actiongGroup2"
+ ]
+ }
+ ],
+ "description": "Action rule on resource group for daily and weekly scheduling",
+ "enabled": true
+ },
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_ResourceGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_ResourceGroup.json
new file mode 100644
index 000000000000..f948c8c845b0
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_ResourceGroup.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroupName": "alertscorrelationrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1",
+ "value": [
+ {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "Sev0",
+ "Sev2"
+ ]
+ },
+ {
+ "field": "MonitorService",
+ "operator": "Equals",
+ "values": [
+ "Platform",
+ "Application Insights"
+ ]
+ },
+ {
+ "field": "TargetResourceType",
+ "operator": "NotEquals",
+ "values": [
+ "Microsoft.Compute/VirtualMachines"
+ ]
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2018-09-12T06:00:00",
+ "effectiveUntil": "2018-09-20T14:00:00",
+ "timeZone": "Pacific Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "description": "Action rule on resource group for daily suppression",
+ "enabled": true
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "DailySuppression",
+ "location": "Global",
+ "tags": {}
+ },
+ {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource"
+ ],
+ "conditions": [
+ {
+ "field": "MonitorCondition",
+ "operator": "Equals",
+ "values": [
+ "Fired"
+ ]
+ },
+ {
+ "field": "Description",
+ "operator": "Contains",
+ "values": [
+ "Percentage CPU greater than 80%",
+ "Metric alert on resource foo"
+ ]
+ },
+ {
+ "field": "AlertContext",
+ "operator": "DoesNotContain",
+ "values": [
+ "testresource",
+ "foo"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.insights/actiongroups/testAG"
+ ]
+ }
+ ],
+ "description": "Action rule on resource group for sending email",
+ "enabled": true
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "WeeklySuppression",
+ "location": "Global",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_Subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_Subscription.json
new file mode 100644
index 000000000000..c2c141c531f1
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_Subscription.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1",
+ "value": [
+ {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "Sev0",
+ "Sev2"
+ ]
+ },
+ {
+ "field": "MonitorService",
+ "operator": "Equals",
+ "values": [
+ "Platform",
+ "Application Insights"
+ ]
+ },
+ {
+ "field": "TargetResourceType",
+ "operator": "NotEquals",
+ "values": [
+ "Microsoft.Compute/VirtualMachines"
+ ]
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2018-01-10T22:05:09",
+ "effectiveUntil": "2018-12-10T22:05:09",
+ "timeZone": "Pacific Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "description": "Action rule on resource group for daily suppression",
+ "enabled": true
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "DailySuppression",
+ "location": "Global",
+ "tags": {}
+ },
+ {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource"
+ ],
+ "conditions": [
+ {
+ "field": "MonitorCondition",
+ "operator": "Equals",
+ "values": [
+ "Fired"
+ ]
+ },
+ {
+ "field": "Description",
+ "operator": "Contains",
+ "values": [
+ "Percentage CPU greater than 80%",
+ "Metric alert on resource foo"
+ ]
+ }
+ ],
+ "description": "Action rule on resource group for adding action group",
+ "enabled": true,
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "actiongGroup1"
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "WeeklySuppression",
+ "location": "Global",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Patch.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Patch.json
new file mode 100644
index 000000000000..ede6e07cc04d
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Patch.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroupName": "alertscorrelationrg",
+ "actionRuleName": "WeeklySuppression",
+ "actionRulePatch": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "enabled": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "Sev0",
+ "Sev2"
+ ]
+ },
+ {
+ "field": "MonitorService",
+ "operator": "Equals",
+ "values": [
+ "Platform",
+ "Application Insights"
+ ]
+ },
+ {
+ "field": "TargetResourceType",
+ "operator": "NotEquals",
+ "values": [
+ "Microsoft.Compute/VirtualMachines"
+ ]
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2018-12-10T22:05:09",
+ "effectiveUntil": "2018-12-05T22:05:09",
+ "timeZone": "Pacific Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00",
+ "daysOfWeek": [
+ "Tuesday",
+ "Friday"
+ ]
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionType": "removeAllActionGroups"
+ }
+ ],
+ "description": "Action rule on resource group for weekly suppression",
+ "enabled": false
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "WeeklySuppression",
+ "location": "Global",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md
index 7000c75d270c..18357437852e 100644
--- a/specification/alertsmanagement/resource-manager/readme.md
+++ b/specification/alertsmanagement/resource-manager/readme.md
@@ -90,6 +90,8 @@ input-file:
- Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
```
+<<<<<<< HEAD
+=======
### Tag: package-preview-2021-07
These settings apply only when `--tag=package-preview-2021-07` is specified on the command line.
@@ -98,6 +100,7 @@ These settings apply only when `--tag=package-preview-2021-07` is specified on t
input-file:
- Microsoft.AlertsManagement/preview/2021-07-22-preview/PrometheusRuleGroups.json
```
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
### Tag: package-2021-04-only
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index ed8638d32c59..cd4384c1abe2 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -295,6 +295,55 @@ input-file:
- Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json
```
+### Tag: package-preview-2021-04
+
+These settings apply only when `--tag=package-preview-2021-04` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-04'
+input-file:
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimcontenttypes.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimdeletedservices.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimgateways.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimnamedvalues.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimoutbounddependency.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimportalrevisions.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimprivatelink.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimsettings.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimskus.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimconnectivitycheck.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json
+```
### Tag: package-preview-2021-01
These settings apply only when `--tag=package-preview-2021-01` is specified on the command line.
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2021-10-01/examples/PaymentMethodAtBillingProfile_Remove.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2021-10-01/examples/PaymentMethodAtBillingProfile_Remove.json
new file mode 100644
index 000000000000..21c9c6534f3b
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2021-10-01/examples/PaymentMethodAtBillingProfile_Remove.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountName": "00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31",
+ "billingProfileName": "ABC1-A1CD-AB1-BP1",
+ "paymentMethodName": "ABCDABCDABC0"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/paymentMethodLinks/operationResults/ed2975a8-8f77-43bb-a717-ace54326b14b?api-version=2021-10-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {},
+ "204": {},
+ "409": {
+ "body": {
+ "error": {
+ "code": "PaymentMethodNotEligibleForDetach",
+ "message": "Payment method cannot be detached from billing group.",
+ "details": [
+ {
+ "code": "AzureSubscriptions",
+ "message": "Payment method cannot be detached as there are active or disabled azure subscriptions on this billing profile."
+ },
+ {
+ "code": "RecurringCharges",
+ "message": "Payment method cannot be detached as there are recurring charges on this billing profile."
+ },
+ {
+ "code": "ReservedInstances",
+ "message": "Payment method cannot be detached as there are reserved instances on this billing profile."
+ },
+ {
+ "code": "OutstandingCharges",
+ "message": "Payment method cannot be detached as there are unpaid outstanding charges on this billing profile."
+ },
+ {
+ "code": "PendingCharges",
+ "message": "Payment method cannot be detached as there are pending charges accumulating on this billing profile."
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
index f3ccc0a72f00..15c8b1ba2a22 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
@@ -5062,6 +5062,11 @@
"description": "The balance in billing currency after the event.",
"readOnly": true,
"$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "eTag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The eTag for the resource."
}
}
},
@@ -5190,6 +5195,11 @@
"description": "The reseller of the lot.",
"readOnly": true,
"$ref": "#/definitions/Reseller"
+ },
+ "eTag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The eTag for the resource."
}
}
},
@@ -5247,6 +5257,11 @@
"description": "Credit's reseller.",
"readOnly": true,
"$ref": "#/definitions/Reseller"
+ },
+ "eTag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The eTag for the resource."
}
}
},
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 dd57abe1152c..68a4f6376ee5 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md
@@ -339,7 +339,21 @@ namespace: azure.mgmt.containerservice.v2021_08_01
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_08_01
```
+<<<<<<< HEAD:specification/containerservice/resource-manager/readme.python.md
+### Tag: package-2021-08-01-only and python
+
+These settings apply only when `--tag=package-2021-08-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-08-01-only' && $(python)
+namespace: azure.mgmt.containerservice.v2021_08_01
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_08_01
+```
+
+### Tag: package-2021-07-01-only and python
+=======
### Tag: package-2021-07 and python
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735:specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md
These settings apply only when `--tag=package-2021-07 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json
index 66f5726dbeda..9cdb05ef1878 100644
--- a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json
@@ -72,6 +72,17 @@
"origin": "user,system",
"isDataAction": false
},
+ {
+ "name": "Microsoft.ExtendedLocation/customLocations/deploy/action",
+ "display": {
+ "description": "Deploy permissions to a Custom Location resource",
+ "operation": "Deploy permissions to Custom Location",
+ "provider": "Microsoft.ExtendedLocation",
+ "resource": "Custom Locations"
+ },
+ "origin": "user,system",
+ "isDataAction": true
+ },
{
"name": "Microsoft.ExtendedLocation/customLocations/delete",
"display": {
diff --git a/specification/maps/data-plane/DEM/preview/1.0/elevation.json b/specification/maps/data-plane/DEM/preview/1.0/elevation.json
index 685949e892a3..471e568251dc 100644
--- a/specification/maps/data-plane/DEM/preview/1.0/elevation.json
+++ b/specification/maps/data-plane/DEM/preview/1.0/elevation.json
@@ -256,8 +256,13 @@
"/elevation/lattice/{format}": {
"get": {
"summary": "Get Elevation Data at Equally Spaced Locations Within a Bounding Box",
+<<<<<<< HEAD
+ "description": "**Applies to**: S1 pricing tier.\n\nThe Get Data for Bounding Box API provides elevation data at equally spaced locations within a bounding box. A bounding box is defined by the coordinates for two corners (southwest, northeast) and then subsequently divided into rows and columns.\n\n Elevations are returned for the vertices of the grid created by the rows and columns. Up to 2,000 elevations can be returned in a single request. The returned elevation values are ordered, starting at the southwest corner, and then proceeding west to east along the row. At the end of the row, it moves north to the next row, and repeats the process until it reaches the far northeast corner.",
+ "operationId": "GetDataForBoundingBox",
+=======
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Get Data for Bounding Box API provides elevation data at equally spaced locations within a bounding box. A bounding box is defined by the coordinates for two corners (southwest, northeast) and then subsequently divided into rows and columns.\n\n Elevations are returned for the vertices of the grid created by the rows and columns. Up to 2,000 elevations can be returned in a single request. The returned elevation values are ordered, starting at the southwest corner, and then proceeding west to east along the row. At the end of the row, it moves north to the next row, and repeats the process until it reaches the far northeast corner.",
"operationId": "Elevation_GetDataForBoundingBox",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successfully retrieve elevation data within a bounding box": {
"$ref": "./examples/GetDataForBoundingBox.json"
diff --git a/specification/maps/data-plane/Render/preview/1.0/render.json b/specification/maps/data-plane/Render/preview/1.0/render.json
index ab2c2660a587..0bce2828a47c 100644
--- a/specification/maps/data-plane/Render/preview/1.0/render.json
+++ b/specification/maps/data-plane/Render/preview/1.0/render.json
@@ -351,8 +351,13 @@
},
"/map/tile/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).",
+ "operationId": "GetMapTile",
+=======
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).",
"operationId": "Render_GetMapTile",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successful Tile Request": {
"$ref": "./examples/SuccessfulTileRequest.json"
@@ -540,8 +545,13 @@
},
"/map/copyright/caption/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.",
+ "operationId": "GetCopyrightCaption",
+=======
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.",
"operationId": "Render_GetCopyrightCaption",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successful Copyright Caption Request": {
"$ref": "./examples/SuccessfulCopyrightCaptionRequest.json"
@@ -573,8 +583,13 @@
},
"/map/imagery/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "**Applies to:** S1 pricing tier.\n\n\nThis service returns a map image tile with size 256x256, given the x and y coordinates and zoom\nlevel. Zoom level ranges from 1 to 19. The current available style value is 'satellite' which provides satellite\nimagery alone.\n\n\n**Note**: We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).",
+ "operationId": "GetMapImageryTile",
+=======
"description": "**Applies to**: S0 and S1 pricing tiers.\n\nThis service returns a map image tile with size 256x256, given the x and y coordinates and zoom\nlevel. Zoom level ranges from 1 to 19. The current available style value is 'satellite' which provides satellite\nimagery alone.\n\n\n**Note**: We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).",
"operationId": "Render_GetMapImageryTile",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successful Imagery Tile Request": {
"$ref": "./examples/SuccessfulImageryTileRequest.json"
@@ -649,8 +664,13 @@
},
"/map/copyright/bounding/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates",
+ "operationId": "GetCopyrightFromBoundingBox",
+=======
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates",
"operationId": "Render_GetCopyrightFromBoundingBox",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successful Bounding Box Copyright Request": {
"$ref": "./examples/SuccessfulBoundingBoxCopyrightRequest.json"
@@ -691,8 +711,13 @@
},
"/map/copyright/tile/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).",
+ "operationId": "GetCopyrightForTile",
+=======
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).",
"operationId": "Render_GetCopyrightForTile",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successful Tile Copyright Request": {
"$ref": "./examples/SuccessfulTileCopyrightRequest.json"
@@ -736,8 +761,13 @@
},
"/map/copyright/world/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.",
+ "operationId": "GetCopyrightForWorld",
+=======
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.",
"operationId": "Render_GetCopyrightForWorld",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successful World Copyright Request": {
"$ref": "./examples/SuccessfulWorldCopyrightRequest.json"
diff --git a/specification/maps/data-plane/Render/preview/2.1/render.json b/specification/maps/data-plane/Render/preview/2.1/render.json
index 801f33721f09..4044f84dc302 100644
--- a/specification/maps/data-plane/Render/preview/2.1/render.json
+++ b/specification/maps/data-plane/Render/preview/2.1/render.json
@@ -138,8 +138,13 @@
},
"/map/tileset": {
"get": {
+<<<<<<< HEAD
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tileset API allows users to request metadata for a tileset.",
+ "operationId": "GetMapTileset",
+=======
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Get Map Tileset API allows users to request metadata for a tileset.",
"operationId": "RenderV2_GetMapTileset",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successful Tileset Request": {
"$ref": "./examples/SuccessfulTilesetRequest.json"
@@ -174,8 +179,13 @@
},
"/map/attribution": {
"get": {
+<<<<<<< HEAD
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Attribution API allows users to request map copyright attribution information for a section of a tileset.",
+ "operationId": "GetMapAttribution",
+=======
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Get Map Attribution API allows users to request map copyright attribution information for a section of a tileset.",
"operationId": "RenderV2_GetMapAttribution",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successful Attribution Request": {
"$ref": "./examples/SuccessfulAttributionRequest.json"
diff --git a/specification/maps/data-plane/Route/preview/1.0/route.json b/specification/maps/data-plane/Route/preview/1.0/route.json
index 8931e4622472..243fedc4f5f1 100644
--- a/specification/maps/data-plane/Route/preview/1.0/route.json
+++ b/specification/maps/data-plane/Route/preview/1.0/route.json
@@ -942,8 +942,13 @@
}
},
"get": {
+<<<<<<< HEAD
+ "description": "If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.",
+ "operationId": "GetRouteMatrix",
+=======
"description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nIf the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.",
"operationId": "Route_GetRouteMatrix",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "original-uri"
@@ -1089,8 +1094,13 @@
},
"/route/directions/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.",
+ "operationId": "GetRouteDirections",
+=======
"description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.",
"operationId": "Route_GetRouteDirections",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successfully retrieve a route between an origin and a destination": {
"$ref": "./examples/GetRouteDirections.json"
@@ -1443,8 +1453,13 @@
},
"/route/range/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "__Route Range (Isochrone) API__\n\n\n**Applies to**: S1 pricing tier.\n\nThis service will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.\n\nThe returned polygon can be used for further processing such as [Search Inside Geometry](https://docs.microsoft.com/rest/api/maps/search/postsearchinsidegeometry) to search for POIs within the provided Isochrone.",
+ "operationId": "GetRouteRange",
+=======
"description": "__Route Range (Isochrone) API__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis service will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.\n\nThe returned polygon can be used for further processing such as [Search Inside Geometry](https://docs.microsoft.com/rest/api/maps/search/postsearchinsidegeometry) to search for POIs within the provided Isochrone.",
"operationId": "Route_GetRouteRange",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successfully retrieve a set of locations that can be reached from the origin point based on various conditions": {
"$ref": "./examples/GetRouteRange.json"
diff --git a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json
index 41afb11453b9..018ff4da7465 100644
--- a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json
+++ b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json
@@ -131,8 +131,13 @@
"paths": {
"/timezone/byId/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "__Time Zone by Id__\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns current, historical, and future time zone information for the specified IANA time zone ID.",
+ "operationId": "GetTimezoneByID",
+=======
"description": "__Time Zone by Id__\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThis API returns current, historical, and future time zone information for the specified IANA time zone ID.",
"operationId": "Timezone_GetTimezoneByID",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successfully retrieve timezone by ID": {
"$ref": "./examples/GetTimezoneByID.json"
@@ -187,8 +192,13 @@
},
"/timezone/byCoordinates/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "__Time Zone by Coordinates__\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns current, historical, and future time zone information for a specified latitude-longitude pair. In addition, the API provides sunset and sunrise times for a given location.",
+ "operationId": "GetTimezoneByCoordinates",
+=======
"description": "__Time Zone by Coordinates__\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThis API returns current, historical, and future time zone information for a specified latitude-longitude pair. In addition, the API provides sunset and sunrise times for a given location.",
"operationId": "Timezone_GetTimezoneByCoordinates",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Successfully retrieve timezone by coordinates": {
"$ref": "./examples/GetTimezoneByCoordinates.json"
diff --git a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json
index 82712a9520d1..2d0ce2e009b8 100644
--- a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json
+++ b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json
@@ -108,8 +108,13 @@
"paths": {
"/traffic/flow/tile/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "__Traffic Flow Tile__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThe Azure Flow Tile API serves 256 x 256 pixel tiles showing traffic flow. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. The Flow tiles use colors to indicate either the speed of traffic on different road segments, or the difference between that speed and the free-flow speed on the road segment in question.",
+ "operationId": "GetTrafficFlowTile",
+=======
"description": "__Traffic Flow Tile__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Azure Flow Tile API serves 256 x 256 pixel tiles showing traffic flow. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. The Flow tiles use colors to indicate either the speed of traffic on different road segments, or the difference between that speed and the free-flow speed on the road segment in question.",
"operationId": "Traffic_GetTrafficFlowTile",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Request tile depicting the traffic flow": {
"$ref": "./examples/GetTrafficFlowTile.json"
@@ -209,8 +214,13 @@
},
"/traffic/flow/segment/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "__Traffic Flow Segment__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service provides information about the speeds and travel times of the road fragment closest to the given coordinates. It is designed to work alongside the Flow layer of the Render Service to support clickable flow data visualizations. With this API, the client side can connect any place in the map with flow data on the closest road and present it to the user.",
+ "operationId": "GetTrafficFlowSegment",
+=======
"description": "__Traffic Flow Segment__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis service provides information about the speeds and travel times of the road fragment closest to the given coordinates. It is designed to work alongside the Flow layer of the Render Service to support clickable flow data visualizations. With this API, the client side can connect any place in the map with flow data on the closest road and present it to the user.",
"operationId": "Traffic_GetTrafficFlowSegment",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Request traffic flow segment information": {
"$ref": "./examples/GetTrafficFlowSegment.json"
@@ -315,8 +325,13 @@
},
"/traffic/incident/tile/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "__Traffic Incident Tile__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service serves 256 x 256 pixel tiles showing traffic incidents. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. Traffic tiles render graphics to indicate traffic on the roads in the specified area.",
+ "operationId": "GetTrafficIncidentTile",
+=======
"description": "__Traffic Incident Tile__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis service serves 256 x 256 pixel tiles showing traffic incidents. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. Traffic tiles render graphics to indicate traffic on the roads in the specified area.",
"operationId": "Traffic_GetTrafficIncidentTile",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Request a tile depicting a traffic incident": {
"$ref": "./examples/GetTrafficIncidentTile.json"
@@ -414,8 +429,13 @@
},
"/traffic/incident/detail/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "__Traffic Incident Detail__ \n\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis API provides information on traffic incidents inside a given bounding box, based on the current Traffic Model ID. The Traffic Model ID is available to grant synchronization of data between calls and API's. The Traffic Model ID is a key value for determining the currency of traffic incidents. It is updated every minute, and is valid for two minutes before it times out. It is used in rendering [incident tiles](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidenttile). It can be obtained from the [Viewport API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidentviewport).",
+ "operationId": "GetTrafficIncidentDetail",
+=======
"description": "__Traffic Incident Detail__ \n\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API provides information on traffic incidents inside a given bounding box, based on the current Traffic Model ID. The Traffic Model ID is available to grant synchronization of data between calls and API's. The Traffic Model ID is a key value for determining the currency of traffic incidents. It is updated every minute, and is valid for two minutes before it times out. It is used in rendering [incident tiles](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidenttile). It can be obtained from the [Viewport API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidentviewport).",
"operationId": "Traffic_GetTrafficIncidentDetail",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Request information about a traffic incident": {
"$ref": "./examples/GetTrafficIncidentDetail.json"
@@ -579,8 +599,13 @@
},
"/traffic/incident/viewport/{format}": {
"get": {
+<<<<<<< HEAD
+ "description": "__Traffic Incident Viewport__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis API returns legal and technical information for the viewport described in the request. It should be called by client applications whenever the viewport changes (for instance, through zooming, panning, going to a location, or displaying a route). The request should contain the bounding box and zoom level of the viewport whose information is needed. The return will contain map version information, as well as the current Traffic Model ID and copyright IDs. The Traffic Model ID returned by the Viewport Description is used by other APIs to retrieve last traffic information for further processing.",
+ "operationId": "GetTrafficIncidentViewport",
+=======
"description": "__Traffic Incident Viewport__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API returns legal and technical information for the viewport described in the request. It should be called by client applications whenever the viewport changes (for instance, through zooming, panning, going to a location, or displaying a route). The request should contain the bounding box and zoom level of the viewport whose information is needed. The return will contain map version information, as well as the current Traffic Model ID and copyright IDs. The Traffic Model ID returned by the Viewport Description is used by other APIs to retrieve last traffic information for further processing.",
"operationId": "Traffic_GetTrafficIncidentViewport",
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
"x-ms-examples": {
"Request traffic incident information for the selected viewport": {
"$ref": "./examples/GetTrafficIncidentViewport.json"
diff --git a/specification/maps/data-plane/Weather/preview/1.0/weather.json b/specification/maps/data-plane/Weather/preview/1.0/weather.json
index 7107c67db23c..96c64ecfe551 100644
--- a/specification/maps/data-plane/Weather/preview/1.0/weather.json
+++ b/specification/maps/data-plane/Weather/preview/1.0/weather.json
@@ -89,7 +89,7 @@
"/weather/forecast/hourly/{format}": {
"get": {
"description": "**Get Hourly Forecast**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nRequest detailed weather forecast by the hour for the next 1, 12, 24 (1 day), 72 (3 days), 120 (5 days), and 240 hours (10 days) for the given the given coordinate location. The API returns details such as temperature, humidity, wind, precipitation, and ultraviolet (UV) index.\n\nIn S0 you can request hourly forecast for the next 1, 12, 24 hours (1 day), and 72 hours (3 days). In S1 you can also request hourly forecast for the next 120 (5 days) and 240 hours (10 days).",
- "operationId": "Weather_GetHourlyForecast",
+ "operationId": "GetHourlyForecast",
"x-ms-examples": {
"Successfully retrieve detailed weather forecast by the hour": {
"$ref": "./examples/GetHourlyForecast.json"
@@ -150,7 +150,7 @@
"/weather/forecast/minute/{format}": {
"get": {
"description": "**Get Minute Forecast**\n \n \n**Applies to**: S1 pricing tier.\n\n\nGet Minute Forecast service returns minute-by-minute forecasts for a given location for the next 120 minutes. Users can request weather forecasts in the interval of 1, 5 and 15 minutes. The response will include details such as the type of precipitation (including rain, snow, or a mixture of both), start time, and precipitation intensity value (dBZ).",
- "operationId": "Weather_GetMinuteForecast",
+ "operationId": "GetMinuteForecast",
"x-ms-examples": {
"Successfully retrieve minute-by-minute forecasts for a given location": {
"$ref": "./examples/GetMinuteForecast.json"
@@ -208,7 +208,7 @@
"/weather/forecast/quarterDay/{format}": {
"get": {
"description": "**Get Quarter-Day Forecast**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nService returns detailed weather forecast by quarter-day for the next 1, 5, 10, or 15 days for a given location. Response data is presented by quarters of the day - morning, afternoon, evening, and overnight. Details such as temperature, humidity, wind, precipitation, and UV index are returned.",
- "operationId": "Weather_GetQuarterDayForecast",
+ "operationId": "GetQuarterDayForecast",
"x-ms-examples": {
"Successfully retrieve detailed weather forecast by a given location": {
"$ref": "./examples/GetQuarterDayForecast.json"
@@ -269,7 +269,7 @@
"/weather/currentConditions/{format}": {
"get": {
"description": "**Get Current Conditions**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nGet Current Conditions service returns detailed current weather conditions such as precipitation, temperature and wind for a given coordinate location. Also, observations from the past 6 or 24 hours for a particular location can be retrieved. The basic information returned with the response include details such as observation date and time, brief description of the weather conditions, weather icon, precipitation indicator flags, and temperature. Additional details such as RealFeelâ„¢ Temperature and UV index are also returned.",
- "operationId": "Weather_GetCurrentConditions",
+ "operationId": "GetCurrentConditions",
"x-ms-examples": {
"Successfully retrieve detailed current weather conditions for a given coordinate location": {
"$ref": "./examples/GetCurrentConditions.json"
@@ -336,7 +336,7 @@
"/weather/forecast/daily/{format}": {
"get": {
"description": "**Get Daily Forecast**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nThe service returns detailed weather forecast such as temperature and wind by day for the next 1, 5, 10, 15, 25, or 45 days for a given coordinate location. The response include details such as temperature, wind, precipitation, air quality, and UV index.\n\nIn S0 you can request daily forecast for the next 1, 5, 10, and 15 days. In S1 you can also request daily forecast for the next 25 days, and 45 days.",
- "operationId": "Weather_GetDailyForecast",
+ "operationId": "GetDailyForecast",
"x-ms-examples": {
"Successfully retrieve detailed daily weather forecast for a given coordinate location": {
"$ref": "./examples/GetDailyForecast.json"
@@ -397,7 +397,7 @@
"/weather/route/{format}": {
"get": {
"description": "**Get Weather along route**\n \n \n **Applies to**: S1 pricing tier.\n\n Weather along a route API returns hyper local (one kilometer or less), up-to-the-minute weather nowcasts, weather hazard assessments, and notifications along a route described as a sequence of waypoints. \n This includes a list of weather hazards affecting the waypoint or route, and the aggregated hazard index for each waypoint might be used to paint each portion of a route according to how safe it is for the driver. When submitting the waypoints, it is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. Data is updated every five minutes. \n \n The service supplements Azure Maps [Route Service](https://docs.microsoft.com/rest/api/maps/route) that allows you to first request a route between an origin and a destination and use that as an input for Weather Along Route endpoint.\n \n In addition, the service supports scenarios to generate weather notifications for waypoints that experience an increase in intensity of a weather hazard. For example, if the vehicle is expected to begin experiencing heavy rain as it reaches a waypoint, a weather notification for heavy rain will be generated for that waypoint allowing the end product to display a heavy rain notification before the driver reaches that waypoint. \n The trigger for when to display the notification for a waypoint could be based, for example, on a [geofence](https://docs.microsoft.com/azure/azure-maps/tutorial-iot-hub-maps), or selectable distance to the waypoint.\n\n The API covers all regions of the planet except latitudes above Greenland and Antarctica.",
- "operationId": "Weather_GetWeatherAlongRoute",
+ "operationId": "GetWeatherAlongRoute",
"x-ms-examples": {
"Successfully retrieve detailed weather casts along a route described as a sequence of waypoints": {
"$ref": "./examples/GetWeatherAlongRoute.json"
@@ -440,7 +440,7 @@
"/weather/severe/alerts/{format}": {
"get": {
"description": "**Get Severe Weather Alerts**\n\n**Applies to**: S0 and S1 pricing tiers.\n\nSevere weather phenomenon can significantly impact our everyday life and business operations. For example, severe weather conditions such as tropical storms, high winds or flooding can close roads and force logistics companies to reroute their fleet causing delays in reaching destinations and breaking the cold chain of refrigerated food products.  Azure Maps Severe Weather Alerts API returns the severe weather alerts that are available worldwide from both official Government Meteorological Agencies and leading global to regional weather alert providers. The service can return details such as alert type, category, level and detailed description about the active severe alerts for the requested location, like hurricanes, thunderstorms, lightning, heat waves or forest fires.",
- "operationId": "Weather_GetSevereWeatherAlerts",
+ "operationId": "GetSevereWeatherAlerts",
"x-ms-examples": {
"Successfully retrieve severe weather alerts": {
"$ref": "./examples/GetSevereWeatherAlerts.json"
@@ -498,7 +498,7 @@
"/weather/indices/daily/{format}": {
"get": {
"description": "**Get Daily Indices**\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThere may be times when you want to know if the weather conditions are optimal for a specific activity, for example, for outdoor construction, indoor activities, running or farming including soil moisture information. Azure Maps Indices API returns index values that will guide end users to plan future activities. For example, a health mobile application can notify users that today is good weather for running or for other outdoors activities like for playing golf, and retail stores can optimize their digital marketing campaigns based on predicted index values. The service returns in daily indices values for current and next 5, 10 and 15 days starting from current day.",
- "operationId": "Weather_GetDailyIndices",
+ "operationId": "GetDailyIndices",
"x-ms-examples": {
"Successfully retrieve daily indices values from current day": {
"$ref": "./examples/GetDailyIndices.json"
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Get.json
new file mode 100644
index 000000000000..58b29290a398
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Get.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "policyId": "98ed42ff-b67f-44df-8c8c-7e6b43e77055",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea889"
+ },
+ "body": {
+ "name": "policy_mycollection",
+ "id": "98ed42ff-b67f-44df-8c8c-7e6b43e77055",
+ "version": 1,
+ "properties": {
+ "description": "",
+ "decisionRules": [
+ {
+ "kind": "decisionrule",
+ "effect": "Permit",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "resource.purview.collection",
+ "attributeValueIncludes": "mycollection"
+ },
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "permission:mycollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "attributeRules": [
+ {
+ "kind": "attributerule",
+ "id": "purviewmetadatarole_builtin_collection-administrator:mycollection",
+ "name": "purviewmetadatarole_builtin_collection-administrator:mycollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "principal.microsoft.id",
+ "attributeValueIncludedIn": [
+ "69e520f2-5f26-4074-9fe1-5187d85ec005"
+ ]
+ },
+ {
+ "attributeName": "derived.purview.role",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:myparentcollection"
+ }
+ ]
+ ]
+ },
+ {
+ "kind": "attributerule",
+ "id": "permission:mycollection",
+ "name": "permission:mycollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:mycollection"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "permission:myparentcollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "collection": {
+ "type": "CollectionReference",
+ "referenceName": "mycollection"
+ },
+ "parentCollectionName": "myparentcollection"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_ListAll.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_ListAll.json
new file mode 100644
index 000000000000..a488975a1761
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_ListAll.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba"
+ },
+ "body": {
+ "values": [
+ {
+ "name": "policy_mycollection",
+ "id": "98ed42ff-b67f-44df-8c8c-7e6b43e77055",
+ "version": 1,
+ "properties": {
+ "description": "",
+ "decisionRules": [
+ {
+ "kind": "decisionrule",
+ "effect": "Permit",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "resource.purview.collection",
+ "attributeValueIncludes": "mycollection"
+ },
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "permission:mycollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "attributeRules": [
+ {
+ "kind": "attributerule",
+ "id": "purviewmetadatarole_builtin_collection-administrator:mycollection",
+ "name": "purviewmetadatarole_builtin_collection-administrator:mycollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "principal.microsoft.id",
+ "attributeValueIncludedIn": [
+ "69e520f2-5f26-4074-9fe1-5187d85ec005"
+ ]
+ },
+ {
+ "attributeName": "derived.purview.role",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:myparentcollection"
+ }
+ ]
+ ]
+ },
+ {
+ "kind": "attributerule",
+ "id": "permission:mycollection",
+ "name": "permission:mycollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:mycollection"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "permission:myparentcollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "collection": {
+ "type": "CollectionReference",
+ "referenceName": "mycollection"
+ },
+ "parentCollectionName": "myparentcollection"
+ }
+ },
+ {
+ "name": "policy_myparentcollection",
+ "id": "b69bb29e-91dc-41f5-af94-3eb86f9c45e8",
+ "version": 6,
+ "properties": {
+ "description": "",
+ "decisionRules": [
+ {
+ "kind": "decisionrule",
+ "effect": "Permit",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "resource.purview.collection",
+ "attributeValueIncludes": "myparentcollection"
+ },
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "permission:myparentcollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "attributeRules": [
+ {
+ "kind": "attributerule",
+ "id": "purviewmetadatarole_builtin_collection-administrator:myparentcollection",
+ "name": "purviewmetadatarole_builtin_collection-administrator:myparentcollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "principal.microsoft.id",
+ "attributeValueIncludedIn": [
+ "6545aabd-7f83-4e63-adc1-45dcab61d5c3"
+ ]
+ },
+ {
+ "attributeName": "derived.purview.role",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
+ }
+ ]
+ ]
+ },
+ {
+ "kind": "attributerule",
+ "id": "purviewmetadatarole_builtin_purview-reader:myparentcollection",
+ "name": "purviewmetadatarole_builtin_purview-reader:myparentcollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "principal.microsoft.id",
+ "attributeValueIncludedIn": [
+ "6545aabd-7f83-4e63-adc1-45dcab61d5c3"
+ ]
+ },
+ {
+ "attributeName": "derived.purview.role",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_purview-reader"
+ }
+ ]
+ ]
+ },
+ {
+ "kind": "attributerule",
+ "id": "purviewmetadatarole_builtin_data-curator:myparentcollection",
+ "name": "purviewmetadatarole_builtin_data-curator:myparentcollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "principal.microsoft.id",
+ "attributeValueIncludedIn": [
+ "6545aabd-7f83-4e63-adc1-45dcab61d5c3"
+ ]
+ },
+ {
+ "attributeName": "derived.purview.role",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_data-curator"
+ }
+ ]
+ ]
+ },
+ {
+ "kind": "attributerule",
+ "id": "purviewmetadatarole_builtin_data-source-administrator:myparentcollection",
+ "name": "purviewmetadatarole_builtin_data-source-administrator:myparentcollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "principal.microsoft.id",
+ "attributeValueIncludedIn": [
+ "6545aabd-7f83-4e63-adc1-45dcab61d5c3"
+ ]
+ },
+ {
+ "attributeName": "derived.purview.role",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_data-source-administrator"
+ }
+ ]
+ ]
+ },
+ {
+ "kind": "attributerule",
+ "id": "permission:myparentcollection",
+ "name": "permission:myparentcollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:myparentcollection"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_purview-reader:myparentcollection"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_data-curator:myparentcollection"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_data-source-administrator:myparentcollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "collection": {
+ "type": "CollectionReference",
+ "referenceName": "myparentcollection"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Update.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Update.json
new file mode 100644
index 000000000000..3f60f60ef806
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataPolicy_Update.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "policyId": "98ed42ff-b67f-44df-8c8c-7e6b43e77055",
+ "api-version": "2021-07-01",
+ "body": {
+ "name": "policy_mycollection",
+ "id": "98ed42ff-b67f-44df-8c8c-7e6b43e77055",
+ "version": 1,
+ "properties": {
+ "description": "",
+ "decisionRules": [
+ {
+ "effect": "Permit",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "resource.purview.collection",
+ "attributeValueIncludes": "mycollection"
+ },
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "permission:mycollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "attributeRules": [
+ {
+ "id": "purviewmetadatarole_builtin_collection-administrator:mycollection",
+ "name": "purviewmetadatarole_builtin_collection-administrator:mycollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "principal.microsoft.id",
+ "attributeValueIncludedIn": [
+ "69e520f2-5f26-4074-9fe1-5187d85ec005",
+ "3f10f245-d5c4-4541-98ce-01a4580a30e0"
+ ]
+ },
+ {
+ "attributeName": "derived.purview.role",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:myparentcollection"
+ }
+ ]
+ ]
+ },
+ {
+ "id": "permission:mycollection",
+ "name": "permission:mycollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:mycollection"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "permission:myparentcollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "collection": {
+ "referenceName": "mycollection"
+ },
+ "parentCollectionName": "myparentcollection"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888"
+ },
+ "body": {
+ "name": "policy_mycollection",
+ "id": "98ed42ff-b67f-44df-8c8c-7e6b43e77055",
+ "version": 2,
+ "properties": {
+ "description": "",
+ "decisionRules": [
+ {
+ "kind": "decisionrule",
+ "effect": "Permit",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "resource.purview.collection",
+ "attributeValueIncludes": "mycollection"
+ },
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "permission:mycollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "attributeRules": [
+ {
+ "kind": "attributerule",
+ "id": "purviewmetadatarole_builtin_collection-administrator:mycollection",
+ "name": "purviewmetadatarole_builtin_collection-administrator:mycollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "principal.microsoft.id",
+ "attributeValueIncludedIn": [
+ "69e520f2-5f26-4074-9fe1-5187d85ec005",
+ "3f10f245-d5c4-4541-98ce-01a4580a30e0"
+ ]
+ },
+ {
+ "attributeName": "derived.purview.role",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:myparentcollection"
+ }
+ ]
+ ]
+ },
+ {
+ "kind": "attributerule",
+ "id": "permission:mycollection",
+ "name": "permission:mycollection",
+ "dnfCondition": [
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:mycollection"
+ }
+ ],
+ [
+ {
+ "attributeName": "derived.purview.permission",
+ "attributeValueIncludes": "permission:myparentcollection"
+ }
+ ]
+ ]
+ }
+ ],
+ "collection": {
+ "type": "CollectionReference",
+ "referenceName": "mycollection"
+ },
+ "parentCollectionName": "myparentcollection"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataRoles_List.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataRoles_List.json
new file mode 100644
index 000000000000..a2f2659a28f3
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/examples/MetadataRoles_List.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba"
+ },
+ "body": {
+ "values": [
+ {
+ "id": "purviewmetadatarole_builtin_data-source-administrator",
+ "name": "data-source-administrator",
+ "type": "Microsoft.Purview/role",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "roleType": "BuiltIn",
+ "friendlyName": "Data Source Administrator",
+ "cnfCondition": [
+ [
+ {
+ "attributeName": "request.azure.dataAction",
+ "attributeValueIncludedIn": [
+ "Microsoft.Purview/accounts/scan/read",
+ "Microsoft.Purview/accounts/scan/write",
+ "Microsoft.Purview/accounts/collection/read"
+ ]
+ }
+ ]
+ ],
+ "version": 1
+ }
+ },
+ {
+ "id": "purviewmetadatarole_builtin_collection-administrator",
+ "name": "collection-administrator",
+ "type": "Microsoft.Purview/role",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "roleType": "BuiltIn",
+ "friendlyName": "Collection Administrator",
+ "cnfCondition": [
+ [
+ {
+ "attributeName": "request.azure.dataAction",
+ "attributeValueIncludedIn": [
+ "Microsoft.Purview/accounts/collection/read",
+ "Microsoft.Purview/accounts/collection/write"
+ ]
+ }
+ ]
+ ],
+ "version": 1
+ }
+ },
+ {
+ "id": "purviewmetadatarole_builtin_purview-reader",
+ "name": "purview-reader",
+ "type": "Microsoft.Purview/role",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "roleType": "BuiltIn",
+ "friendlyName": "Purview Reader",
+ "cnfCondition": [
+ [
+ {
+ "attributeName": "request.azure.dataAction",
+ "attributeValueIncludedIn": [
+ "Microsoft.Purview/accounts/data/read",
+ "Microsoft.Purview/accounts/collection/read"
+ ]
+ }
+ ]
+ ],
+ "version": 1
+ }
+ },
+ {
+ "id": "purviewmetadatarole_builtin_data-curator",
+ "name": "data-curator",
+ "type": "Microsoft.Purview/role",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "roleType": "BuiltIn",
+ "friendlyName": "Data Curator",
+ "cnfCondition": [
+ [
+ {
+ "attributeName": "request.azure.dataAction",
+ "attributeValueIncludedIn": [
+ "Microsoft.Purview/accounts/data/read",
+ "Microsoft.Purview/accounts/data/write",
+ "Microsoft.Purview/accounts/collection/read"
+ ]
+ }
+ ]
+ ],
+ "version": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/purviewMetadataPolicy.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/purviewMetadataPolicy.json
new file mode 100644
index 000000000000..8c7f434c9c9d
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01/purviewMetadataPolicy.json
@@ -0,0 +1,572 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Purview Metadata Policies Service REST API Document",
+ "version": "2021-07-01"
+ },
+ "paths": {
+ "/metadataRoles": {
+ "get": {
+ "tags": [
+ "MetadataRoles"
+ ],
+ "description": "Lists roles for Purview Account",
+ "operationId": "MetadataRoles_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MetadataRoleList"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Metadata Policy Service",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseModel"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "type": "string",
+ "description": "The error code"
+ }
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "values"
+ },
+ "x-ms-examples": {
+ "MetadataRoles_List": {
+ "$ref": "./examples/MetadataRoles_List.json"
+ }
+ }
+ }
+ },
+ "/metadataPolicies": {
+ "get": {
+ "tags": [
+ "MetadataPolicy"
+ ],
+ "description": "List or Get metadata policies",
+ "operationId": "MetadataPolicy_ListAll",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "collectionName",
+ "description": "The name of an existing collection for which one policy needs to be fetched.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MetadataPolicyList"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Metadata Policy Service",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseModel"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "type": "string",
+ "description": "The error code"
+ }
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "values"
+ },
+ "x-ms-examples": {
+ "MetadataPolicy_ListAll": {
+ "$ref": "./examples/MetadataPolicy_ListAll.json"
+ }
+ }
+ }
+ },
+ "/metadataPolicies/{policyId}": {
+ "put": {
+ "tags": [
+ "MetadataPolicy"
+ ],
+ "description": "Updates a metadata policy",
+ "operationId": "MetadataPolicy_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "policyId",
+ "description": "Unique policy id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Policy to be updated.",
+ "schema": {
+ "$ref": "#/definitions/MetadataPolicy"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MetadataPolicy"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Metadata Policy Service",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseModel"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "type": "string",
+ "description": "The error code"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MetadataPolicy_Update": {
+ "$ref": "./examples/MetadataPolicy_Update.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MetadataPolicy"
+ ],
+ "description": "Gets a metadata policy",
+ "operationId": "MetadataPolicy_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "policyId",
+ "description": "Id of an existing policy that needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MetadataPolicy"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Metadata Policy Service",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseModel"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "type": "string",
+ "description": "The error code"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MetadataPolicy_Get": {
+ "$ref": "./examples/MetadataPolicy_Get.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AttributeMatcher": {
+ "description": "Attribute matcher for a rule",
+ "type": "object",
+ "properties": {
+ "attributeName": {
+ "description": "AttributeName",
+ "type": "string"
+ },
+ "attributeValueIncludes": {
+ "description": "Value for attribute",
+ "type": "string"
+ },
+ "attributeValueIncludedIn": {
+ "description": "List of values for attribute",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "attributeValueExcludes": {
+ "description": "Value excluded for attribute",
+ "type": "string"
+ },
+ "attributeValueExcludedIn": {
+ "description": "List of values excluded for attribute",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DnfCondition": {
+ "description": "The dnf Condition for a rule",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttributeMatcher"
+ }
+ }
+ },
+ "CnfCondition": {
+ "description": "The cnf Condition for a rule",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttributeMatcher"
+ }
+ }
+ },
+ "DecisionRule": {
+ "description": "The decision rule for a policy",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "The kind of rule",
+ "enum": [
+ "decisionrule"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ },
+ "effect": {
+ "description": "The effect for rule",
+ "enum": [
+ "Deny",
+ "Permit"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Decision",
+ "modelAsString": true
+ }
+ },
+ "dnfCondition": {
+ "$ref": "#/definitions/DnfCondition"
+ }
+ }
+ },
+ "AttributeRule": {
+ "description": "The attribute rule for a policy",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "The kind of rule",
+ "enum": [
+ "attributerule"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ },
+ "id": {
+ "description": "The id for rule",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name for rule",
+ "type": "string"
+ },
+ "dnfCondition": {
+ "$ref": "#/definitions/DnfCondition"
+ }
+ }
+ },
+ "CollectionReference": {
+ "description": "The collection reference for a policy",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of reference",
+ "type": "string",
+ "readOnly": true
+ },
+ "referenceName": {
+ "description": "The name of reference",
+ "type": "string"
+ }
+ }
+ },
+ "MetadataPolicyProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of policy",
+ "type": "string"
+ },
+ "decisionRules": {
+ "description": "The DecisionRules of policy",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DecisionRule"
+ }
+ },
+ "attributeRules": {
+ "description": "The AttributeRules of policy",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttributeRule"
+ }
+ },
+ "collection": {
+ "$ref": "#/definitions/CollectionReference"
+ },
+ "parentCollectionName": {
+ "description": "The parent collection of the policy",
+ "type": "string"
+ }
+ }
+ },
+ "MetadataPolicy": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of policy",
+ "type": "string"
+ },
+ "id": {
+ "description": "The id of policy",
+ "type": "string"
+ },
+ "version": {
+ "format": "int32",
+ "description": "The version of policy",
+ "type": "integer"
+ },
+ "properties": {
+ "$ref": "#/definitions/MetadataPolicyProperties"
+ }
+ }
+ },
+ "ErrorModel": {
+ "description": "The error model for metadata policy",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message",
+ "type": "string"
+ },
+ "target": {
+ "description": "The error target",
+ "type": "string"
+ },
+ "details": {
+ "description": "The error details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorModel"
+ }
+ }
+ }
+ },
+ "ErrorResponseModel": {
+ "description": "The error response model for metadata policy",
+ "required": [
+ "error"
+ ],
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorModel"
+ }
+ }
+ },
+ "MetadataPolicyList": {
+ "description": "List of Metadata Policies",
+ "required": [
+ "values"
+ ],
+ "type": "object",
+ "properties": {
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataPolicy"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "MetadataRoleProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioningState of role",
+ "type": "string"
+ },
+ "roleType": {
+ "description": "The type of role",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The friendly name of role",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of role",
+ "type": "string"
+ },
+ "cnfCondition": {
+ "$ref": "#/definitions/CnfCondition"
+ },
+ "dnfCondition": {
+ "$ref": "#/definitions/DnfCondition"
+ },
+ "version": {
+ "format": "int64",
+ "description": "The version of role",
+ "type": "integer"
+ }
+ }
+ },
+ "MetadataRole": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Id of role",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of role",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of role",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/MetadataRoleProperties"
+ }
+ }
+ },
+ "MetadataRoleList": {
+ "description": "List of Metadata roles",
+ "required": [
+ "values"
+ ],
+ "type": "object",
+ "properties": {
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataRole"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "api-version": {
+ "in": "query",
+ "name": "api-version",
+ "description": "The api version to use.",
+ "required": true,
+ "type": "string",
+ "x-ms-client-name": "ApiVersion"
+ },
+ "Endpoint": {
+ "in": "path",
+ "name": "Endpoint",
+ "description": "The endpoint of your Purview account. Example: https://{accountName}.purview.azure.com.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "description": "Azure Active Directory OAuth2 Flow."
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "basePath": "/policyStore",
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/GetOperations.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/GetOperations.json
index a0ee24dd7dc2..d0543cc9d74d 100644
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/GetOperations.json
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/GetOperations.json
@@ -1,45 +1,45 @@
{
"parameters": {
- "api-version": "2021-03-15"
+ "api-version": "2021-03-15-preview"
},
"responses": {
"200": {
"body": {
"value": [
{
- "name": "Microsoft.Quota/quotaLimits/read",
+ "name": "Microsoft.Quota/usages/read",
"display": {
"provider": "Microsoft Quota",
- "resource": "Resource service limit",
- "operation": "Get resource service limit",
- "description": "Get the current service limit or quota of the specified resource and location"
+ "resource": "Resource current usages",
+ "operation": "Get resource usages",
+ "description": "Get the current usages of the specified resource and location"
}
},
{
- "name": "Microsoft.Quota/quotaLimits/write",
+ "name": "Microsoft.Quota/quotas/read",
"display": {
"provider": "Microsoft Quota",
- "resource": "Resource service limit",
- "operation": "Create resource service limit",
- "description": "Create service limit or quota for the specified resource and location"
+ "resource": "Resource quota limit",
+ "operation": "Get resource quota limit",
+ "description": "Get the current service limit or quota of the specified resource and location"
}
},
{
- "name": "Microsoft.Quota/quotaLimitProviders/read",
+ "name": "Microsoft.Quota/quotas/write",
"display": {
"provider": "Microsoft Quota",
- "resource": "Quota limits provider metadata",
- "operation": "Get quota limit providers metadata",
- "description": "Get quota limit resource providers metadata"
+ "resource": "Resource quota limit",
+ "operation": "Create resource quota limit",
+ "description": "Create service limit or quota for the specified resource and location"
}
},
{
- "name": "Microsoft.Quota/quotaLimitsRequests/read",
+ "name": "Microsoft.Quota/quotaRequests/read",
"display": {
"provider": "Microsoft Quota",
- "resource": "Resource service limit request",
- "operation": "Get service limit request",
- "description": "Get any service limit request for the specified resource and location"
+ "resource": "Resource quota request",
+ "operation": "Get quota request",
+ "description": "Get any quota request for the specified resource and location"
}
}
]
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getComputeOneSkuUsages.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getComputeOneSkuUsages.json
deleted file mode 100644
index 9efbd14bfdd2..000000000000
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getComputeOneSkuUsages.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus",
- "resourceName": "standardNDSFamily",
- "api-version": "2021-03-15"
- },
- "responses": {
- "200": {
- "body": {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardNDSFamily",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardNDSFamily",
- "properties": {
- "limit": 10,
- "unit": "Count",
- "name": {
- "value": "standardNDSFamily",
- "localizedValue": "Standard NDS Family vCPUs"
- },
- "isQuotaApplicable": true
- }
- }
- }
- }
-}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getComputeUsages.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getComputeUsages.json
deleted file mode 100644
index adf15b58a729..000000000000
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getComputeUsages.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus",
- "api-version": "2021-03-15"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardFSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardFSv2Family",
- "properties": {
- "limit": 100,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardFSv2Family",
- "localizedValue": "Standard FSv2 Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardNDSFamily",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardNDSFamily",
- "properties": {
- "limit": 0,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardNDSFamily",
- "localizedValue": "Standard NDS Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardNCSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardNCSv2Family",
- "properties": {
- "limit": 0,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardNCSv2Family",
- "localizedValue": "Standard NCSv2 Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardNCSv3Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardNCSv3Family",
- "properties": {
- "limit": 0,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardNCSv3Family",
- "localizedValue": "Standard NCSv3 Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardLSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardLSv2Family",
- "properties": {
- "limit": 100,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardLSv2Family",
- "localizedValue": "Standard LSv2 Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardPBSFamily",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardPBSFamily",
- "properties": {
- "limit": 6,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardPBSFamily",
- "localizedValue": "Standard PBS Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardEIv3Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardEIv3Family",
- "properties": {
- "limit": 100,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardEIv3Family",
- "localizedValue": "Standard EIv3 Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardEISv3Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardEISv3Family",
- "properties": {
- "limit": 100,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardEISv3Family",
- "localizedValue": "Standard EISv3 Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardDCSFamily",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardDCSFamily",
- "properties": {
- "limit": 8,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardDCSFamily",
- "localizedValue": "Standard DCS Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardNVSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardNVSv2Family",
- "properties": {
- "limit": 0,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardNVSv2Family",
- "localizedValue": "Standard NVSv2 Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardMSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardMSv2Family",
- "properties": {
- "limit": 0,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": true,
- "name": {
- "value": "standardMSv2Family",
- "localizedValue": "Standard MSv2 Family vCPUs"
- }
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/availabilitySets",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "availabilitySets",
- "properties": {
- "limit": 0,
- "unit": "Count",
- "currentValue": 0,
- "isQuotaApplicable": false,
- "name": {
- "value": "availabilitySets",
- "localizedValue": "Availability Sets"
- }
- }
- }
- ],
- "nextLink": ""
- }
- }
- }
-}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getMachineLearningServicesUsages.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getMachineLearningServicesUsages.json
deleted file mode 100644
index 827ec295282a..000000000000
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getMachineLearningServicesUsages.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/eastus",
- "api-version": "2021-03-15"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardDv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardDv2Family",
- "properties": {
- "currentValue": 15,
- "limit": 20,
- "name": {
- "value": "standardDv2Family",
- "localizedValue": "Standard Dv2 Family vCPUs"
- },
- "resourceType": "dedicated"
- }
- },
- {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/eastus/providers/Microsoft.Quota/quotaLimits/totalLowPriorityCores",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "totalLowPriorityCores",
- "properties": {
- "currentValue": 49,
- "limit": 600,
- "name": {
- "value": "totalLowPriorityCores",
- "localizedValue": "Total Regional Low-priority vCPUs"
- },
- "resourceType": "lowPriority"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkOneSkuQuotaLimit.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkOneSkuQuotaLimit.json
new file mode 100644
index 000000000000..b5d0d9eecca3
--- /dev/null
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkOneSkuQuotaLimit.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus",
+ "resourceName": "MinPublicIpInterNetworkPrefixLength",
+ "api-version": "2021-03-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/MinPublicIpInterNetworkPrefixLength",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "MinPublicIpInterNetworkPrefixLength",
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "name": {
+ "value": "MinPublicIpInterNetworkPrefixLength",
+ "localizedValue": "Min Public Ip InterNetwork Prefix Length"
+ },
+ "unit": "Count",
+ "isQuotaApplicable": true,
+ "resourceType": "MinPublicIpInterNetworkPrefixLength"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkOneSkuUsages.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkOneSkuUsages.json
new file mode 100644
index 000000000000..9ad0cac2e833
--- /dev/null
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkOneSkuUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus",
+ "resourceName": "MinPublicIpInterNetworkPrefixLength",
+ "api-version": "2021-03-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/MinPublicIpInterNetworkPrefixLength",
+ "type": "Microsoft.Quota/usages",
+ "name": "MinPublicIpInterNetworkPrefixLength",
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "name": {
+ "value": "MinPublicIpInterNetworkPrefixLength",
+ "localizedValue": "Min Public Ip InterNetwork Prefix Length"
+ },
+ "unit": "Count",
+ "isQuotaApplicable": true,
+ "resourceType": "MinPublicIpInterNetworkPrefixLength"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkQuotaLimits.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkQuotaLimits.json
new file mode 100644
index 000000000000..bfa5fb9cfe6c
--- /dev/null
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkQuotaLimits.json
@@ -0,0 +1,699 @@
+{
+ "parameters": {
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus",
+ "api-version": "2021-03-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "VirtualNetworks",
+ "localizedValue": "Virtual Networks"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "VirtualNetworks"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "StaticPublicIPAddresses",
+ "localizedValue": "Static Public IP Addresses"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "StaticPublicIPAddresses"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "NetworkSecurityGroups",
+ "localizedValue": "Network Security Groups"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "NetworkSecurityGroups"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PublicIPAddresses",
+ "localizedValue": "Public IP Addresses - Basic"
+ },
+ "properties": {},
+ "isQuotaApplicable": true
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "PublicIPAddresses"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PublicIpPrefixes",
+ "localizedValue": "Public Ip Prefixes"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "PublicIpPrefixes"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "NatGateways",
+ "localizedValue": "Nat Gateways"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "NatGateways"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "NetworkInterfaces",
+ "localizedValue": "Network Interfaces"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "NetworkInterfaces"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PrivateEndpoints",
+ "localizedValue": "Private Endpoints"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "PrivateEndpoints"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PrivateEndpointRedirectMaps",
+ "localizedValue": "Private Endpoint Redirect Maps"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "PrivateEndpointRedirectMaps"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "LoadBalancers",
+ "localizedValue": "Load Balancers"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "LoadBalancers"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PrivateLinkServices",
+ "localizedValue": "Private Link Services"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "PrivateLinkServices"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "ApplicationGateways",
+ "localizedValue": "Application Gateways"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "ApplicationGateways"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "RouteTables",
+ "localizedValue": "Route Tables"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "RouteTables"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "RouteFilters",
+ "localizedValue": "Route Filters"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "RouteFilters"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "NetworkWatchers",
+ "localizedValue": "Network Watchers"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "NetworkWatchers"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PacketCaptures",
+ "localizedValue": "Packet Captures"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "PacketCaptures"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "ApplicationSecurityGroups",
+ "localizedValue": "Application Security Groups."
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "ApplicationSecurityGroups"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "DdosProtectionPlans",
+ "localizedValue": "DDoS Protection Plans."
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "DdosProtectionPlans"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "DdosCustomPolicies",
+ "localizedValue": "DDoS customized policies"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "DdosCustomPolicies"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "ServiceEndpointPolicies",
+ "localizedValue": "Service Endpoint Policies"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "ServiceEndpointPolicies"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "NetworkIntentPolicies",
+ "localizedValue": "Network Intent Policies"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "NetworkIntentPolicies"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "StandardSkuLoadBalancers",
+ "localizedValue": "Standard Sku Load Balancers"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "StandardSkuLoadBalancers"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "StandardSkuPublicIpAddresses",
+ "localizedValue": "Public IP Addresses - Standard"
+ },
+ "properties": {},
+ "isQuotaApplicable": true
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "StandardSkuPublicIpAddresses"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "DnsServersPerVirtualNetwork",
+ "localizedValue": "DNS servers per Virtual Network"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "DnsServersPerVirtualNetwork"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "CustomDnsServersPerP2SVpnGateway",
+ "localizedValue": "Custom DNS servers per P2SVpnGateway"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "CustomDnsServersPerP2SVpnGateway"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "SubnetsPerVirtualNetwork",
+ "localizedValue": "Subnets per Virtual Network"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "SubnetsPerVirtualNetwork"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "IPConfigurationsPerVirtualNetwork",
+ "localizedValue": "IP Configurations per Virtual Network"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "IPConfigurationsPerVirtualNetwork"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PeeringsPerVirtualNetwork",
+ "localizedValue": "Peerings per Virtual Network"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "PeeringsPerVirtualNetwork"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "SecurityRulesPerNetworkSecurityGroup",
+ "localizedValue": "Security rules per Network Security Group"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "SecurityRulesPerNetworkSecurityGroup"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "SecurityRulesPerNetworkIntentPolicy",
+ "localizedValue": "Security rules per Network Intent Policy"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "SecurityRulesPerNetworkIntentPolicy"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "RoutesPerNetworkIntentPolicy",
+ "localizedValue": "Routes per Network Intent Policy"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "RoutesPerNetworkIntentPolicy"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup",
+ "localizedValue": "Security rules addresses or ports per Network Security Group"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "InboundRulesPerLoadBalancer",
+ "localizedValue": "Inbound Rules per Load Balancer"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "InboundRulesPerLoadBalancer"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "FrontendIPConfigurationPerLoadBalancer",
+ "localizedValue": "Frontend IP Configurations per Load Balancer"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "FrontendIPConfigurationPerLoadBalancer"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "OutboundRulesPerLoadBalancer",
+ "localizedValue": "Outbound Rules per Load Balancer"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "OutboundRulesPerLoadBalancer"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "RoutesPerRouteTable",
+ "localizedValue": "Routes per Route Table"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "RoutesPerRouteTable"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "RoutesWithServiceTagPerRouteTable",
+ "localizedValue": "Routes with service tag per Route Table"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "RoutesWithServiceTagPerRouteTable"
+ },
+ {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "MinPublicIpInterNetworkPrefixLength",
+ "localizedValue": "Min Public Ip InterNetwork Prefix Length"
+ },
+ "properties": {},
+ "isQuotaApplicable": true,
+ "resourceType": "MinPublicIpInterNetworkPrefixLength"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/Quotas/",
+ "type": "Microsoft.Quota/Quotas",
+ "name": "MinPublicIpInterNetworkPrefixLength"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkUsages.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkUsages.json
new file mode 100644
index 000000000000..d96c10c13931
--- /dev/null
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getNetworkUsages.json
@@ -0,0 +1,372 @@
+{
+ "parameters": {
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus",
+ "api-version": "2021-03-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "VirtualNetworks",
+ "localizedValue": "Virtual Networks"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "VirtualNetworks"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "StaticPublicIPAddresses",
+ "localizedValue": "Static Public IP Addresses"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "StaticPublicIPAddresses"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "NetworkSecurityGroups",
+ "localizedValue": "Network Security Groups"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "NetworkSecurityGroups"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PublicIPAddresses",
+ "localizedValue": "Public IP Addresses - Basic"
+ },
+ "isQuotaApplicable": true,
+ "resourceType": "PublicIpAddresses",
+ "properties": {}
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "PublicIPAddresses"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PublicIpPrefixes",
+ "localizedValue": "Public Ip Prefixes"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "PublicIpPrefixes"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "NatGateways",
+ "localizedValue": "Nat Gateways"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "NatGateways"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "NetworkInterfaces",
+ "localizedValue": "Network Interfaces"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "NetworkInterfaces"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PrivateEndpoints",
+ "localizedValue": "Private Endpoints"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "PrivateEndpoints"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PrivateEndpointRedirectMaps",
+ "localizedValue": "Private Endpoint Redirect Maps"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "PrivateEndpointRedirectMaps"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "LoadBalancers",
+ "localizedValue": "Load Balancers"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "LoadBalancers"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PrivateLinkServices",
+ "localizedValue": "Private Link Services"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "PrivateLinkServices"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "ApplicationGateways",
+ "localizedValue": "Application Gateways"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "ApplicationGateways"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "RouteTables",
+ "localizedValue": "Route Tables"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "RouteTables"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "RouteFilters",
+ "localizedValue": "Route Filters"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "RouteFilters"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "NetworkWatchers",
+ "localizedValue": "Network Watchers"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "NetworkWatchers"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "PacketCaptures",
+ "localizedValue": "Packet Captures"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "PacketCaptures"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "ApplicationSecurityGroups",
+ "localizedValue": "Application Security Groups."
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "ApplicationSecurityGroups"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "StandardSkuLoadBalancers",
+ "localizedValue": "Standard Sku Load Balancers"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "StandardSkuLoadBalancers"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "StandardSkuPublicIpAddresses",
+ "localizedValue": "Public IP Addresses - Standard"
+ },
+ "isQuotaApplicable": true,
+ "resourceType": "PublicIpAddresses"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "StandardSkuPublicIpAddresses"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "DnsServersPerVirtualNetwork",
+ "localizedValue": "DNS servers per Virtual Network"
+ },
+ "properties": {},
+ "isQuotaApplicable": false
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "DnsServersPerVirtualNetwork"
+ },
+ {
+ "properties": {
+ "usages": {
+ "value": 10
+ },
+ "unit": "Count",
+ "name": {
+ "value": "MinPublicIpInterNetworkPrefixLength",
+ "localizedValue": "Min Public Ip InterNetwork Prefix Length"
+ },
+ "properties": {},
+ "isQuotaApplicable": true
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/",
+ "type": "Microsoft.Quota/usages",
+ "name": "MinPublicIpInterNetworkPrefixLength"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusById.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusById.json
index 036cc2f22b1e..6a7b6d9adefd 100644
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusById.json
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusById.json
@@ -2,13 +2,13 @@
"parameters": {
"scope": "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus",
"id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
- "api-version": "2021-03-15"
+ "api-version": "2021-03-15-preview"
},
"responses": {
"200": {
"body": {
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
- "type": "Microsoft.Quota/serviceLimitsRequests",
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Quota/quotaRequests",
"name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
"properties": {
"requestSubmitTime": "2019-08-19T19:23:17.904Z",
@@ -16,17 +16,11 @@
"provisioningState": "Succeeded",
"value": [
{
- "limit": 200,
- "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
- "name": {
- "value": "standardHCSFamily",
- "localizedValue": "Standard HCS Family vCPUs"
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 50
},
- "message": "Request completed",
- "provisioningState": "Succeeded"
- },
- {
- "limit": 50,
+ "unit": "Count",
"name": {
"value": "standardNCPromoFamily",
"localizedValue": "Standard NC Promo Family vCPUs"
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusFailed.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusFailed.json
index 93cda8f02d0e..8fcae8d59825 100644
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusFailed.json
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusFailed.json
@@ -2,37 +2,34 @@
"parameters": {
"scope": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus",
"id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
- "api-version": "2021-03-15"
+ "api-version": "2021-03-15-preview"
},
"responses": {
"200": {
"body": {
- "id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
- "type": "Microsoft.Quota/serviceLimitsRequests",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Quota/quotaRequests",
"name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
"properties": {
"requestSubmitTime": "2019-08-19T19:23:17.904Z",
"message": "Request failed, please contact support.",
"provisioningState": "Failed",
+ "error": {
+ "code": "ContactSupport",
+ "message": "Request failed, please contact support."
+ },
"value": [
{
- "limit": 200,
- "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
- "name": {
- "value": "standardHCSFamily",
- "localizedValue": "Standard HCS Family vCPUs"
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 50
},
- "message": "Request completed",
- "provisioningState": "Succeeded"
- },
- {
- "limit": 50,
"subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
"name": {
"value": "standardNCPromoFamily",
"localizedValue": "Standard NC Promo Family vCPUs"
},
- "message": "RRequest failed, please contact support.",
+ "message": "Request failed, please contact support.",
"provisioningState": "Failed"
}
]
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusInProgress.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusInProgress.json
index 6feb49fab18e..e58063760cc6 100644
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusInProgress.json
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestStatusInProgress.json
@@ -2,13 +2,13 @@
"parameters": {
"scope": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus",
"id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
- "api-version": "2021-03-15"
+ "api-version": "2021-03-15-preview"
},
"responses": {
"200": {
"body": {
- "id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
- "type": "Microsoft.Quota/serviceLimitsRequests",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Quota/quotaRequests",
"name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
"properties": {
"requestSubmitTime": "2019-08-19T19:23:17.904Z",
@@ -16,7 +16,10 @@
"provisioningState": "InProgress",
"value": [
{
- "limit": 200,
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 50
+ },
"subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
"name": {
"value": "standardHCSFamily",
@@ -26,7 +29,10 @@
"provisioningState": "Succeeded"
},
{
- "limit": 50,
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 50
+ },
"subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
"name": {
"value": "standardNCPromoFamily",
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestsHistory.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestsHistory.json
index 340983dfdd0b..4ffdc4bb0f32 100644
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestsHistory.json
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/getQuotaRequestsHistory.json
@@ -1,16 +1,16 @@
{
"parameters": {
"scope": "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus",
- "api-version": "2021-03-15"
+ "api-version": "2021-03-15-preview"
},
"responses": {
"200": {
"body": {
- "nextLink": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/microsoft.Quota/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests?api-version=2021-03-15&$top=3",
+ "nextLink": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/microsoft.Quota/resourceProviders/Microsoft.Compute/locations/eastus/quotaRequests?api-version=2021-03-15&$top=3",
"value": [
{
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
- "type": "Microsoft.Quota/serviceLimitsRequests",
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Quota/quotaRequests",
"name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
"properties": {
"requestSubmitTime": "2019-08-19T19:23:17.904Z",
@@ -18,17 +18,10 @@
"provisioningState": "Success",
"value": [
{
- "limit": 200,
- "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
- "name": {
- "value": "standardHCSFamily",
- "localizedValue": "Standard HCS Family vCPUs"
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 50
},
- "message": "Request completed",
- "provisioningState": "Success"
- },
- {
- "limit": 50,
"subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
"name": {
"value": "standardNCPromoFamily",
@@ -41,8 +34,8 @@
}
},
{
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/serviceLimitsRequests/7E73A85C-83BB-4DE4-903F-076F1A2B91D6",
- "type": "Microsoft.Quota/serviceLimitsRequests",
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaRequests/7E73A85C-83BB-4DE4-903F-076F1A2B91D6",
+ "type": "Microsoft.Quota/quotaRequests",
"name": "7E73A85C-83BB-4DE4-903F-076F1A2B91D6",
"properties": {
"requestSubmitTime": "2019-08-18T19:23:17.904Z",
@@ -50,17 +43,10 @@
"provisioningState": "Succeeded",
"value": [
{
- "limit": 100,
- "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
- "name": {
- "value": "standardNVSv3Family",
- "localizedValue": "Standard NVSv3 Family vCPUs"
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 150
},
- "message": "Request completed",
- "provisioningState": "Success"
- },
- {
- "limit": 150,
"subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
"name": {
"value": "standardNVPromoFamily",
@@ -73,33 +59,30 @@
}
},
{
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/serviceLimitsRequests/5E460077-AB53-4802-8997-A6940E0B7649",
- "type": "Microsoft.Quota/serviceLimitsRequests",
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaRequests/5E460077-AB53-4802-8997-A6940E0B7649",
+ "type": "Microsoft.Quota/quotaRequests",
"name": "5E460077-AB53-4802-8997-A6940E0B7649",
"properties": {
"requestSubmitTime": "2019-08-17T19:23:17.904Z",
- "message": "Request completed",
- "provisioningState": "Succeeded",
+ "message": "The resource is currently unavailable in the location for the offer type.",
+ "provisioningState": "Failed",
+ "error": {
+ "code": "ResourceNotAvailableForOffer",
+ "message": "The resource is currently unavailable in the location for the offer type."
+ },
"value": [
{
- "limit": 70,
- "subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
- "name": {
- "value": "standardNCPromoFamily",
- "localizedValue": "Standard NC Promo Family vCPUs"
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 52
},
- "message": "Request completed",
- "provisioningState": "Succeeded"
- },
- {
- "limit": 52,
"subRequestId": "AD07450A-DE86-4FD3-859B-107BEF218C4C",
"name": {
"value": "standardHBSFamily",
"localizedValue": "Standard HBS Family vCPUs"
},
- "message": "Request completed",
- "provisioningState": "Succeeded"
+ "message": "Request failed, please contact support.",
+ "provisioningState": "Failed"
}
]
}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/metadata/getQuotaRPMetadata.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/metadata/getQuotaRPMetadata.json
deleted file mode 100644
index dbe102fdf738..000000000000
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/metadata/getQuotaRPMetadata.json
+++ /dev/null
@@ -1,137 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-03-15"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "resourceProviderName": "Microsoft.Compute",
- "properties": {
- "value": [
- {
- "resourceType": "virtualMachines",
- "resourceQuery": {
- "resourceQueryType": "",
- "resourceQueryMethod": "",
- "resourceQueryUri": "",
- "resourceQueryPostTemplate": ""
- },
- "resourceUsagesQuery": {
- "resourceQueryType": "RestAPI",
- "resourceQueryMethod": "GET",
- "resourceQueryUri": "subscriptions/{{subscriptionId}}/providers/Microsoft.Compute/locations/{{location}}/usages?api-version=2020-12-01",
- "resourceQueryPostTemplate": ""
- },
- "dimensions": [
- {
- "name": "subscriptionId",
- "displayName": "SubscriptionId"
- },
- {
- "name": "location",
- "displayName": "Location"
- }
- ]
- }
- ]
- }
- },
- {
- "resourceProviderName": "Microsoft.Batch",
- "properties": {
- "value": [
- {
- "resourceType": "batchAccounts/pool",
- "resourceQuery": {
- "resourceQueryType": "ARG",
- "resourceQueryMethod": "POST",
- "resourceQueryUri": "providers/Microsoft.ResourceGraph/resources?api-version=2019-04-01",
- "resourceQueryPostTemplate": "{ \"subscriptions\": [ {{subscriptipnId}} ], \"query\": \"where type contains 'batchAccounts' and isnotempty(properties.batchAccountName)\" }"
- },
- "resourceUsagesQuery": {
- "resourceQueryType": "RestAPI",
- "resourceQueryMethod": "GET",
- "resourceQueryUri": "subscriptions/{{subscriptionId}}/providers/Microsoft.Batch/locations/{{location}}/batchAccounts/{{batchAccountName}}/usages?api-version=2020-12-01",
- "resourceQueryPostTemplate": ""
- },
- "dimensions": [
- {
- "name": "subscriptionId",
- "displayName": "SubscriptionId"
- },
- {
- "name": "location",
- "displayName": "Location"
- },
- {
- "name": "batchAccounts",
- "displayName": "BatchAccount Name"
- }
- ]
- },
- {
- "resourceType": "batchAccounts",
- "resourceQuery": {
- "resourceQueryType": "ARG",
- "resourceQueryMethod": "POST",
- "resourceQueryUri": "providers/Microsoft.ResourceGraph/resources?api-version=2019-04-01",
- "resourceQueryPostTemplate": "{ \"subscriptions\": [ {{subscriptipnId}} ], \"query\": \"where type contains 'batchAccounts'\" }"
- },
- "resourceUsagesQuery": {
- "resourceQueryType": "RestAPI",
- "resourceQueryMethod": "GET",
- "resourceQueryUri": "subscriptions/{{subscriptionId}}/providers/Microsoft.Batch/locations/{{location}}/usages?api-version=2020-12-01",
- "resourceQueryPostTemplate": ""
- },
- "dimensions": [
- {
- "name": "subscriptionId",
- "displayName": "SubscriptionId"
- },
- {
- "name": "location",
- "displayName": "Location"
- }
- ]
- }
- ]
- }
- },
- {
- "resourceProviderName": "Microsoft.Network",
- "properties": {
- "value": [
- {
- "resourceType": "PublicIpAddresses",
- "resourceQuery": {
- "resourceQueryType": "ARG",
- "resourceQueryMethod": "POST",
- "resourceQueryUri": "providers/Microsoft.ResourceGraph/resources?api-version=2019-04-01",
- "resourceQueryPostTemplate": "{ \"subscriptions\": [ {{subscriptipnId}} ], \"query\": \"where type contains 'publicIPAddresses' and isnotempty(properties.ipAddress)\" }"
- },
- "resourceUsagesQuery": {
- "resourceQueryType": "RestAPI",
- "resourceQueryMethod": "GET",
- "resourceQueryUri": "subscriptions/{{subscriptionId}}/providers/Microsoft.Network/locations/{{location}}/usages?api-version=2020-12-01"
- },
- "dimensions": [
- {
- "name": "subscriptions",
- "displayName": "Subscription"
- },
- {
- "name": "locations",
- "displayName": "Location"
- }
- ]
- }
- ]
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/patchComputeQuotaRequest.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/patchComputeQuotaRequest.json
deleted file mode 100644
index eb1bbeeab119..000000000000
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/patchComputeQuotaRequest.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus",
- "resourceName": "standardFSv2Family",
- "api-version": "2021-03-15",
- "createQuotaRequest": {
- "properties": {
- "limit": 200,
- "name": {
- "value": "standardFSv2Family"
- }
- }
- }
- },
- "responses": {
- "202": {
- "headers": {
- "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15",
- "Retry-After": "30",
- "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/operationsStatus/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15"
- },
- "body": {
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardFSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardFSv2Family",
- "properties": {
- "limit": 200,
- "name": {
- "value": "standardFSv2Family"
- }
- }
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardFSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardFSv2Family",
- "properties": {
- "limit": 200,
- "name": {
- "value": "standardFSv2Family",
- "localizedValue": "Standard FSv2 Family vCPUs"
- }
- }
- }
- }
- }
-}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/patchNetworkOneSkuQuotaRequest.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/patchNetworkOneSkuQuotaRequest.json
new file mode 100644
index 000000000000..de67a65dcbc0
--- /dev/null
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/patchNetworkOneSkuQuotaRequest.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "scope": "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus",
+ "resourceName": "MinPublicIpInterNetworkPrefixLength",
+ "api-version": "2021-03-15-preview",
+ "createQuotaRequest": {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "name": {
+ "value": "MinPublicIpInterNetworkPrefixLength"
+ },
+ "resourceType": "MinPublicIpInterNetworkPrefixLength"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": "30",
+ "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15-preview"
+ }
+ },
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15-preview"
+ },
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Quota/quotas",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "name": {
+ "value": "MinPublicIpInterNetworkPrefixLength"
+ },
+ "resourceType": "MinPublicIpInterNetworkPrefixLength"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putComputeOneSkuQuotaRequest.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putComputeOneSkuQuotaRequest.json
deleted file mode 100644
index 03242d60c745..000000000000
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putComputeOneSkuQuotaRequest.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus",
- "resourceName": "standardFSv2Family",
- "api-version": "2021-03-15",
- "createQuotaRequest": {
- "properties": {
- "limit": 200,
- "name": {
- "value": "standardFSv2Family"
- }
- }
- }
- },
- "responses": {
- "202": {
- "headers": {
- "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15",
- "Retry-After": "30",
- "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/operationsStatus/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15"
- },
- "body": {
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardFSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardFSv2Family",
- "properties": {
- "limit": 200,
- "name": {
- "value": "standardFSv2Family"
- }
- }
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardFSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardFSv2Family",
- "properties": {
- "limit": 200,
- "name": {
- "value": "standardFSv2Family"
- }
- }
- }
- }
- }
-}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putMachineLearningServicesQuotaRequestDedicated.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putMachineLearningServicesQuotaRequestDedicated.json
deleted file mode 100644
index 03242d60c745..000000000000
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putMachineLearningServicesQuotaRequestDedicated.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus",
- "resourceName": "standardFSv2Family",
- "api-version": "2021-03-15",
- "createQuotaRequest": {
- "properties": {
- "limit": 200,
- "name": {
- "value": "standardFSv2Family"
- }
- }
- }
- },
- "responses": {
- "202": {
- "headers": {
- "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15",
- "Retry-After": "30",
- "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/operationsStatus/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15"
- },
- "body": {
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardFSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardFSv2Family",
- "properties": {
- "limit": 200,
- "name": {
- "value": "standardFSv2Family"
- }
- }
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimits/standardFSv2Family",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "standardFSv2Family",
- "properties": {
- "limit": 200,
- "name": {
- "value": "standardFSv2Family"
- }
- }
- }
- }
- }
-}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putMachineLearningServicesQuotaRequestLowPriority.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putMachineLearningServicesQuotaRequestLowPriority.json
deleted file mode 100644
index ec36e6e591c4..000000000000
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putMachineLearningServicesQuotaRequestLowPriority.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.MachineLearningServices/locations/eastus",
- "resourceName": "TotalLowPriorityCores",
- "api-version": "2021-03-15",
- "createQuotaRequest": {
- "properties": {
- "limit": 200,
- "name": {
- "value": "TotalLowPriorityCores"
- },
- "resourceType": "lowPriority"
- }
- }
- },
- "responses": {
- "202": {
- "body": {
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.MachineLearningServices/locations/eastus/providers/Microsoft.Quota/quotaLimits/TotalLowPriorityCores",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "TotalLowPriorityCores",
- "properties": {
- "name": {
- "value": "TotalLowPriorityCores"
- },
- "resourceType": "lowPriority"
- }
- }
- },
- "200": {
- "headers": {
- "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/quotaLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15",
- "Retry-After": "30",
- "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus/providers/Microsoft.Quota/operationsStatus/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15"
- },
- "body": {
- "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.MachineLearningServices/locations/eastus/providers/Microsoft.Quota/quotaLimits/TotalLowPriorityCores",
- "type": "Microsoft.Quota/quotaLimits",
- "name": "TotalLowPriorityCores",
- "properties": {
- "name": {
- "value": "TotalLowPriorityCores"
- },
- "resourceType": "lowPriority"
- }
- }
- }
- }
-}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putNetworkOneSkuQuotaRequest.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putNetworkOneSkuQuotaRequest.json
new file mode 100644
index 000000000000..de67a65dcbc0
--- /dev/null
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putNetworkOneSkuQuotaRequest.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "scope": "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus",
+ "resourceName": "MinPublicIpInterNetworkPrefixLength",
+ "api-version": "2021-03-15-preview",
+ "createQuotaRequest": {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "name": {
+ "value": "MinPublicIpInterNetworkPrefixLength"
+ },
+ "resourceType": "MinPublicIpInterNetworkPrefixLength"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": "30",
+ "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15-preview"
+ }
+ },
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15-preview"
+ },
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Quota/quotas",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "name": {
+ "value": "MinPublicIpInterNetworkPrefixLength"
+ },
+ "resourceType": "MinPublicIpInterNetworkPrefixLength"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putNetworkOneSkuQuotaRequestStandardSkuPublicIpAddresses.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putNetworkOneSkuQuotaRequestStandardSkuPublicIpAddresses.json
new file mode 100644
index 000000000000..31b960611ce5
--- /dev/null
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/examples/putNetworkOneSkuQuotaRequestStandardSkuPublicIpAddresses.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "scope": "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus",
+ "resourceName": "StandardSkuPublicIpAddresses",
+ "api-version": "2021-03-15-preview",
+ "createQuotaRequest": {
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "name": {
+ "value": "StandardSkuPublicIpAddresses"
+ },
+ "resourceType": "PublicIpAddresses"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": "30",
+ "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15-preview"
+ }
+ },
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequest/2B5C8515-37D8-4B6A-879B-CD641A2CF605?api-version=2021-03-15-preview"
+ },
+ "body": {
+ "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "type": "Microsoft.Quota/quotas",
+ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
+ "properties": {
+ "limit": {
+ "limitObjectType": "LimitValue",
+ "value": 10
+ },
+ "name": {
+ "value": "StandardSkuPublicIpAddresses"
+ },
+ "resourceType": "PublicIpAddresses"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/quota.json b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/quota.json
index d276a378ae11..f2c1233112d8 100644
--- a/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/quota.json
+++ b/specification/quota/resource-manager/Microsoft.Quota/stable/2021-03-15/quota.json
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
- "version": "2021-03-15",
+ "version": "2021-03-15-preview",
"title": "Azure Quota Extension API",
"description": "Microsoft Azure Quota Resource Provider"
},
@@ -27,23 +27,125 @@
"flow": "implicit",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"scopes": {
- "user_impersonation": "impersonate your user account"
+ "user_impersonation": "Impersonate your user account."
},
"type": "oauth2",
"description": "Azure Active Directory OAuth 2.0 authorization"
}
},
"paths": {
- "/{scope}/providers/Microsoft.Quota/quotaLimits/{resourceName}": {
+ "/{scope}/providers/Microsoft.Quota/usages/{resourceName}": {
+ "get": {
+ "tags": [
+ "UsagesInformation"
+ ],
+ "description": "Get the current usage of a resource.",
+ "operationId": "Usages_Get",
+ "x-ms-examples": {
+ "Quotas_UsagesRequest_ForNetwork": {
+ "$ref": "./examples/getNetworkOneSkuUsages.json"
+ },
+ "Quotas_UsagesRequest_ForCompute": {
+ "$ref": "./examples/getComputeOneSkuUsages.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceNameInParameters"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The usage information will be returned in the response.",
+ "schema": {
+ "$ref": "#/definitions/CurrentUsagesBase"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Quota/usages": {
+ "get": {
+ "tags": [
+ "UsagesInformation"
+ ],
+ "description": "Get a list of current usage for all resources for the scope specified.",
+ "operationId": "Usages_List",
+ "x-ms-examples": {
+ "Quotas_listUsagesForNetwork": {
+ "$ref": "./examples/getNetworkUsages.json"
+ },
+ "Quotas_listUsagesForCompute": {
+ "$ref": "./examples/getComputeUsages.json"
+ },
+ "Quotas_listUsagesMachineLearningServices": {
+ "$ref": "./examples/getMachineLearningServicesUsages.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Usage information will be returned in the response with pagination.",
+ "schema": {
+ "$ref": "#/definitions/UsagesLimits"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. It should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Quota/quotas/{resourceName}": {
"get": {
"tags": [
"QuotaInformation"
],
- "description": "Gets the quota limit and current quota usage of a resource. The response can be used to determine the remaining quota and calculate a new quota limit that can be submitted with a PUT request.",
+ "description": "Get the quota limit of a resource. The response can be used to determine the remaining quota to calculate a new quota limit that can be submitted with a PUT request.",
"operationId": "Quota_Get",
"x-ms-examples": {
- "Quotas_Request_ForCompute": {
- "$ref": "./examples/getComputeOneSkuUsages.json"
+ "Quotas_UsagesRequest_ForNetwork": {
+ "$ref": "./examples/getNetworkOneSkuQuotaLimit.json"
+ },
+ "Quotas_Get_Request_ForCompute": {
+ "$ref": "./examples/getComputeOneSkuQuotaLimit.json"
}
},
"parameters": [
@@ -82,17 +184,20 @@
"tags": [
"QuotaInformation"
],
- "description": "Create or update the quota limit for the specified resource to the requested value. To update the quota, follow these steps:\n1. Use the GET operation to determine how much quota remains for the specific resource and to calculate the new quota limit. These steps are detailed in [this example](https://techcommunity.microsoft.com/t5/azure-governance-and-management/using-the-new-quota-rest-api/ba-p/2183670).\n2. Use this PUT operation to update the quota limit.",
+ "description": "Create or update the quota limit for the specified resource with the requested value. To update the quota, follow these steps:\n1. Use the GET operation for quotas and usages to determine how much quota remains for the specific resource and to calculate the new quota limit. These steps are detailed in [this example](https://techcommunity.microsoft.com/t5/azure-governance-and-management/using-the-new-quota-rest-api/ba-p/2183670).\n2. Use this PUT operation to update the quota limit. Please check the URI in location header for the detailed status of the request.",
"operationId": "Quota_CreateOrUpdate",
"x-ms-examples": {
- "Quotas_Request_ForCompute": {
- "$ref": "./examples/putComputeOneSkuQuotaRequest.json"
+ "Quotas_PutRequest_ForNetwork": {
+ "$ref": "./examples/putNetworkOneSkuQuotaRequest.json"
},
- "Quotas_Request_ForMachineLearningServices_DedicatedResource": {
- "$ref": "./examples/putMachineLearningServicesQuotaRequestDedicated.json"
+ "Quotas_Put_Request_ForCompute": {
+ "$ref": "./examples/putComputeOneSkuQuotaRequest.json"
},
"Quotas_Request_ForMachineLearningServices_LowPriorityResource": {
"$ref": "./examples/putMachineLearningServicesQuotaRequestLowPriority.json"
+ },
+ "Quotas_PutRequest_ForNetwork_StandardSkuPublicIpAddressesResource": {
+ "$ref": "./examples/putNetworkOneSkuQuotaRequestStandardSkuPublicIpAddresses.json"
}
},
"x-ms-long-running-operation": true,
@@ -112,7 +217,7 @@
{
"name": "createQuotaRequest",
"in": "body",
- "description": "Quota requests payload.",
+ "description": "Quota request payload.",
"required": true,
"schema": {
"$ref": "#/definitions/CurrentQuotaLimitBase"
@@ -127,10 +232,7 @@
}
},
"202": {
- "description": "The request is accepted and is being processed. To check the status for this request, use the value for the quota request ID **id** obtained in the response of a [Quota Request Status](https://docs.microsoft.com/en-us/rest/api/reserved-vm-instances/quotarequeststatus/get) GET operation.",
- "schema": {
- "$ref": "#/definitions/CurrentQuotaLimitBase"
- }
+ "description": "The request is accepted and is being processed. To check the status for this request, use the value for the quota request ID **id** obtained in the response of a [Quota Request Status](https://docs.microsoft.com/en-us/rest/api/reserved-vm-instances/quotarequeststatus/get) GET operation."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -144,9 +246,12 @@
"tags": [
"QuotaInformation"
],
- "description": "Update the quota limit for a specific resource to the specified value:\n1. Use the GET operation to determine how much quota remains for the specific resource and to calculate the new quota limit. These steps are detailed in [this example](https://techcommunity.microsoft.com/t5/azure-governance-and-management/using-the-new-quota-rest-api/ba-p/2183670).\n2. Use this PUT operation to update the quota limit.",
+ "description": "Update the quota limit for a specific resource to the specified value:\n1. Use the Usages-GET and Quota-GET operations to determine the remaining quota for the specific resource and to calculate the new quota limit. These steps are detailed in [this example](https://techcommunity.microsoft.com/t5/azure-governance-and-management/using-the-new-quota-rest-api/ba-p/2183670).\n2. Use this PUT operation to update the quota limit. Please check the URI in location header for the detailed status of the request.",
"operationId": "Quota_Update",
"x-ms-examples": {
+ "Quotas_Request_PatchForNetwork": {
+ "$ref": "./examples/patchNetworkOneSkuQuotaRequest.json"
+ },
"Quotas_Request_PatchForCompute": {
"$ref": "./examples/patchComputeQuotaRequest.json"
}
@@ -183,10 +288,7 @@
}
},
"202": {
- "description": "The request is accepted and is being processed. To check the status for this request, use the value for the quota request ID **id** in a [Quota Request Status](https://docs.microsoft.com/en-us/rest/api/reserved-vm-instances/quotarequeststatus/get) GET operation.",
- "schema": {
- "$ref": "#/definitions/CurrentQuotaLimitBase"
- }
+ "description": "The request is accepted and is being processed. To check the status for this request, use the value for the quota request ID **id** in a [Quota Request Status](https://docs.microsoft.com/en-us/rest/api/reserved-vm-instances/quotarequeststatus/get) GET operation."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -197,19 +299,22 @@
}
}
},
- "/{scope}/providers/Microsoft.Quota/quotaLimits": {
+ "/{scope}/providers/Microsoft.Quota/quotas": {
"get": {
"tags": [
"QuotaInformation"
],
- "description": "Get a list of current quota limits and usages of all resources. The response from this GET operation can be leveraged to submit requests to update a quota.",
+ "description": "Get a list of current quota limits of all resources for the specified scope. The response from this GET operation can be leveraged to submit requests to update a quota.",
"operationId": "Quota_List",
"x-ms-examples": {
- "Quotas_listUsagesForCompute": {
- "$ref": "./examples/getComputeUsages.json"
+ "Quotas_listQuotaLimitsForNetwork": {
+ "$ref": "./examples/getNetworkQuotaLimits.json"
},
- "Quotas_listUsagesMachineLearningServices": {
- "$ref": "./examples/getMachineLearningServicesUsages.json"
+ "Quotas_listQuotaLimitsForCompute": {
+ "$ref": "./examples/getComputeQuotaLimits.json"
+ },
+ "Quotas_listQuotaLimitsMachineLearningServices": {
+ "$ref": "./examples/getMachineLearningServicesQuotaLimits.json"
}
},
"parameters": [
@@ -245,7 +350,7 @@
}
}
},
- "/{scope}/providers/Microsoft.Quota/quotaLimitsRequests/{id}": {
+ "/{scope}/providers/Microsoft.Quota/quotaRequests/{id}": {
"get": {
"tags": [
"QuotaRequests"
@@ -261,7 +366,7 @@
"$ref": "./examples/getQuotaRequestStatusFailed.json"
}
},
- "description": "Gets the quota request details and status by quota request ID for the resources of the resource provider at a specific location. The quota request ID **id** is returned in the response of the PUT operation.",
+ "description": "Get the quota request details and status by quota request ID for the resources of the resource provider at a specific location. The quota request ID **id** is returned in the response of the PUT operation.",
"operationId": "QuotaRequestStatus_Get",
"parameters": [
{
@@ -290,7 +395,7 @@
}
}
},
- "/{scope}/providers/Microsoft.Quota/quotaLimitsRequests": {
+ "/{scope}/providers/Microsoft.Quota/quotaRequests": {
"get": {
"tags": [
"QuotaRequests"
@@ -300,7 +405,7 @@
"$ref": "./examples/getQuotaRequestsHistory.json"
}
},
- "description": "For the specified location and resource provider, gets the current quota requests under the subscription for a one year period ending at the time is made. Use the **oData** filter can be used to select quota requests.",
+ "description": "For the specified scope, get the current quota requests for a one year period ending at the time is made. Use the **oData** filter to select quota requests.",
"operationId": "QuotaRequestStatus_List",
"parameters": [
{
@@ -342,43 +447,10 @@
}
}
},
- "/providers/Microsoft.Quota/quotaLimitProviders": {
- "get": {
- "tags": [
- "QuotaMetadata"
- ],
- "description": "Gets the list of current resource providers supported by the Microsoft.Quota resource provider.\r\nFor each resource provider, the resource templates the resource provider supports are be provided. \r\nFor each resource template, the resource dimensions are listed. The resource dimensions are the name-value pairs in the resource URI.\r\nExample:Â Microsoft.Compute Resource Provider\r\nThe URI template is '/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{locationId}/quotaBucket'. The actual dimensions vary depending on the resource provider.\r\nThe resource dimensions are {subscriptions},{locations},{quotaBucket}.",
- "operationId": "QuotaResourceProviders_List",
- "x-ms-examples": {
- "Quotas_listMetadataForRPs": {
- "$ref": "./examples/metadata/getQuotaRPMetadata.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Quota limits type information.",
- "schema": {
- "$ref": "#/definitions/resourceProvidersList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ExceptionResponse"
- }
- }
- }
- }
- },
"/providers/Microsoft.Quota/operations": {
"get": {
"summary": "GET operations.",
- "description": "List all GET operations.",
+ "description": "List all the operations supported by the Microsoft.Quota resource provider.",
"operationId": "Operation_List",
"x-ms-examples": {
"GetOperations": {
@@ -394,11 +466,11 @@
}
],
"tags": [
- "Operation"
+ "Operations"
],
"responses": {
"200": {
- "description": "List all GET operations.",
+ "description": "List all the operations.",
"schema": {
"$ref": "#/definitions/OperationList"
}
@@ -469,7 +541,7 @@
"description": "Resource properties.",
"properties": {
"id": {
- "description": "Resource ID.",
+ "description": "Resource ID",
"type": "string",
"readOnly": true
},
@@ -481,7 +553,87 @@
"type": {
"type": "string",
"readOnly": true,
- "description": "Resource type. \"Microsoft.Quota/quotaLimits\""
+ "description": "Resource type. Example: \"Microsoft.Quota/quotas\""
+ }
+ }
+ },
+ "CurrentUsagesBase": {
+ "type": "object",
+ "description": "Resource usage.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The resource name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Usage properties for the specified resource.",
+ "$ref": "#/definitions/UsagesProperties"
+ }
+ }
+ },
+ "UsagesProperties": {
+ "description": "Usage properties for the specified resource.",
+ "type": "object",
+ "properties": {
+ "usages": {
+ "description": "The quota limit properties for this resource.",
+ "$ref": "#/definitions/UsagesObject"
+ },
+ "unit": {
+ "description": " The units for the quota usage, such as Count and Bytes. When requesting quota, use the **unit** value returned in the GET response in the request body of your PUT operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name provided by the resource provider. Use this property name when requesting quota.",
+ "$ref": "#/definitions/ResourceName"
+ },
+ "resourceType": {
+ "description": "The name of the resource type.",
+ "$ref": "#/definitions/ResourceTypesName"
+ },
+ "quotaPeriod": {
+ "description": "The time period for the summary of the quota usage values. For example:\r\n*P1D (per one day)\n*PT1M (per one minute)\n*PT1S (per one second).\r\nThis parameter is optional because it is not relevant for all resources such as compute.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isQuotaApplicable": {
+ "description": "States if quota can be requested for this resource.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Additional properties for the specific resource provider.",
+ "type": "object"
+ }
+ }
+ },
+ "UsagesLimits": {
+ "type": "object",
+ "description": "Quota limits.",
+ "properties": {
+ "value": {
+ "description": "List of quota limits.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CurrentUsagesBase"
+ }
+ },
+ "nextLink": {
+ "description": "The URI used to fetch the next page of quota limits. When there are no more pages, this is null.",
+ "type": "string"
}
}
},
@@ -491,7 +643,7 @@
"x-ms-azure-resource": true,
"properties": {
"id": {
- "description": "The resource Id.",
+ "description": "The resource ID.",
"type": "string",
"readOnly": true
},
@@ -506,7 +658,7 @@
"readOnly": true
},
"properties": {
- "description": "Quota properties for the specified resource.",
+ "description": "Quota properties for the specified resource, based on the API called, Quotas or Usages.",
"$ref": "#/definitions/QuotaProperties"
}
}
@@ -516,19 +668,11 @@
"type": "object",
"properties": {
"limit": {
- "description": "Quota limit.",
- "type": "integer",
- "format": "int32",
- "readOnly": false
- },
- "currentValue": {
- "description": "Usage information for the current resource.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
+ "description": "Resource quota limit properties.",
+ "$ref": "#/definitions/LimitJsonObject"
},
"unit": {
- "description": " The quota limit units, such as Count and Bytes. When requesting quota, use the **unit** value returned in the GET response in the request body of your PUT operation.",
+ "description": " The quota units, such as Count and Bytes. When requesting quota, use the **unit** value returned in the GET response in the request body of your PUT operation.",
"type": "string",
"readOnly": true
},
@@ -584,7 +728,7 @@
}
},
"nextLink": {
- "description": "The URI used to fetch the next page of quota limits. When there are no more pages, this is null.",
+ "description": "The URI used to fetch the next page of quota limits. When there are no more pages, this string is null.",
"type": "string"
}
}
@@ -623,18 +767,12 @@
"type": "object",
"description": "Request property.",
"properties": {
- "limit": {
- "description": "Resource quota limit.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- },
"name": {
"description": "Resource name.",
"$ref": "#/definitions/ResourceName"
},
"resourceType": {
- "description": "Resource type for which the quota check was made.",
+ "description": "Resource type for which the quota properties were requested.",
"type": "string",
"readOnly": true
},
@@ -655,9 +793,111 @@
"description": "Quota request ID.",
"type": "string",
"readOnly": true
+ },
+ "limit": {
+ "description": "Resource quota limit properties.",
+ "$ref": "#/definitions/LimitJsonObject"
+ }
+ }
+ },
+ "LimitObjectTypes": {
+ "description": "The limit object type.",
+ "enum": [
+ "LimitValue"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "limitType",
+ "modelAsString": true
+ }
+ },
+ "LimitTypes": {
+ "description": "The quota or usages limit types.",
+ "enum": [
+ "Independent",
+ "Shared"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "quotaLimitTypes",
+ "modelAsString": true
+ }
+ },
+ "LimitJsonObject": {
+ "description": "LimitJson abstract class.",
+ "required": [
+ "limitObjectType"
+ ],
+ "type": "object",
+ "properties": {
+ "limitObjectType": {
+ "$ref": "#/definitions/LimitObjectTypes"
}
+ },
+ "discriminator": "limitObjectType"
+ },
+ "UsagesTypes": {
+ "description": "The quota or usages limit types.",
+ "enum": [
+ "Individual",
+ "Combined"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "usagesTypes",
+ "modelAsString": true
}
},
+ "UsagesObject": {
+ "description": "The resource usages value.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The usages value."
+ },
+ "usagesType": {
+ "$ref": "#/definitions/UsagesTypes"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "LimitObject": {
+ "description": "The resource quota limit value.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The quota/limit value"
+ },
+ "limitObjectType": {
+ "$ref": "#/definitions/LimitObjectTypes"
+ },
+ "limitType": {
+ "$ref": "#/definitions/LimitTypes"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "LimitValue": {
+ "x-ms-discriminator-value": "LimitValue",
+ "type": "object",
+ "description": "The resource quota limit.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LimitJsonObject"
+ },
+ {
+ "$ref": "#/definitions/LimitObject"
+ }
+ ]
+ },
"QuotaRequestOneResourceSubmitResponse": {
"description": "Quota request response.",
"type": "object",
@@ -701,14 +941,14 @@
"readOnly": true
},
"properties": {
- "description": "The quota request details.",
+ "description": "Quota request details.",
"type": "object",
"$ref": "#/definitions/QuotaRequestProperties"
},
"type": {
"type": "string",
"readOnly": true,
- "description": "Resource type. \"Microsoft.Quota/quotaLimits\""
+ "description": "Resource type. \"Microsoft.Quota/quotas\"."
}
}
},
@@ -753,16 +993,8 @@
"readOnly": true
},
"limit": {
- "description": "Quota limit.",
- "type": "integer",
- "format": "int32",
- "readOnly": false
- },
- "currentValue": {
- "description": "Usage information for the current resource.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
+ "description": "Resource quota limit properties.",
+ "$ref": "#/definitions/LimitObject"
},
"unit": {
"description": " The quota limit units, such as Count and Bytes. When requesting quota, use the **unit** value returned in the GET response in the request body of your PUT operation.",
@@ -805,7 +1037,7 @@
"type": {
"type": "string",
"readOnly": true,
- "description": "Resource type. \"Microsoft.Quota/quotaLimits\""
+ "description": "Resource type. \"Microsoft.Quota/quotas\"."
},
"properties": {
"description": "Quota request details.",
@@ -826,7 +1058,7 @@
}
},
"nextLink": {
- "description": "The URI for fetching the next page of quota limits. When there are no more pages, this is null.",
+ "description": "The URI for fetching the next page of quota limits. When there are no more pages, this string is null.",
"type": "string"
}
}
@@ -844,6 +1076,10 @@
"type": "string",
"readOnly": true
},
+ "error": {
+ "description": "Error details of the quota request.",
+ "$ref": "#/definitions/ServiceErrorDetail"
+ },
"requestSubmitTime": {
"description": "The quota request submission time. The date conforms to the following format specified by the ISO 8601 standard: yyyy-MM-ddTHH:mm:ssZ",
"type": "string",
@@ -880,10 +1116,8 @@
"format": "date-time"
},
"limit": {
- "description": "Quota limit.",
- "type": "integer",
- "format": "int32",
- "readOnly": false
+ "description": "Resource quota limit properties.",
+ "$ref": "#/definitions/LimitObject"
},
"currentValue": {
"description": "Usage information for the current resource.",
@@ -914,6 +1148,10 @@
"type": "boolean",
"readOnly": true
},
+ "error": {
+ "description": "Error details of the quota request.",
+ "$ref": "#/definitions/ServiceErrorDetail"
+ },
"properties": {
"description": "Additional properties for the specific resource provider.",
"type": "object"
@@ -938,19 +1176,8 @@
},
"ResourceTypesName": {
"description": "Resource types. For extensibility, it is a string.",
- "enum": [
- "standard",
- "dedicated",
- "lowPriority",
- "shared",
- "serviceSpecific"
- ],
"readOnly": false,
- "type": "string",
- "x-ms-enum": {
- "name": "ResourceType",
- "modelAsString": true
- }
+ "type": "string"
},
"ExceptionResponse": {
"type": "object",
@@ -962,211 +1189,6 @@
},
"description": "Error."
},
- "quotaBucketProperties": {
- "type": "object",
- "description": "quotaBucket provider properties.",
- "properties": {
- "name": {
- "type": "string",
- "description": "Property name."
- },
- "displayName": {
- "description": "Display name.",
- "type": "string"
- }
- }
- },
- "ResourceProviderDimension": {
- "type": "object",
- "description": "Resource provider resource dimension.",
- "properties": {
- "name": {
- "type": "string",
- "description": "Resource dimension name."
- },
- "displayName": {
- "description": "Display name.",
- "type": "string"
- }
- }
- },
- "ResourceProviderTemplate": {
- "type": "object",
- "description": "Resource template details for the resource provider.",
- "properties": {
- "resourceType": {
- "type": "string",
- "description": "Resource type."
- },
- "resourceQuery": {
- "description": "Resource query for dimension values.",
- "$ref": "#/definitions/resourceQueryDetails"
- },
- "resourceUsagesQuery": {
- "description": "Resource usages query.",
- "$ref": "#/definitions/resourceQueryDetails"
- },
- "dimensions": {
- "description": "Resource provider dimensions.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ResourceProviderDimension"
- }
- }
- }
- },
- "ResourceProviderTemplates": {
- "type": "object",
- "description": "List of resource provider templates",
- "properties": {
- "value": {
- "description": "The resource provider templates",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ResourceProviderTemplate"
- }
- }
- }
- },
- "ResourceProviderInformation": {
- "type": "object",
- "description": "Resource provider information.",
- "properties": {
- "resourceProviderName": {
- "type": "string",
- "description": "Resource provider name."
- },
- "properties": {
- "description": "Resource provider quota dimensions.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ResourceProviderTemplates"
- }
- }
- },
- "resourceProvidersList": {
- "type": "object",
- "description": "Resource providers list.",
- "properties": {
- "value": {
- "description": "Resource provider information.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ResourceProviderInformation"
- }
- }
- }
- },
- "QuotaTypeInformationDimensionList": {
- "description": "Quota types information list.",
- "type": "object",
- "properties": {
- "resourceType": {
- "type": "string",
- "description": "Resource type"
- },
- "value": {
- "description": "Quota type information.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/QuotaTypeDimensionInformation"
- }
- }
- }
- },
- "QuotaTypeDimensionInformation": {
- "type": "object",
- "description": "Quota type information.",
- "properties": {
- "name": {
- "type": "string",
- "description": "Property name."
- },
- "displayName": {
- "type": "string",
- "description": "Display name."
- },
- "id": {
- "type": "string",
- "description": "Dimension ID."
- }
- }
- },
- "QuotaTemplateDetails": {
- "type": "object",
- "description": "Quota template details.",
- "properties": {
- "resourceType": {
- "type": "string",
- "description": "Resource type."
- },
- "properties": {
- "description": "Quota type properties for the resource ID.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/QuotaTypeInformationDimensionList"
- }
- }
- },
- "resourceQueryDetails": {
- "type": "object",
- "description": "Resource query details.",
- "properties": {
- "resourceQueryType": {
- "description": "Resource query type.",
- "$ref": "#/definitions/ResourceQueryType"
- },
- "resourceQueryMethod": {
- "description": "Resource query method.",
- "$ref": "#/definitions/ResourceQueryMethod"
- },
- "resourceQueryUri": {
- "type": "string",
- "description": "Base URI for for resource query."
- },
- "resourceQueryPostTemplate": {
- "description": "Template to create the resource query.",
- "type": "string"
- }
- }
- },
- "ResourceQueryType": {
- "description": "Resource query types. For extensibility, it is a string.",
- "enum": [
- "ARG",
- "RestAPI"
- ],
- "readOnly": false,
- "type": "string",
- "x-ms-enum": {
- "name": "ResourceQueryType",
- "modelAsString": true
- }
- },
- "ResourceQueryMethod": {
- "description": "The resource query method.",
- "enum": [
- "GET",
- "POST"
- ],
- "readOnly": false,
- "type": "string",
- "x-ms-enum": {
- "name": "ResourceQueryMethod",
- "modelAsString": true
- }
- },
- "QuotaTemplatesDetails": {
- "type": "object",
- "description": "Quota templates details.",
- "properties": {
- "value": {
- "description": "Quota templates information.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/QuotaTemplateDetails"
- }
- }
- }
- },
"ServiceError": {
"description": "API error details.",
"type": "object",
@@ -1228,7 +1250,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "Resource name for a given resource provider. For example:\r\n- SKU name for Microsoft.Compute\r\n- Sku or TotalLowPriorityCores for Microsoft.MachineLearningServices",
+ "description": "Resource name for a given resource provider. For example:\r\n- SKU name for Microsoft.Compute\r\n- SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices\r\n For Microsoft.Network PublicIPAddresses.",
"x-ms-parameter-location": "method"
},
"ResourceDimensionTypeInParameter": {
@@ -1262,12 +1284,12 @@
"in": "query",
"type": "string",
"required": false,
- "description": "The **Skiptoken** parameter is used only if a previous operation returned a partial result. If a previous response contains a **nextLink** element, the value of the **nextLink** element includes a **skiptoken** parameter that specifies a starting point to use for subsequent calls.",
+ "description": "The **Skiptoken** parameter is used only if a previous operation returned a partial result. If a previous response contains a **nextLink** element, its value includes a **skiptoken** parameter that specifies a starting point to use for subsequent calls.",
"x-ms-parameter-location": "method"
},
"ScopeInPath": {
"name": "scope",
- "description": "The target Azure resource URI. For example, `/subscriptions/9f6cce51-6baf-4de5-a3c4-6f58b85315b9/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotaLimits`, then it's the target Azure resource URI in the GET operation for the specific resource.",
+ "description": "The target Azure resource URI. For example, `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotas`, then it's the target Azure resource URI in the GET operation for the specific resource.",
"in": "path",
"required": true,
"type": "string",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeOneSkuUsages.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeOneSkuUsages.json
index ebff7547f730..2ce48f650bd6 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeOneSkuUsages.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeOneSkuUsages.json
@@ -9,6 +9,9 @@
"responses": {
"200": {
"body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardNDSFamily",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 10,
"unit": "Count",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeUsages.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeUsages.json
index 390a8831fafb..2a10b8411577 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeUsages.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getComputeUsages.json
@@ -10,6 +10,9 @@
"body": {
"value": [
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardFSv2Family",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 100,
"unit": "Count",
@@ -21,6 +24,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardNDSFamily",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 0,
"unit": "Count",
@@ -32,6 +38,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardNCSv2Family",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 0,
"unit": "Count",
@@ -43,6 +52,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardNCSv3Family",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 0,
"unit": "Count",
@@ -54,6 +66,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardLSv2Family",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 100,
"unit": "Count",
@@ -65,6 +80,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardPBSFamily",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 6,
"unit": "Count",
@@ -76,6 +94,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardEIv3Family",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 100,
"unit": "Count",
@@ -87,6 +108,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardEISv3Family",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 100,
"unit": "Count",
@@ -98,6 +122,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardDCSFamily",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 8,
"unit": "Count",
@@ -109,6 +136,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardNVSv2Family",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 0,
"unit": "Count",
@@ -120,6 +150,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/standardMSv2Family",
+ "name": "standardNDSFamily",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"limit": 0,
"unit": "Count",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getMachineLearningServicesUsages.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getMachineLearningServicesUsages.json
index 690c516420bc..0e0a347bdb33 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getMachineLearningServicesUsages.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getMachineLearningServicesUsages.json
@@ -10,6 +10,9 @@
"body": {
"value": [
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimits/standardDv2Family",
+ "name": "standardDv2Family",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"currentValue": 15,
"limit": 20,
@@ -21,6 +24,9 @@
}
},
{
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimits/totalLowPriorityCores",
+ "name": "totalLowPriorityCores",
+ "type": "Microsoft.Capacity/ServiceLimits",
"properties": {
"currentValue": 49,
"limit": 600,
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusInProgress.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusInProgress.json
index f9775dc4da8c..c780bef5e59b 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusInProgress.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/getQuotaRequestStatusInProgress.json
@@ -2,9 +2,9 @@
"parameters": {
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"providerId": "Microsoft.Compute",
- "location": "eastus",
+ "location": "westus",
"id": "2B5C8515-37D8-4B6A-879B-CD641A2CF605",
- "api-version": "2019-07-19-preview"
+ "api-version": "2020-10-25"
},
"responses": {
"200": {
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/createOrUpdatePolicyExemption.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/createOrUpdatePolicyExemption.json
new file mode 100644
index 000000000000..c98a998c2647
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/createOrUpdatePolicyExemption.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster",
+ "policyExemptionName": "DemoExpensiveVM",
+ "api-version": "2021-07-01",
+ "parameters": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement",
+ "policyDefinitionReferenceIds": [
+ "Limit_Skus"
+ ],
+ "exemptionCategory": "Waiver",
+ "displayName": "Exempt demo cluster",
+ "description": "Exempt demo cluster from limit sku",
+ "metadata": {
+ "reason": "Temporary exemption for a expensive VM demo"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement",
+ "policyDefinitionReferenceIds": [
+ "Limit_Skus"
+ ],
+ "exemptionCategory": "Waiver",
+ "displayName": "Exempt demo cluster",
+ "description": "Exempt demo cluster from limit sku",
+ "metadata": {
+ "reason": "Temporary exemption for a expensive VM demo"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T01:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "DemoExpensiveVM"
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement",
+ "policyDefinitionReferenceIds": [
+ "Limit_Skus"
+ ],
+ "exemptionCategory": "Waiver",
+ "displayName": "Exempt demo cluster",
+ "description": "Exempt demo cluster from limit sku",
+ "metadata": {
+ "reason": "Temporary exemption for a expensive VM demo"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "DemoExpensiveVM"
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/createOrUpdatePolicyPricing.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/createOrUpdatePolicyPricing.json
new file mode 100644
index 000000000000..2552462b8770
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/createOrUpdatePolicyPricing.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "scope": "providers/Microsoft.Management/managementGroups/HardwareDivision",
+ "policyPricingName": "Advanced",
+ "api-version": "2021-07-01",
+ "parameters": {
+ "properties": {
+ "pricingTier": "Advanced"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "pricingTier": "Advanced",
+ "provisioningState": "Accepted"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T01:01:01.1075056Z"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyPricings/Advanced",
+ "type": "Microsoft.Authorization/policyPricings",
+ "name": "Advanced"
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "pricingTier": "Advanced",
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyPricings/Advanced",
+ "type": "Microsoft.Authorization/policyPricings",
+ "name": "Advanced"
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/deletePolicyExemption.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/deletePolicyExemption.json
new file mode 100644
index 000000000000..0f2792cb723d
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/deletePolicyExemption.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster",
+ "policyExemptionName": "DemoExpensiveVM",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {}
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/deletePolicyPricing.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/deletePolicyPricing.json
new file mode 100644
index 000000000000..4919ee1f8ecd
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/deletePolicyPricing.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "scope": "providers/Microsoft.Management/managementGroups/HardwareDivision",
+ "policyPricingName": "Advanced",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {}
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyPricingOperationResults/c9bbccf4-e16a-4eb7-befb-2e2e5195c347?api-version=2021-07-01",
+ "retry-after": "30"
+ }
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/getPolicyExemption.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/getPolicyExemption.json
new file mode 100644
index 000000000000..3b90fd327d96
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/getPolicyExemption.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster",
+ "policyExemptionName": "DemoExpensiveVM",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement",
+ "policyDefinitionReferenceIds": [
+ "Limit_Skus"
+ ],
+ "exemptionCategory": "Waiver",
+ "displayName": "Exempt demo cluster",
+ "description": "Exempt demo cluster from limit sku",
+ "metadata": {
+ "reason": "Temporary exemption for a expensive VM demo"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "DemoExpensiveVM"
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/getPolicyPricing.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/getPolicyPricing.json
new file mode 100644
index 000000000000..968c1d9e4b06
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/getPolicyPricing.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2",
+ "policyPricingName": "Advanced",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "pricingTier": "Advanced",
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T01:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyPricings/Advanced",
+ "type": "Microsoft.Authorization/policyPricings",
+ "name": "Advanced"
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForManagementGroup.json
new file mode 100644
index 000000000000..bd5c7c40aba9
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForManagementGroup.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "managementGroupId": "DevOrg",
+ "api-version": "2021-07-01",
+ "$filter": "atScope()"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyAssignments/CostManagement",
+ "policyDefinitionReferenceIds": [
+ "Limit_Skus"
+ ],
+ "exemptionCategory": "Waiver",
+ "displayName": "Exempt demo cluster",
+ "description": "Exempt demo cluster from limit sku",
+ "metadata": {
+ "reason": "Temporary exemption for a expensive VM demo"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyExemptions/ResearchBudgetExemption",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "ResearchBudgetExemption"
+ },
+ {
+ "properties": {
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyAssignments/LimitPorts",
+ "exemptionCategory": "Mitigated",
+ "displayName": "Exempt jump box open ports",
+ "description": "Exempt jump box open ports from limit ports policy",
+ "metadata": {
+ "reason": "Need to open RDP port to corp net"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyExemptions/VNetIsMonitored",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "VNetIsMonitored"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForResource.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForResource.json
new file mode 100644
index 000000000000..176bc9bfd18f
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForResource.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2",
+ "resourceGroupName": "TestResourceGroup",
+ "resourceProviderNamespace": "Microsoft.Compute",
+ "parentResourcePath": "virtualMachines/MyTestVm",
+ "resourceType": "domainNames",
+ "resourceName": "MyTestComputer.cloudapp.net",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement",
+ "policyDefinitionReferenceIds": [
+ "Limit_Skus"
+ ],
+ "exemptionCategory": "Waiver",
+ "displayName": "Exempt demo cluster",
+ "description": "Exempt demo cluster from limit sku",
+ "metadata": {
+ "reason": "Temporary exemption for a expensive VM demo"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVMGroup",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "DemoExpensiveVMGroup"
+ },
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/LimitPorts",
+ "exemptionCategory": "Mitigated",
+ "displayName": "Exempt jump box open ports",
+ "description": "Exempt jump box open ports from limit ports policy",
+ "metadata": {
+ "reason": "Need to open RDP port to corp net"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Compute/virtualMachines/MyTestVm/providers/Microsoft.Authorization/policyExemptions/jumpBoxExemption",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "jumpBoxExemption"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForResourceGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForResourceGroup.json
new file mode 100644
index 000000000000..c9402a0245bc
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForResourceGroup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2",
+ "resourceGroupName": "TestResourceGroup",
+ "api-version": "2021-07-01",
+ "$filter": "atScope()"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/CostManagement",
+ "policyDefinitionReferenceIds": [
+ "Limit_Skus"
+ ],
+ "exemptionCategory": "Waiver",
+ "displayName": "Exempt demo cluster",
+ "description": "Exempt demo cluster from limit sku",
+ "metadata": {
+ "reason": "Temporary exemption for a expensive VM demo"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyExemptions/TestVMSub",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "TestVMSub"
+ },
+ {
+ "properties": {
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/LimitPorts",
+ "exemptionCategory": "Mitigated",
+ "displayName": "Exempt jump box open ports",
+ "description": "Exempt jump box open ports from limit ports policy",
+ "metadata": {
+ "reason": "Need to open RDP port to corp net"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyExemptions/TestVNetRG",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "TestVNetRG"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForSubscription.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForSubscription.json
new file mode 100644
index 000000000000..26269d06f7de
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyExemptionsForSubscription.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2",
+ "api-version": "2021-07-01",
+ "$filter": "atScope()"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/CostManagement",
+ "policyDefinitionReferenceIds": [
+ "Limit_Skus"
+ ],
+ "exemptionCategory": "Waiver",
+ "displayName": "Exempt demo cluster",
+ "description": "Exempt demo cluster from limit sku",
+ "metadata": {
+ "reason": "Temporary exemption for a expensive VM demo"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyExemptions/TestVMSub",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "TestVMSub"
+ },
+ {
+ "properties": {
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/LimitPorts",
+ "exemptionCategory": "Mitigated",
+ "displayName": "Exempt jump box open ports",
+ "description": "Exempt jump box open ports from limit ports policy",
+ "metadata": {
+ "reason": "Need to open RDP port to corp net"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyExemptions/TestVNetSub",
+ "type": "Microsoft.Authorization/policyExemptions",
+ "name": "TestVNetSub"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyPricingsForManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyPricingsForManagementGroup.json
new file mode 100644
index 000000000000..c3ed0a510988
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyPricingsForManagementGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "managementGroupId": "DevOrg",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "pricingTier": "Advanced",
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T01:01:01.1075056Z"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyPricings/Advanced",
+ "type": "Microsoft.Authorization/policyPricings",
+ "name": "Advanced"
+ },
+ {
+ "properties": {
+ "pricingTier": "Advanced",
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T01:01:01.1075056Z"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyPricings/Advanced",
+ "type": "Microsoft.Authorization/policyPricings",
+ "name": "Advanced"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyPricingsForSubscription.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyPricingsForSubscription.json
new file mode 100644
index 000000000000..ae6bfb20388a
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/examples/listPolicyPricingsForSubscription.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2",
+ "api-version": "2021-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "pricingTier": "Advanced",
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T01:01:01.1075056Z"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyPricings/Advanced",
+ "type": "Microsoft.Authorization/policyPricings",
+ "name": "Advanced"
+ },
+ {
+ "properties": {
+ "pricingTier": "Advanced",
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-07-01T01:01:01.1075056Z"
+ },
+ "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyPricings/Advanced",
+ "type": "Microsoft.Authorization/policyPricings",
+ "name": "Advanced"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/policyExemptions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/policyExemptions.json
new file mode 100644
index 000000000000..b8b7c56591fe
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/policyExemptions.json
@@ -0,0 +1,564 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PolicyClient",
+ "version": "2021-07-01",
+ "description": "To exempt your resources from policy evaluation and non-compliance state, you can create an exemption at a scope."
+ },
+ "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": {
+ "/{scope}/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}": {
+ "delete": {
+ "tags": [
+ "PolicyExemptions"
+ ],
+ "operationId": "PolicyExemptions_Delete",
+ "summary": "Deletes a policy exemption.",
+ "description": "This operation deletes a policy exemption, given its name and the scope it was created in. The scope of a policy exemption is the part of its ID preceding '/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}'.",
+ "x-ms-examples": {
+ "Delete a policy exemption": {
+ "$ref": "./examples/deletePolicyExemption.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PolicyExemptionScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyExemptionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content - the policy exemption doesn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PolicyExemptions"
+ ],
+ "operationId": "PolicyExemptions_CreateOrUpdate",
+ "summary": "Creates or updates a policy exemption.",
+ "description": " This operation creates or updates a policy exemption with the given scope and name. Policy exemptions apply to all resources contained within their scope. For example, when you create a policy exemption at resource group scope for a policy assignment at the same or above level, the exemption exempts to all applicable resources in the resource group.",
+ "x-ms-examples": {
+ "Create or update a policy exemption": {
+ "$ref": "./examples/createOrUpdatePolicyExemption.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PolicyExemptionScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyExemptionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PolicyExemption"
+ },
+ "description": "Parameters for the policy exemption."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the updated policy exemption.",
+ "schema": {
+ "$ref": "#/definitions/PolicyExemption"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the new policy exemption.",
+ "schema": {
+ "$ref": "#/definitions/PolicyExemption"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PolicyExemptions"
+ ],
+ "operationId": "PolicyExemptions_Get",
+ "summary": "Retrieves a policy exemption.",
+ "description": "This operation retrieves a single policy exemption, given its name and the scope it was created at.",
+ "x-ms-examples": {
+ "Retrieve a policy exemption": {
+ "$ref": "./examples/getPolicyExemption.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PolicyExemptionScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyExemptionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the policy exemption.",
+ "schema": {
+ "$ref": "#/definitions/PolicyExemption"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyExemptions": {
+ "get": {
+ "tags": [
+ "PolicyExemptions"
+ ],
+ "operationId": "PolicyExemptions_List",
+ "summary": "Retrieves all policy exemptions that apply to a subscription.",
+ "description": "This operation retrieves the list of all policy exemptions associated with the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the subscription, including those that apply directly or from management groups that contain the given subscription, as well as any applied to objects contained within the subscription.",
+ "x-ms-examples": {
+ "List policy exemptions that apply to a subscription": {
+ "$ref": "./examples/listPolicyExemptionsForSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyExemptionFilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of policy exemptions.",
+ "schema": {
+ "$ref": "#/definitions/PolicyExemptionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyExemptions": {
+ "get": {
+ "tags": [
+ "PolicyExemptions"
+ ],
+ "operationId": "PolicyExemptions_ListForResourceGroup",
+ "summary": "Retrieves all policy exemptions that apply to a resource group.",
+ "description": "This operation retrieves the list of all policy exemptions associated with the given resource group in the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the resource group, including those that apply directly or apply from containing scopes, as well as any applied to resources contained within the resource group.",
+ "x-ms-examples": {
+ "List policy exemptions that apply to a resource group": {
+ "$ref": "./examples/listPolicyExemptionsForResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyExemptionFilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of policy exemptions.",
+ "schema": {
+ "$ref": "#/definitions/PolicyExemptionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyExemptions": {
+ "get": {
+ "tags": [
+ "PolicyExemptions"
+ ],
+ "operationId": "PolicyExemptions_ListForResource",
+ "summary": "Retrieves all policy exemptions that apply to a resource.",
+ "description": "This operation retrieves the list of all policy exemptions associated with the specified resource in the given resource group and subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the resource, including those that apply directly or from all containing scopes, as well as any applied to resources contained within the resource. Three parameters plus the resource name are used to identify a specific resource. If the resource is not part of a parent resource (the more common case), the parent resource path should not be provided (or provided as ''). For example a web app could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent resource, then all parameters should be provided. For example a virtual machine DNS name could be specified as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the namespace and type name separately is to provide both in the {resourceType} parameter, format: ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').",
+ "x-ms-examples": {
+ "List all policy exemptions that apply to a resource": {
+ "$ref": "./examples/listPolicyExemptionsForResource.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider. For example, the namespace of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)"
+ },
+ {
+ "name": "parentResourcePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The parent resource path. Use empty string if there is none.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type name. For example the type name of a web app is 'sites' (from Microsoft.Web/sites).",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ {
+ "$ref": "#/parameters/PolicyExemptionFilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of policy exemptions.",
+ "schema": {
+ "$ref": "#/definitions/PolicyExemptionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyExemptions": {
+ "get": {
+ "tags": [
+ "PolicyExemptions"
+ ],
+ "operationId": "PolicyExemptions_ListForManagementGroup",
+ "summary": "Retrieves all policy exemptions that apply to a management group.",
+ "description": "This operation retrieves the list of all policy exemptions applicable to the management group that match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter=atScope() is provided, the returned list includes all policy exemptions that are assigned to the management group or the management group's ancestors.",
+ "x-ms-examples": {
+ "List policy exemptions that apply to a management group": {
+ "$ref": "./examples/listPolicyExemptionsForManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ManagementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyExemptionFilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of policy exemptions.",
+ "schema": {
+ "$ref": "#/definitions/PolicyExemptionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "description": "An error response from a policy operation."
+ },
+ "PolicyExemptionProperties": {
+ "type": "object",
+ "required": [
+ "policyAssignmentId",
+ "exemptionCategory"
+ ],
+ "properties": {
+ "policyAssignmentId": {
+ "type": "string",
+ "description": "The ID of the policy assignment that is being exempted."
+ },
+ "policyDefinitionReferenceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition."
+ },
+ "exemptionCategory": {
+ "type": "string",
+ "description": "The policy exemption category. Possible values are Waiver and Mitigated.",
+ "enum": [
+ "Waiver",
+ "Mitigated"
+ ],
+ "x-ms-enum": {
+ "name": "exemptionCategory",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Waiver",
+ "description": "This category of exemptions usually means the scope is not applicable for the policy."
+ },
+ {
+ "value": "Mitigated",
+ "description": "This category of exemptions usually means the mitigation actions have been applied to the scope."
+ }
+ ]
+ }
+ },
+ "expiresOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the policy exemption."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the policy exemption."
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The policy exemption metadata. Metadata is an open ended object and is typically a collection of key value pairs."
+ }
+ },
+ "description": "The policy exemption properties."
+ },
+ "PolicyExemption": {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyExemptionProperties",
+ "description": "Properties for the policy exemption."
+ },
+ "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"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the policy exemption."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the policy exemption."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource (Microsoft.Authorization/policyExemptions)."
+ }
+ },
+ "description": "The policy exemption.",
+ "x-ms-azure-resource": true
+ },
+ "PolicyExemptionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyExemption"
+ },
+ "description": "An array of policy exemptions."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of policy exemptions."
+ }
+ },
+ "parameters": {
+ "PolicyExemptionNameParameter": {
+ "name": "policyExemptionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the policy exemption.",
+ "x-ms-parameter-location": "method"
+ },
+ "PolicyExemptionScopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the policy exemption. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing the resource.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "ManagementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the management group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for the operation.",
+ "x-ms-parameter-location": "client"
+ },
+ "PolicyExemptionFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/policyPricings.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/policyPricings.json
new file mode 100644
index 000000000000..5410e7c8f3ae
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-07-01/policyPricings.json
@@ -0,0 +1,430 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PolicyClient",
+ "version": "2021-07-01",
+ "description": "To enable policy Advanced tier feature, you can create the policy pricing at a subscription scope or a management group scope."
+ },
+ "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": {
+ "/{scope}/providers/Microsoft.Authorization/policyPricings/{policyPricingName}": {
+ "delete": {
+ "tags": [
+ "PolicyPricings"
+ ],
+ "operationId": "PolicyPricings_Delete",
+ "summary": "Deletes a policy pricing.",
+ "description": "This operation deletes a policy pricing, given its name and the scope it was created in. The scope of a policy pricing is the part of its ID preceding '/providers/Microsoft.Authorization/policyPricings/{policyPricingName}'.",
+ "x-ms-examples": {
+ "Delete a policy pricing": {
+ "$ref": "./examples/deletePolicyPricing.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PolicyPricingScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyPricingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "URL to get status of this long-running operation."
+ },
+ "Retry-After": {
+ "type": "string",
+ "description": "Number of seconds to wait before polling for status."
+ }
+ }
+ },
+ "204": {
+ "description": "No Content - the policy pricing doesn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "put": {
+ "tags": [
+ "PolicyPricings"
+ ],
+ "operationId": "PolicyPricings_CreateOrUpdate",
+ "summary": "Creates or updates a policy pricing.",
+ "description": " This operation creates or updates a policy pricing with the given scope and name.",
+ "x-ms-examples": {
+ "Create or update a policy pricing": {
+ "$ref": "./examples/createOrUpdatePolicyPricing.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PolicyPricingScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyPricingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PolicyPricing"
+ },
+ "description": "Parameters for the policy pricing."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the updated policy pricing.",
+ "schema": {
+ "$ref": "#/definitions/PolicyPricing"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the new policy pricing.",
+ "schema": {
+ "$ref": "#/definitions/PolicyPricing"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "PolicyPricings"
+ ],
+ "operationId": "PolicyPricings_Get",
+ "summary": "Retrieves a policy pricing.",
+ "description": "This operation retrieves a single policy pricing, given its name and the scope it was created at.",
+ "x-ms-examples": {
+ "Retrieve a policy pricing": {
+ "$ref": "./examples/getPolicyPricing.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PolicyPricingScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyPricingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the policy pricing.",
+ "schema": {
+ "$ref": "#/definitions/PolicyPricing"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyPricings": {
+ "get": {
+ "tags": [
+ "PolicyPricings"
+ ],
+ "operationId": "PolicyPricings_List",
+ "summary": "Retrieves all policy pricings that apply to a subscription.",
+ "description": "This operation retrieves the list of all policy pricings associated with the given subscription and the management group ancestors.",
+ "x-ms-examples": {
+ "List policy pricings that apply to a subscription": {
+ "$ref": "./examples/listPolicyPricingsForSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of policy pricings.",
+ "schema": {
+ "$ref": "#/definitions/PolicyPricingListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyPricings": {
+ "get": {
+ "tags": [
+ "PolicyPricings"
+ ],
+ "operationId": "PolicyPricings_ListForManagementGroup",
+ "summary": "Retrieves all policy pricings that apply to a management group.",
+ "description": "This operation retrieves the list of all policy pricings associated with the given subscription and the management group ancestors.",
+ "x-ms-examples": {
+ "List policy pricings that apply to a management group": {
+ "$ref": "./examples/listPolicyPricingsForManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ManagementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of policy pricings.",
+ "schema": {
+ "$ref": "#/definitions/PolicyPricingListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "description": "An error response from a policy operation."
+ },
+ "PolicyPricingProperties": {
+ "type": "object",
+ "required": [
+ "pricingTier"
+ ],
+ "properties": {
+ "pricingTier": {
+ "type": "string",
+ "description": "The policy pricing tier. Possible values are Advanced and Defender.",
+ "enum": [
+ "Advanced",
+ "Defender"
+ ],
+ "x-ms-enum": {
+ "name": "pricingTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Advanced",
+ "description": "The pricing tier gives the user ability to use policy exemption feature."
+ },
+ {
+ "value": "Defender",
+ "description": "The pricing tier gives the user ability to use policy exemption feature. This pricing tier is managed by Azure Security Center."
+ }
+ ]
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the policy pricing resource.",
+ "readOnly": true,
+ "enum": [
+ "Accepted",
+ "Succeeded",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Accepted",
+ "description": "When creating policy pricing at the management group level, the provisioning state will be accepted initially."
+ },
+ {
+ "value": "Succeeded",
+ "description": "The policy pricing is provisioned."
+ },
+ {
+ "value": "Deleting",
+ "description": "When deleting policy pricing at the management group level, the provisioning state will be deleting."
+ }
+ ]
+ }
+ }
+ },
+ "description": "The policy pricing properties."
+ },
+ "PolicyPricing": {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyPricingProperties",
+ "description": "Properties for the policy pricing."
+ },
+ "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"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the policy pricing."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the policy pricing."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource (Microsoft.Authorization/policyPricings)."
+ }
+ },
+ "description": "The policy pricing.",
+ "x-ms-azure-resource": true
+ },
+ "PolicyPricingListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyPricing"
+ },
+ "description": "An array of policy pricings."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of policy pricings."
+ }
+ },
+ "parameters": {
+ "PolicyPricingNameParameter": {
+ "name": "policyPricingName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the policy pricing.",
+ "x-ms-parameter-location": "method"
+ },
+ "PolicyPricingScopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the policy pricing. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroupId}') or subscription (format: '/subscriptions/{subscriptionId}')",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription."
+ },
+ "ManagementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the management group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for the operation.",
+ "x-ms-parameter-location": "client"
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/readme.go.md b/specification/resources/resource-manager/readme.go.md
index 42ba1bdeee0d..fbb596dfa6a0 100644
--- a/specification/resources/resource-manager/readme.go.md
+++ b/specification/resources/resource-manager/readme.go.md
@@ -109,6 +109,7 @@ batch:
- tag: package-features-2021-07
- tag: package-locks-2016-09
- tag: package-locks-2015-01
+ - tag: package-policy-2021-07
- tag: package-policy-2021-06
- tag: package-policy-2020-09
- tag: package-policy-2020-03
@@ -208,6 +209,16 @@ namespace: locks
output-folder: $(go-sdk-folder)/services/resources/mgmt/2015-01-01/locks
```
+### Tag: package-policy-2021-07 and go
+
+These settings apply only when `--tag=package-policy-2021-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-policy-2021-07' && $(go)
+namespace: policy
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2021-07-01/policy
+```
+
### Tag: package-policy-2021-06 and go
These settings apply only when `--tag=package-policy-2021-06 --go` is specified on the command line.
diff --git a/specification/resources/resource-manager/readme.java.md b/specification/resources/resource-manager/readme.java.md
index 3028cce811ae..e86a77ccec90 100644
--- a/specification/resources/resource-manager/readme.java.md
+++ b/specification/resources/resource-manager/readme.java.md
@@ -54,6 +54,7 @@ batch:
- tag: package-features-2021-07
- tag: package-locks-2016-09
- tag: package-managedapplications-2019-07
+ - tag: package-policy-2021-07
- tag: package-policy-2021-06
- tag: package-policy-2020-09
- tag: package-policy-2019-09
@@ -133,6 +134,24 @@ generate-interface: true
fconfig: '{"moduleName": "ManagedApplications"}'
```
+### Tag: package-policy-2021-07 and java
+
+These settings apply only when `--tag=package-policy-2021-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-policy-2021-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.policy.v2021_07_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/policy/mgmt-v2021_07_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "Policy"}'
+directive:
+ from: policyAssignments.json
+ where: $.definitions.PolicyAssignmentProperties.properties.scope
+ transform: $['x-ms-client-name'] = 'scopeProperty'
+```
+
### Tag: package-policy-2021-06 and java
These settings apply only when `--tag=package-policy-2021-06 --java` is specified on the command line.
diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md
index bbf4732e39b2..9909f76adec9 100644
--- a/specification/resources/resource-manager/readme.md
+++ b/specification/resources/resource-manager/readme.md
@@ -42,7 +42,11 @@ tag: package-locks-2020-05
```
``` yaml $(package-policy)
+<<<<<<< HEAD
+tag: package-policy-2021-07
+=======
tag: package-policy-2022-06
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
```
``` yaml $(package-resources)
@@ -123,6 +127,24 @@ input-file:
- Microsoft.Resources/preview/2022-03-01-preview/changes.json
```
+### Tag: package-policy-2021-07
+
+These settings apply only when `--tag=package-policy-2021-07` is specified on the command line.
+
+``` yaml $(tag) == 'package-policy-2021-07'
+input-file:
+- Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json
+- Microsoft.Authorization/stable/2021-06-01/policyAssignments.json
+- Microsoft.Authorization/stable/2021-06-01/policyDefinitions.json
+- Microsoft.Authorization/stable/2021-06-01/policySetDefinitions.json
+- Microsoft.Authorization/stable/2021-07-01/policyExemptions.json
+- Microsoft.Authorization/stable/2021-07-01/policyPricings.json
+
+# Needed when there is more than one input file
+override-info:
+ title: PolicyClient
+```
+
### Tag: package-policy-2021-06
These settings apply only when `--tag=package-policy-2021-06` is specified on the command line.
@@ -747,6 +769,10 @@ directive:
from: policyExemptions.json
where: $.paths
reason: policy exemption under an extension resource with Microsoft.Management
+ - suppress: UniqueResourcePaths
+ from: policyPricings.json
+ where: $.paths
+ reason: policy pricing under an extension resource with Microsoft.Management
- suppress: OperationsAPIImplementation
from: policyAssignments.json
where: $.paths
@@ -768,6 +794,11 @@ directive:
where: $.paths
reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
- suppress: OperationsAPIImplementation
+<<<<<<< HEAD
+ from: policyPricings.json
+ where: $.paths
+ reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
+=======
from: policyVariables.json
where: $.paths
reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
@@ -779,10 +810,15 @@ directive:
from: policyAssignments.json
where: $.definitions.PolicyAssignment.properties
reason: Currently systemData is not allowed
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
- suppress: BodyTopLevelProperties
from: policyExemptions.json
where: $.definitions.PolicyExemption.properties
reason: Currently systemData is not allowed
+ - suppress: BodyTopLevelProperties
+ from: policyPricings.json
+ where: $.definitions.PolicyPricing.properties
+ reason: Currently systemData is not allowed
- suppress: BodyTopLevelProperties
from: resources.json
where: $.definitions.ResourceGroup.properties
diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md
index 4582ee01f2d1..078b02696d57 100644
--- a/specification/resources/resource-manager/readme.python.md
+++ b/specification/resources/resource-manager/readme.python.md
@@ -32,8 +32,13 @@ batch:
- tag: package-locks-2016-09
- tag: package-locks-2015-01
- multiapiscript-locks: true
+<<<<<<< HEAD
+ - tag: package-managedapplications-2018-06
+ - tag: package-policy-2021-07
+=======
- tag: package-managedapplications-2019-07
- multiapiscript-managedapplications: true
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735
- tag: package-policy-2021-06
- tag: package-policy-2020-09
- tag: package-policy-2019-09
@@ -240,6 +245,16 @@ namespace: azure.mgmt.resource.managedapplications.v2019_07_01
output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/managedapplications/v2019_07_01
```
+### Tag: package-policy-2021-07 and python
+
+These settings apply only when `--tag=package-policy-2021-07 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-policy-2021-07'
+namespace: azure.mgmt.resource.policy.v2021_07_01
+output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/policy/v2021_07_01
+```
+
### Tag: package-policy-2021-06 and python
These settings apply only when `--tag=package-policy-2021-06 --python` is specified on the command line.
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json
index 0c1bbb667ab3..77716dfb0f32 100644
--- a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json
@@ -147,6 +147,7 @@
"allOf": [
{
"$ref": "../../../common/v1/types.json#/definitions/Resource"
+
},
{
"$ref": "../../../common/v1/types.json#/definitions/Location"
@@ -236,3 +237,6 @@
}
}
}
+
+}
+
diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md
index 958f99cb23fc..c2eb99f9d833 100644
--- a/specification/security/resource-manager/readme.md
+++ b/specification/security/resource-manager/readme.md
@@ -78,7 +78,7 @@ These are the global settings for the Security API.
title: SecurityCenter
description: API spec for Microsoft.Security (Azure Security Center) resource provider
openapi-type: arm
-tag: package-composite-v3
+tag: package-preview-2021-08
```
### Composite packages
@@ -318,6 +318,7 @@ input-file:
- Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json
- Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json
- Microsoft.Security/stable/2020-01-01/secureScore.json
+- Microsoft.Security/preview/2020-01-01-preview/secureScore.json
- Microsoft.Security/stable/2020-01-01/SecuritySolutions.json
- Microsoft.Security/preview/2020-01-01-preview/connectors.json
- Microsoft.Security/stable/2022-01-01/alerts.json
@@ -820,3 +821,75 @@ See configuration in [readme.ruby.md](./readme.ruby.md)
## Java
See configuration in [readme.java.md](./readme.java.md)
+<<<<<<< HEAD
+
+``` yaml $(tag) == 'all-api-versions' /*autogenerated*/
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/secureScore.json
+ - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/connectors.json
+ - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/automations.json
+ - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
+ - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/pricings.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/securityContacts.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/compliances.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/settings.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/operations.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/locations.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/tasks.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/alerts.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/topologies.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json
+ - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json
+ - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json
+ - $(this-folder)/Microsoft.Security/stable/2018-06-01/pricings.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json
+ - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json
+ - $(this-folder)/Microsoft.Security/stable/2019-01-01/alerts.json
+ - $(this-folder)/Microsoft.Security/stable/2017-08-01/complianceResults.json
+ - $(this-folder)/Microsoft.Security/stable/2019-01-01/settings.json
+ - $(this-folder)/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json
+ - $(this-folder)/Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json
+ - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json
+ - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json
+ - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlertTypes.json
+ - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlerts.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessmentMetadata.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessments.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/allowedConnections.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/topologies.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json
+ - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json
+ - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessments.json
+
+```
+
+If there are files that should not be in the `all-api-versions` set,
+uncomment the `exclude-file` section below and add the file paths.
+
+``` yaml $(tag) == 'all-api-versions'
+#exclude-file:
+# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
+```
+=======
+>>>>>>> 72664c83300dfaf6782e22822a5aae0b0df92735