",
- "additionalProperties": {
- "type": "object",
- "description": "The value of custom term attribute"
- }
- },
- "AtlasLineageInfo": {
- "type": "object",
- "properties": {
- "baseEntityGuid": {
- "type": "string",
- "description": "The GUID of the base entity."
- },
- "guidEntityMap": {
- "type": "object",
- "description": "The GUID entity map.",
- "additionalProperties": {
- "$ref": "#/definitions/AtlasEntityHeader"
- }
- },
- "widthCounts": {
- "type": "object",
- "description": "The entity count in specific direction.",
- "additionalProperties": {
- "$ref": "#/definitions/AtlasLineageInfoExtraProperties"
- }
- },
- "lineageDepth": {
- "type": "integer",
- "format": "int32",
- "description": "The depth of lineage."
- },
- "lineageWidth": {
- "type": "integer",
- "format": "int32",
- "description": "The width of lineage."
- },
- "includeParent": {
- "type": "boolean",
- "description": "True to return the parent of the base entity."
- },
- "childrenCount": {
- "type": "integer",
- "format": "int32",
- "description": "The number of children node."
- },
- "lineageDirection": {
- "$ref": "#/definitions/LineageDirection"
- },
- "parentRelations": {
- "type": "array",
- "description": "An array of parentRelations relations.",
- "items": {
- "$ref": "#/definitions/ParentRelation"
- }
- },
- "relations": {
- "type": "array",
- "description": "An array of lineage relations.",
- "items": {
- "$ref": "#/definitions/LineageRelation"
- }
- }
- },
- "title": "AtlasLineageInfo",
- "description": "The lineage information."
- },
- "AtlasLineageInfoExtraProperties": {
- "type": "object",
- "description": "The lineage direction",
- "additionalProperties": {
- "type": "object",
- "description": "The entity guid."
- }
- },
- "AtlasObjectId": {
- "type": "object",
- "properties": {
- "guid": {
- "type": "string",
- "description": "The GUID of the object."
- },
- "typeName": {
- "type": "string",
- "description": "The name of the type."
- },
- "uniqueAttributes": {
- "type": "object",
- "description": "The unique attributes of the object.",
- "additionalProperties": {
- "type": "object",
- "properties": {}
- }
- }
- },
- "title": "AtlasObjectId",
- "description": "Reference to an object-instance of an Atlas type - like entity."
- },
- "AtlasRelatedCategoryHeader": {
- "type": "object",
- "properties": {
- "categoryGuid": {
- "type": "string",
- "description": "The GUID of the category."
- },
- "description": {
- "type": "string",
- "description": "The description of the category header."
- },
- "displayText": {
- "type": "string",
- "description": "The display text."
- },
- "parentCategoryGuid": {
- "type": "string",
- "description": "The GUID of the parent category."
- },
- "relationGuid": {
- "type": "string",
- "description": "The GUID of the relationship."
- }
- },
- "title": "AtlasRelatedCategoryHeader",
- "description": "The header of the related category."
- },
- "AtlasRelatedObjectId": {
- "type": "object",
- "title": "AtlasRelatedObjectId",
- "allOf": [
- {
- "$ref": "#/definitions/AtlasObjectId"
- },
- {
- "properties": {
- "displayText": {
- "type": "string",
- "description": "The display text."
- },
- "entityStatus": {
- "$ref": "#/definitions/Status"
- },
- "relationshipType": {
- "type": "string"
- },
- "relationshipAttributes": {
- "$ref": "#/definitions/AtlasStruct"
- },
- "relationshipGuid": {
- "type": "string",
- "description": "The GUID of the relationship."
- },
- "relationshipStatus": {
- "$ref": "#/definitions/Status_AtlasRelationship"
- }
- }
- }
- ],
- "description": "Reference to an object-instance of AtlasEntity type used in relationship attribute values"
- },
- "AtlasRelatedTermHeader": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "description": "The description of the related term."
- },
- "displayText": {
- "type": "string",
- "description": "The display text."
- },
- "expression": {
- "type": "string",
- "description": "The expression of the term."
- },
- "relationGuid": {
- "type": "string",
- "description": "The GUID of the relationship."
- },
- "source": {
- "type": "string",
- "description": "The source of the term."
- },
- "status": {
- "$ref": "#/definitions/AtlasTermRelationshipStatus"
- },
- "steward": {
- "type": "string",
- "description": "The steward of the term."
- },
- "termGuid": {
- "type": "string",
- "description": "The GUID of the term."
- }
- },
- "title": "AtlasRelatedTermHeader",
- "description": "The header of the related term."
- },
- "AtlasRelationship": {
- "type": "object",
- "title": "AtlasRelationship",
- "allOf": [
- {
- "$ref": "#/definitions/AtlasStruct"
- },
- {
- "properties": {
- "createTime": {
- "type": "number",
- "description": "The created time of the record."
- },
- "createdBy": {
- "type": "string",
- "description": "The user who created the record."
- },
- "end1": {
- "$ref": "#/definitions/AtlasObjectId"
- },
- "end2": {
- "$ref": "#/definitions/AtlasObjectId"
- },
- "guid": {
- "type": "string",
- "description": "The GUID of the relationship."
- },
- "homeId": {
- "type": "string",
- "description": "The home ID of the relationship."
- },
- "label": {
- "type": "string",
- "description": "The label of the relationship."
- },
- "provenanceType": {
- "readOnly": false,
- "description": "Used to record the provenance of an instance of an entity or relationship",
- "type": "number"
- },
- "status": {
- "$ref": "#/definitions/Status_AtlasRelationship"
- },
- "updateTime": {
- "type": "number",
- "description": "The update time of the record."
- },
- "updatedBy": {
- "type": "string",
- "description": "The user who updated the record."
- },
- "version": {
- "type": "number",
- "description": "The version of the relationship."
- }
- }
- }
- ],
- "description": "Atlas relationship instance."
- },
- "AtlasRelationshipDef": {
- "type": "object",
- "title": "AtlasRelationshipDef",
- "allOf": [
- {
- "$ref": "#/definitions/AtlasStructDef"
- },
- {
- "properties": {
- "endDef1": {
- "$ref": "#/definitions/AtlasRelationshipEndDef"
- },
- "endDef2": {
- "$ref": "#/definitions/AtlasRelationshipEndDef"
- },
- "relationshipCategory": {
- "$ref": "#/definitions/RelationshipCategory"
- },
- "relationshipLabel": {
- "type": "string",
- "description": "The label of the relationship."
- }
- }
- }
- ],
- "description": "AtlasRelationshipDef is a TypeDef that defines a relationship.\n\nAs with other typeDefs the AtlasRelationshipDef has a name. Once created the RelationshipDef has a guid.\nThe name and the guid are the 2 ways that the RelationshipDef is identified.\n
\nRelationshipDefs have 2 ends, each of which specify cardinality, an EntityDef type name and name and optionally\nwhether the end is a container.\n
\nRelationshipDefs can have AttributeDefs - though only primitive types are allowed.
\nRelationshipDefs have a relationshipCategory specifying the UML type of relationship required
\nThe way EntityDefs and RelationshipDefs are intended to be used is that EntityDefs will define AttributeDefs these AttributeDefs\nwill not specify an EntityDef type name as their types.\n
\nRelationshipDefs introduce new attributes to the entity instances. For example\n
\nEntityDef A might have attributes attr1,attr2,attr3
\nEntityDef B might have attributes attr4,attr5,attr6
\nRelationshipDef AtoB might define 2 ends
\n\n
\n end1: type A, name attr7\n end2: type B, name attr8
\n\n\nWhen an instance of EntityDef A is created, it will have attributes attr1,attr2,attr3,attr7
\nWhen an instance of EntityDef B is created, it will have attributes attr4,attr5,attr6,attr8\n
\nIn this way relationshipDefs can be authored separately from entityDefs and can inject relationship attributes into\nthe entity instances"
- },
- "AtlasRelationshipEndDef": {
- "type": "object",
- "properties": {
- "cardinality": {
- "$ref": "#/definitions/Cardinality"
- },
- "description": {
- "type": "string",
- "description": "The description of the relationship end definition."
- },
- "isContainer": {
- "type": "boolean",
- "description": "Determines if it is container."
- },
- "isLegacyAttribute": {
- "type": "boolean",
- "description": "Determines if it is a legacy attribute."
- },
- "name": {
- "type": "string",
- "description": "The name of the relationship end definition."
- },
- "type": {
- "type": "string",
- "description": "The type of the relationship end."
- }
- },
- "title": "AtlasRelationshipEndDef",
- "description": "The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an\nattribute name, cardinality and whether it is the container end of the relationship."
- },
- "AtlasRelationshipAttributeDef": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AtlasAttributeDef"
- },
- {
- "properties": {
- "isLegacyAttribute": {
- "type": "boolean",
- "description": "Determines if it is a legacy attribute."
- },
- "relationshipTypeName": {
- "type": "string",
- "description": "The name of the relationship type."
- }
- }
- }
- ],
- "title": "AtlasRelationshipEndDef",
- "description": "The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an\nattribute name, cardinality and whether it is the container end of the relationship."
- },
- "AtlasRelationshipWithExtInfo": {
- "type": "object",
- "properties": {
- "referredEntities": {
- "type": "object",
- "description": "The referred entity header.",
- "additionalProperties": {
- "$ref": "#/definitions/AtlasEntityHeader"
- }
- },
- "relationship": {
- "$ref": "#/definitions/AtlasRelationship"
- }
- },
- "title": "AtlasRelationshipWithExtInfo",
- "description": "The relationship with extended information."
- },
- "AtlasStruct": {
- "type": "object",
- "properties": {
- "attributes": {
- "type": "object",
- "description": "The attributes of the struct.",
- "additionalProperties": {
- "type": "object",
- "properties": {}
- }
- },
- "typeName": {
- "type": "string",
- "description": "The name of the type."
- },
- "lastModifiedTS": {
- "$ref": "#/definitions/LastModifiedTS"
- }
- },
- "title": "AtlasStruct",
- "description": "Captures details of struct contents. Not instantiated directly, used only via AtlasEntity, AtlasClassification."
- },
- "AtlasStructDef": {
- "type": "object",
- "title": "AtlasStructDef",
- "allOf": [
- {
- "$ref": "#/definitions/AtlasBaseTypeDef"
- },
- {
- "properties": {
- "attributeDefs": {
- "type": "array",
- "description": "An array of attribute definitions.",
- "items": {
- "$ref": "#/definitions/AtlasAttributeDef"
- }
- }
- }
- }
- ],
- "description": "class that captures details of a struct-type."
- },
- "AtlasTermAssignmentHeader": {
- "type": "object",
- "properties": {
- "confidence": {
- "type": "integer",
- "format": "int32",
- "description": "The confidence of the term assignment."
- },
- "createdBy": {
- "type": "string",
- "description": "The user who created the record."
- },
- "description": {
- "type": "string",
- "description": "The description of the term assignment."
- },
- "displayText": {
- "type": "string",
- "description": "The display text."
- },
- "expression": {
- "type": "string",
- "description": "The expression of the term assignment."
- },
- "relationGuid": {
- "type": "string",
- "description": "The GUID of the relationship."
- },
- "source": {
- "type": "string",
- "description": "The source of the term."
- },
- "status": {
- "$ref": "#/definitions/AtlasTermAssignmentStatus"
- },
- "steward": {
- "type": "string",
- "description": "The steward of the term."
- },
- "termGuid": {
- "type": "string",
- "description": "The GUID of the term."
- }
- },
- "title": "AtlasTermAssignmentHeader",
- "description": "The header for term assignment."
- },
- "AtlasTermAssignmentStatus": {
- "type": "string",
- "title": "AtlasTermAssignmentStatus",
- "description": "The status of terms assignment.",
- "enum": [
- "DISCOVERED",
- "PROPOSED",
- "IMPORTED",
- "VALIDATED",
- "DEPRECATED",
- "OBSOLETE",
- "OTHER"
- ],
- "x-ms-enum": {
- "name": "AtlasTermAssignmentStatus",
- "modelAsString": true
- }
- },
- "AtlasTermCategorizationHeader": {
- "type": "object",
- "properties": {
- "categoryGuid": {
- "type": "string",
- "description": "The GUID of the category."
- },
- "description": {
- "type": "string",
- "description": "The description of the record."
- },
- "displayText": {
- "type": "string",
- "description": "The display text."
- },
- "relationGuid": {
- "type": "string",
- "description": "The GUID of the relationship."
- },
- "status": {
- "$ref": "#/definitions/AtlasTermRelationshipStatus"
- }
- },
- "title": "AtlasTermCategorizationHeader",
- "description": "The basic information for term categorization."
- },
- "AtlasTermRelationshipStatus": {
- "type": "string",
- "title": "AtlasTermRelationshipStatus",
- "description": "The status of term relationship.",
- "enum": [
- "DRAFT",
- "ACTIVE",
- "DEPRECATED",
- "OBSOLETE",
- "OTHER"
- ],
- "x-ms-enum": {
- "name": "AtlasTermRelationshipStatus",
- "modelAsString": true
- }
- },
- "AtlasTypeDefHeader": {
- "type": "object",
- "properties": {
- "category": {
- "$ref": "#/definitions/TypeCategory"
- },
- "guid": {
- "type": "string",
- "description": "The GUID of the type definition."
- },
- "name": {
- "type": "string",
- "description": "The name of the type definition."
- }
- },
- "title": "AtlasTypeDefHeader",
- "description": "The basic information of the type definition."
- },
- "AtlasTypesDef": {
- "type": "object",
- "properties": {
- "classificationDefs": {
- "type": "array",
- "description": "An array of classification definitions.",
- "items": {
- "$ref": "#/definitions/AtlasClassificationDef"
- }
- },
- "entityDefs": {
- "type": "array",
- "description": "An array of entity definitions.",
- "items": {
- "$ref": "#/definitions/AtlasEntityDef"
- }
- },
- "enumDefs": {
- "type": "array",
- "description": "An array of enum definitions.",
- "items": {
- "$ref": "#/definitions/AtlasEnumDef"
- }
- },
- "relationshipDefs": {
- "type": "array",
- "description": "An array of relationship definitions.",
- "items": {
- "$ref": "#/definitions/AtlasRelationshipDef"
- }
- },
- "structDefs": {
- "type": "array",
- "description": "An array of struct definitions.",
- "items": {
- "$ref": "#/definitions/AtlasStructDef"
- }
- },
- "termTemplateDefs": {
- "type": "array",
- "description": "An array of term template definitions.",
- "items": {
- "$ref": "#/definitions/TermTemplateDef"
- }
- }
- },
- "title": "AtlasTypesDef",
- "description": "The definitions of types."
- },
- "AtlasExtraTypeDef": {
- "type": "object",
- "properties": {
- "entityTypes": {
- "type": "array",
- "description": "Specifying a list of entityType names in the classificationDef, ensures that classifications can\nonly be applied to those entityTypes.\n
\n- Any subtypes of the entity types inherit the restriction
\n- Any classificationDef subtypes inherit the parents entityTypes restrictions
\n- Any classificationDef subtypes can further restrict the parents entityTypes restrictions by specifying a subset of the entityTypes
\n- An empty entityTypes list when there are no parent restrictions means there are no restrictions
\n- An empty entityTypes list when there are parent restrictions means that the subtype picks up the parents restrictions
\n- If a list of entityTypes are supplied, where one inherits from another, this will be rejected. This should encourage cleaner classificationsDefs
\n
",
- "items": {
- "type": "string"
- }
- },
- "subTypes": {
- "type": "array",
- "description": "An array of sub types.",
- "items": {
- "type": "string"
- }
- },
- "superTypes": {
- "type": "array",
- "description": "An array of super types.",
- "items": {
- "type": "string"
- }
- },
- "relationshipAttributeDefs": {
- "type": "array",
- "description": "An array of relationship attributes.",
- "items": {
- "$ref": "#/definitions/AtlasRelationshipAttributeDef"
- }
- },
- "defaultValue": {
- "type": "string",
- "description": "The default value."
- },
- "elementDefs": {
- "type": "array",
- "description": "An array of enum element definitions.",
- "items": {
- "$ref": "#/definitions/AtlasEnumElementDef"
- }
- },
- "endDef1": {
- "$ref": "#/definitions/AtlasRelationshipEndDef"
- },
- "endDef2": {
- "$ref": "#/definitions/AtlasRelationshipEndDef"
- },
- "relationshipCategory": {
- "$ref": "#/definitions/RelationshipCategory"
- },
- "relationshipLabel": {
- "type": "string",
- "description": "The label of the relationship."
- },
- "attributeDefs": {
- "type": "array",
- "description": "An array of attribute definitions.",
- "items": {
- "$ref": "#/definitions/AtlasAttributeDef"
- }
- }
- },
- "title": "AtlasExtraTypeDef",
- "description": "Extra properties for a type."
- },
- "AtlasTypeDef": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AtlasBaseTypeDef"
- },
- {
- "$ref": "#/definitions/AtlasExtraTypeDef"
- }
- ],
- "title": "AtlasTypeDef",
- "description": "The definitions of type."
- },
- "Cardinality": {
- "type": "string",
- "title": "Cardinality",
- "description": "single-valued attribute or multi-valued attribute.",
- "enum": [
- "SINGLE",
- "LIST",
- "SET"
- ],
- "x-ms-enum": {
- "name": "Cardinality",
- "modelAsString": true
- }
- },
- "ClassificationAssociateRequest": {
- "type": "object",
- "properties": {
- "classification": {
- "$ref": "#/definitions/AtlasClassification"
- },
- "entityGuids": {
- "type": "array",
- "description": "The GUID of the entity.",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "ClassificationAssociateRequest",
- "description": "The request for classification association."
- },
- "DateFormat": {
- "type": "object",
- "title": "DateFormat",
- "properties": {
- "availableLocales": {
- "type": "array",
- "description": "An array of available locales.",
- "items": {
- "type": "string"
- }
- },
- "calendar": {
- "type": "number"
- },
- "dateInstance": {
- "$ref": "#/definitions/DateFormat"
- },
- "dateTimeInstance": {
- "$ref": "#/definitions/DateFormat"
- },
- "instance": {
- "$ref": "#/definitions/DateFormat"
- },
- "lenient": {
- "type": "boolean",
- "description": "Determines the leniency of the date format."
- },
- "numberFormat": {
- "$ref": "#/definitions/NumberFormat"
- },
- "timeInstance": {
- "$ref": "#/definitions/DateFormat"
- },
- "timeZone": {
- "$ref": "#/definitions/TimeZone"
- }
- },
- "description": "The date format."
- },
- "EntityMutationResponse": {
- "type": "object",
- "properties": {
- "guidAssignments": {
- "type": "object",
- "description": "A map of GUID assignments with entities.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "mutatedEntities": {
- "type": "object",
- "description": "The entity headers of mutated entities.",
- "additionalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AtlasEntityHeader"
- }
- }
- },
- "partialUpdatedEntities": {
- "type": "array",
- "description": "An array of entity headers that partially updated.",
- "items": {
- "$ref": "#/definitions/AtlasEntityHeader"
- }
- }
- },
- "title": "EntityMutationResponse",
- "description": "The mutation response of entity."
- },
- "LineageDirection": {
- "type": "string",
- "title": "LineageDirection",
- "description": "The enum of lineage direction.",
- "enum": [
- "INPUT",
- "OUTPUT",
- "BOTH"
- ],
- "x-ms-enum": {
- "name": "LineageDirection",
- "modelAsString": true
- }
- },
- "LineageRelation": {
- "type": "object",
- "properties": {
- "fromEntityId": {
- "type": "string",
- "description": "The GUID of from-entity."
- },
- "relationshipId": {
- "type": "string",
- "description": "The GUID of relationship."
- },
- "toEntityId": {
- "type": "string",
- "description": "The GUID of to-entity."
- }
- },
- "title": "LineageRelation",
- "description": "The lineage relation with GUID of the from and to entity."
- },
- "ParentRelation": {
- "type": "object",
- "properties": {
- "childEntityId": {
- "type": "string",
- "description": "The GUID of child entity."
- },
- "relationshipId": {
- "type": "string",
- "description": "The GUID of relationship."
- },
- "parentEntityId": {
- "type": "string",
- "description": "The GUID of parent entity."
- }
- },
- "title": "ParentRelation",
- "description": "The lineage parents relation with GUID of the parent entity and to child entity."
- },
- "NumberFormat": {
- "type": "object",
- "title": "NumberFormat",
- "properties": {
- "availableLocales": {
- "type": "array",
- "description": "The number format.",
- "items": {
- "type": "string"
- }
- },
- "currency": {
- "type": "string",
- "description": "The currency."
- },
- "currencyInstance": {
- "$ref": "#/definitions/NumberFormat"
- },
- "groupingUsed": {
- "type": "boolean",
- "description": "Determines if grouping is used."
- },
- "instance": {
- "$ref": "#/definitions/NumberFormat"
- },
- "integerInstance": {
- "$ref": "#/definitions/NumberFormat"
- },
- "maximumFractionDigits": {
- "type": "integer",
- "format": "int32",
- "description": "The maximum of fraction digits."
- },
- "maximumIntegerDigits": {
- "type": "integer",
- "format": "int32",
- "description": "The maximum of integer digits."
- },
- "minimumFractionDigits": {
- "type": "integer",
- "format": "int32",
- "description": "The minimum of fraction digits."
- },
- "minimumIntegerDigits": {
- "type": "integer",
- "format": "int32",
- "description": "The minimum of integer digits."
- },
- "numberInstance": {
- "$ref": "#/definitions/NumberFormat"
- },
- "parseIntegerOnly": {
- "type": "boolean",
- "description": "Determines if only integer is parsed."
- },
- "percentInstance": {
- "$ref": "#/definitions/NumberFormat"
- },
- "roundingMode": {
- "$ref": "#/definitions/RoundingMode"
- }
- },
- "description": "The number format."
- },
- "TermGuid": {
- "type": "string",
- "title": "termGuid",
- "description": "The globally unique identifier for glossary term."
- },
- "PList": {
- "type": "object",
- "properties": {
- "list": {
- "type": "array",
- "description": "An array of objects.",
- "items": {
- "type": "object",
- "properties": {}
- }
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "description": "The size of the page."
- },
- "sortBy": {
- "type": "string",
- "description": "The sorted by field."
- },
- "sortType": {
- "$ref": "#/definitions/SortType"
- },
- "startIndex": {
- "type": "integer",
- "format": "int64",
- "description": "The start index of the page."
- },
- "totalCount": {
- "type": "integer",
- "format": "int64",
- "description": "The total count of items."
- }
- },
- "title": "PList",
- "description": "Paginated-list, for returning search results."
- },
- "RelationshipCategory": {
- "type": "string",
- "title": "RelationshipCategory",
- "description": "The Relationship category determines the style of relationship around containment and lifecycle.\nUML terminology is used for the values.\n\nASSOCIATION is a relationship with no containment.
\nCOMPOSITION and AGGREGATION are containment relationships.\n
\nThe difference being in the lifecycles of the container and its children. In the COMPOSITION case,\nthe children cannot exist without the container. For AGGREGATION, the life cycles\nof the container and children are totally independent.",
- "enum": [
- "ASSOCIATION",
- "AGGREGATION",
- "COMPOSITION"
- ],
- "x-ms-enum": {
- "name": "RelationshipCategory",
- "modelAsString": true
- }
- },
- "RoundingMode": {
- "type": "string",
- "title": "RoundingMode",
- "description": "The enum of rounding mode.",
- "enum": [
- "UP",
- "DOWN",
- "CEILING",
- "FLOOR",
- "HALF_UP",
- "HALF_DOWN",
- "HALF_EVEN",
- "UNNECESSARY"
- ],
- "x-ms-enum": {
- "name": "RoundingMode",
- "modelAsString": true
- }
- },
- "SortType": {
- "type": "string",
- "title": "SortType",
- "description": "to specify whether the result should be sorted? If yes, whether asc or desc.",
- "enum": [
- "NONE",
- "ASC",
- "DESC"
- ],
- "x-ms-enum": {
- "name": "SortType",
- "modelAsString": true
- }
- },
- "Status": {
- "type": "string",
- "title": "Status",
- "description": "Status of the entity - can be active or deleted. Deleted entities are not removed from Atlas store.",
- "enum": [
- "ACTIVE",
- "DELETED"
- ],
- "x-ms-enum": {
- "name": "Status",
- "modelAsString": true
- }
- },
- "Status_AtlasRelationship": {
- "type": "string",
- "title": "Status",
- "description": "The enum of relationship status.",
- "enum": [
- "ACTIVE",
- "DELETED"
- ],
- "x-ms-enum": {
- "name": "Status_AtlasRelationship",
- "modelAsString": true
- }
- },
- "TimeBoundary": {
- "type": "object",
- "properties": {
- "endTime": {
- "type": "string",
- "description": "The end of the time boundary."
- },
- "startTime": {
- "type": "string",
- "description": "The start of the time boundary."
- },
- "timeZone": {
- "type": "string",
- "description": "The timezone of the time boundary."
- }
- },
- "title": "TimeBoundary",
- "description": "Captures time-boundary details"
- },
- "TimeZone": {
- "type": "object",
- "properties": {
- "dstSavings": {
- "type": "integer",
- "format": "int32",
- "description": "The value of the daylight saving time."
- },
- "id": {
- "type": "string",
- "description": "The ID of the timezone."
- },
- "availableIds": {
- "type": "array",
- "description": "An array of available IDs.",
- "items": {
- "type": "string"
- }
- },
- "default": {
- "$ref": "#/definitions/TimeZone"
- },
- "displayName": {
- "type": "string",
- "description": "The display name of the timezone."
- },
- "rawOffset": {
- "type": "integer",
- "format": "int32",
- "description": "The raw offset of the timezone."
- }
- },
- "title": "TimeZone",
- "description": "The timezone information."
- },
- "TypeCategory": {
- "type": "string",
- "title": "TypeCategory",
- "description": "The enum of type category.",
- "enum": [
- "PRIMITIVE",
- "OBJECT_ID_TYPE",
- "ENUM",
- "STRUCT",
- "CLASSIFICATION",
- "ENTITY",
- "ARRAY",
- "MAP",
- "RELATIONSHIP",
- "TERM_TEMPLATE"
- ],
- "x-ms-enum": {
- "name": "TypeCategory",
- "modelAsString": true
- }
- },
- "SuggestResult": {
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SuggestResultValue"
- }
- }
- },
- "title": "SuggestResult",
- "description": "The result item of the search suggest."
- },
- "BrowseResult": {
- "type": "object",
- "properties": {
- "@search.count": {
- "type": "integer",
- "format": "int32",
- "description": "The total number of browse results."
- },
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/BrowseResultValue"
- }
- }
- },
- "title": "BrowseResult",
- "description": "The result item of the browse request."
- },
- "SuggestResultValue": {
- "type": "object",
- "properties": {
- "@search.score": {
- "type": "number",
- "format": "float",
- "description": "The search score calculated by the search engine. The results are ordered by search score by default."
- },
- "@search.text": {
- "type": "string",
- "description": "The target text that contains the keyword as prefix. The keyword is wrapped with emphasis mark."
- },
- "description": {
- "type": "string",
- "description": "The description of the record."
- },
- "id": {
- "type": "string",
- "description": "The GUID of the record."
- },
- "name": {
- "type": "string",
- "description": "The name of the record."
- },
- "owner": {
- "type": "string",
- "description": "The owner of the record. This is an Atlas native attribute."
- },
- "qualifiedName": {
- "type": "string",
- "description": "The qualified name of the record."
- },
- "entityType": {
- "type": "string",
- "description": "The type name of the record."
- },
- "classification": {
- "type": "array",
- "description": "The classifications of the record.",
- "items": {
- "type": "string"
- }
- },
- "label": {
- "type": "array",
- "description": "The labels of the record.",
- "items": {
- "type": "string"
- }
- },
- "term": {
- "type": "array",
- "description": "The terms assigned to the record.",
- "items": {
- "$ref": "#/definitions/TermSearchResultValue"
- }
- },
- "contact": {
- "type": "array",
- "description": "The contacts of the record.",
- "items": {
- "$ref": "#/definitions/ContactSearchResultValue"
- }
- },
- "assetType": {
- "type": "array",
- "description": "The asset types of the record.",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "SuggestResultValue",
- "description": "The value item of the search suggest."
- },
- "BrowseResultValue": {
- "type": "object",
- "properties": {
- "entityType": {
- "type": "string",
- "description": "The type name of the record."
- },
- "id": {
- "type": "string",
- "description": "The GUID of the record."
- },
- "isLeaf": {
- "type": "boolean",
- "description": "If the record is a leaf entity."
- },
- "name": {
- "type": "string",
- "description": "The name of the record."
- },
- "owner": {
- "type": "array",
- "description": "The owners of the record.",
- "items": {
- "$ref": "#/definitions/BrowseResultOwner"
- }
- },
- "path": {
- "type": "string",
- "description": "The path of the record."
- },
- "qualifiedName": {
- "type": "string",
- "description": "The qualified name of the record."
- }
- },
- "title": "BrowseResultValue",
- "description": "The value item of the browse result."
- },
- "BrowseResultOwner": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "The GUID of the owner."
- },
- "displayName": {
- "type": "string",
- "description": "The display name of the owner."
- },
- "mail": {
- "type": "string",
- "description": "The mail of the owner."
- },
- "contactType": {
- "type": "string",
- "description": "The contact type of the owner. The value will be Owner."
- }
- },
- "title": "BrowseResultOwner",
- "description": "The value item of the browse owner."
- },
- "SearchResult": {
- "type": "object",
- "properties": {
- "@search.count": {
- "type": "integer",
- "format": "int32",
- "description": "The total number of search results (not the number of documents in a single page)."
- },
- "@search.facets": {
- "$ref": "#/definitions/SearchFacetResultValue"
- },
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchResultValue"
- }
- }
- },
- "title": "SearchResult",
- "description": "The result of the search result."
- },
- "SearchFacetResultValue": {
- "type": "object",
- "properties": {
- "assetType": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchFacetItemValue"
- }
- },
- "classification": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchFacetItemValue"
- }
- },
- "classificationCategory": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchFacetItemValue"
- }
- },
- "contactId": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchFacetItemValue"
- }
- },
- "fileExtension": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchFacetItemValue"
- }
- },
- "label": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchFacetItemValue"
- }
- },
- "term": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchFacetItemValue"
- }
- }
- },
- "title": "Context",
- "description": "A facet list that consists of index fields assetType ,classification, classificationCategory, contactId, fileExtension, label, and label. When the facet is specified in the request, the value of the facet is returned as an element of @search.facets."
- },
- "SearchFacetItemValue": {
- "type": "object",
- "properties": {
- "count": {
- "type": "integer",
- "format": "int32",
- "description": "The count of the facet item."
- },
- "value": {
- "type": "string",
- "description": "The name of the facet item."
- }
- },
- "title": "SearchFacetItemValue",
- "description": "The content of a search facet result item."
- },
- "SearchFacetItem": {
- "type": "object",
- "properties": {
- "count": {
- "type": "integer",
- "format": "int32",
- "description": "The count of the facet item."
- },
- "facet": {
- "type": "string",
- "description": "The name of the facet item."
- },
- "sort": {
- "type": "object"
- }
- },
- "title": "SearchFacetItemValue",
- "description": "The content of a search facet result item."
- },
- "SearchResultValue": {
- "type": "object",
- "properties": {
- "@search.score": {
- "type": "number",
- "format": "float",
- "description": "The search score calculated by the search engine. The results are ordered by search score by default."
- },
- "@search.highlights": {
- "$ref": "#/definitions/SearchHighlights"
- },
- "@search.text": {
- "type": "string",
- "description": "The target text that contains the keyword as prefix. The keyword is wrapped with emphasis mark."
- },
- "description": {
- "type": "string",
- "description": "The description of the record."
- },
- "id": {
- "type": "string",
- "description": "The GUID of the record."
- },
- "name": {
- "type": "string",
- "description": "The name of the record."
- },
- "owner": {
- "type": "string",
- "description": "The owner of the record. This is an Atlas native attribute."
- },
- "qualifiedName": {
- "type": "string",
- "description": "The qualified name of the record."
- },
- "entityType": {
- "type": "string",
- "description": "The type name of the record."
- },
- "classification": {
- "type": "array",
- "description": "The classifications of the record.",
- "items": {
- "type": "string"
- }
- },
- "label": {
- "type": "array",
- "description": "The labels of the record.",
- "items": {
- "type": "string"
- }
- },
- "term": {
- "type": "array",
- "description": "The terms assigned to the record.",
- "items": {
- "$ref": "#/definitions/TermSearchResultValue"
- }
- },
- "contact": {
- "type": "array",
- "description": "The contacts of the record.",
- "items": {
- "$ref": "#/definitions/ContactSearchResultValue"
- }
- },
- "assetType": {
- "type": "array",
- "description": "The asset types of the record.",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "SearchResultValue",
- "description": "The value item of the search result."
- },
- "SearchHighlights": {
- "type": "object",
- "description": "A highlight list that consists of index fields id ,qualifiedName, name, description, entityType. When the keyword appears in those fields, the value of the field, attached with emphasis mark, is returned as an element of @search.highlights.",
- "properties": {
- "id": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "qualifiedName": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "name": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "description": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "entityType": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "SearchHighlights"
- },
- "TermSearchResultValue": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the term."
- },
- "glossaryName": {
- "type": "string",
- "description": "The name of the glossary which contains the term."
- },
- "guid": {
- "type": "string",
- "description": "The GUID of the term."
- }
- },
- "title": "Context",
- "description": "The context."
- },
- "ContactSearchResultValue": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "The GUID of the contact."
- },
- "info": {
- "type": "string",
- "description": "The description of the contact."
- },
- "contactType": {
- "type": "string",
- "description": "The type of the contact. It can be Expert or Owner for an entity. It can be Expert or Steward for a glossary term."
- }
- },
- "title": "contact",
- "description": "The contact in the search and suggest result."
- },
- "AutoCompleteRequest": {
- "type": "object",
- "properties": {
- "keywords": {
- "type": "string",
- "description": "The keywords applied to all fields that support autocomplete operation. It must be at least 1 character, and no more than 100 characters."
- },
- "limit": {
- "type": "integer",
- "format": "int32",
- "description": "The number of autocomplete results we hope to return. The default value is 50. The value must be a number between 1 and 100."
- },
- "filter": {
- "type": "object",
- "description": "The filter for the autocomplete request."
- }
- },
- "title": "AutoCompleteRequest",
- "description": "The query of autocomplete request."
- },
- "AutoCompleteResult": {
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AutoCompleteResultValue"
- }
- }
- },
- "title": "AutoCompleteResult",
- "description": "The result of the autocomplete request."
- },
- "AutoCompleteResultValue": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string",
- "description": "The completed term or phrase."
- },
- "queryPlusText": {
- "type": "string",
- "description": "The completed search query text."
- }
- },
- "title": "AutoCompleteResultValue",
- "description": "The value item of the autocomplete suggest."
- },
- "SearchRequest": {
- "type": "object",
- "properties": {
- "keywords": {
- "type": "string",
- "description": "The keywords applied to all searchable fields."
- },
- "offset": {
- "type": "integer",
- "format": "int32",
- "description": "The offset. The default value is 0."
- },
- "limit": {
- "type": "integer",
- "format": "int32",
- "description": "The limit of the number of the search result. default value is 50; maximum value is 1000."
- },
- "filter": {
- "type": "object",
- "description": "The filter for the search. See examples for the usage of supported filters."
- },
- "facets": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SearchFacetItem"
- }
- },
- "taxonomySetting": {
- "type": "object",
- "properties": {
- "assetTypes": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "facet": {
- "$ref": "#/definitions/SearchFacetItem"
- }
- }
- }
- },
- "title": "SearchRequest",
- "description": "The search query of advanced search request."
- },
- "BrowseRequest": {
- "type": "object",
- "properties": {
- "entityType": {
- "type": "string",
- "description": "The entity type to browse as the root level entry point."
- },
- "path": {
- "type": "string",
- "description": "The path to browse the next level child entities."
- },
- "limit": {
- "type": "integer",
- "format": "int32",
- "description": "The number of browse items we hope to return."
- },
- "offset": {
- "type": "integer",
- "format": "int32",
- "description": "The offset. The default value is 0."
- }
- },
- "title": "BrowseRequest",
- "description": "The criteria of browse request."
- },
- "SuggestRequest": {
- "type": "object",
- "properties": {
- "keywords": {
- "type": "string",
- "description": "The keywords applied to all fields that support suggest operation. It must be at least 1 character, and no more than 100 characters. In the index schema we defined a default suggester which lists all the supported fields and specifies a search mode."
- },
- "limit": {
- "type": "integer",
- "format": "int32",
- "description": "The number of suggestions we hope to return. The default value is 5. The value must be a number between 1 and 100."
- },
- "filter": {
- "type": "object",
- "description": "The filter for the search."
- }
- },
- "title": "SuggestRequest",
- "description": "The query of suggest request."
- },
- "ImportCSVOperation": {
- "type": "object",
- "title": "Status of import csv operation",
- "description": "The status of import csv operation",
- "properties": {
- "id": {
- "type": "string",
- "description": "guid string"
- },
- "status": {
- "$ref": "#/definitions/ImportCSVOperationStatus"
- },
- "createTime": {
- "type": "string",
- "description": "The created time of the record."
- },
- "lastUpdateTime": {
- "type": "string",
- "description": "The last updated time of the record."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ImportCSVOperationProperties"
- },
- "error": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ImportCSVOperationError"
- }
- }
- },
- "ImportCSVOperationProperties": {
- "type": "object",
- "properties": {
- "importedTerms": {
- "type": "string",
- "description": "Term numbers that already imported successfully"
- },
- "totalTermsDetected": {
- "type": "string",
- "description": "Total term numbers that detected in csv"
- }
- }
- },
- "ImportCSVOperationError": {
- "type": "object",
- "properties": {
- "errorCode": {
- "type": "integer",
- "description": "Error code from async import job if fail"
- },
- "errorMessage": {
- "type": "string",
- "description": "Error message from async import job if fail"
- }
- }
- },
- "ImportCSVOperationStatus": {
- "type": "string",
- "enum": [
- "NotStarted",
- "Succeeded",
- "Failed",
- "Running"
- ],
- "x-ms-enum": {
- "name": "ImportCSVOperationStatus",
- "modelAsString": true
- },
- "title": "ImportCSVOperationStatus",
- "description": "Enum of the status of import csv operation."
- },
- "LastModifiedTS": {
- "type": "string",
- "title": "lastModifiedTS",
- "description": "ETag for concurrency control."
- },
- "ErrorResponse": {
- "description": "An error response from the service",
- "properties": {
- "requestId": {
- "type": "string",
- "description": "The request ID."
- },
- "errorCode": {
- "type": "string",
- "description": "The error code."
- },
- "errorMessage": {
- "type": "string",
- "description": "The error message."
- }
- }
- }
- },
- "parameters": {
- "Endpoint": {
- "name": "Endpoint",
- "description": "The catalog endpoint of your Purview account. Example: https://{accountName}.purview.azure.com",
- "x-ms-parameter-location": "client",
- "required": true,
- "type": "string",
- "in": "path",
- "x-ms-skip-url-encoding": true
- },
- "guid": {
- "name": "guid",
- "description": "The globally unique identifier of the entity.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "classificationName": {
- "name": "classificationName",
- "description": "The name of the classification.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "typeName": {
- "name": "typeName",
- "description": "The name of the type.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "categoryGuid": {
- "name": "categoryGuid",
- "description": "The globally unique identifier of the category.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "limit": {
- "name": "limit",
- "description": "The page size - by default there is no paging.",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method"
- },
- "offset": {
- "name": "offset",
- "description": "The offset for pagination purpose.",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method"
- },
- "sort": {
- "name": "sort",
- "description": "The sort order, ASC (default) or DESC.",
- "in": "query",
- "required": false,
- "type": "string",
- "default": "ASC",
- "x-ms-parameter-location": "method"
- },
- "termGuid": {
- "name": "termGuid",
- "in": "path",
- "description": "The globally unique identifier for glossary term.",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "glossaryGuid": {
- "name": "glossaryGuid",
- "in": "path",
- "description": "The globally unique identifier for glossary.",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "operationGuid": {
- "name": "operationGuid",
- "in": "path",
- "description": "The globally unique identifier for async operation/job.",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "glossaryName": {
- "name": "glossaryName",
- "in": "path",
- "description": "The name of the glossary.",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "searchLimit": {
- "name": "limit",
- "description": "Limits the result set to only include the specified number of entries.",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method"
- },
- "searchKeyword": {
- "name": "keyword",
- "description": "The keyword to get auto complete.",
- "in": "query",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "depth": {
- "name": "depth",
- "description": "The number of hops for lineage.",
- "in": "query",
- "required": false,
- "type": "integer",
- "default": 3,
- "format": "int32",
- "x-ms-parameter-location": "method"
- },
- "width": {
- "name": "width",
- "description": "The number of max expanding width in lineage.",
- "in": "query",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "x-ms-parameter-location": "method"
- },
- "direction": {
- "name": "direction",
- "description": "The direction of the lineage, which could be INPUT, OUTPUT or BOTH.",
- "in": "query",
- "required": true,
- "type": "string",
- "enum": [
- "BOTH",
- "INPUT",
- "OUTPUT"
- ],
- "x-ms-enum": {
- "name": "direction",
- "modelAsString": true
- },
- "x-ms-parameter-location": "method"
- },
- "includeParent": {
- "name": "includeParent",
- "description": "True to include the parent chain in the response.",
- "in": "query",
- "required": false,
- "type": "boolean",
- "x-ms-parameter-location": "method"
- },
- "getDerivedLineage": {
- "name": "getDerivedLineage",
- "description": "True to include derived lineage in the response",
- "in": "query",
- "required": false,
- "type": "boolean",
- "x-ms-parameter-location": "method"
- },
- "extendedInfo": {
- "name": "extendedInfo",
- "description": "Limits whether includes extended information.",
- "in": "query",
- "required": false,
- "type": "boolean",
- "x-ms-parameter-location": "method"
- },
- "relationshipGuid": {
- "name": "guid",
- "description": "The globally unique identifier of the relationship.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "classificationDefGuid": {
- "name": "guid",
- "description": "The globally unique identifier of the classification.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "classificationDefName": {
- "name": "name",
- "description": "The name of the classification.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "entityDefGuid": {
- "name": "guid",
- "description": "The globally unique identifier of the entity.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "entityDefName": {
- "name": "name",
- "description": "The name of the entity.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "termTemplateDefGuid": {
- "name": "guid",
- "description": "The globally unique identifier of the term template.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "termTemplateDefName": {
- "name": "name",
- "description": "The name of the term template.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "enumDefGuid": {
- "name": "guid",
- "description": "The globally unique identifier of the enum.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "enumDefName": {
- "name": "name",
- "description": "The name of the enum.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "relationshipDefGuid": {
- "name": "guid",
- "description": "The globally unique identifier of the relationship.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "relationshipDefName": {
- "name": "name",
- "description": "The name of the relationship.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "structDefGuid": {
- "name": "guid",
- "description": "The globally unique identifier of the struct.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "structDefName": {
- "name": "name",
- "description": "The name of the struct.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "typeDefGuid": {
- "name": "guid",
- "description": "The globally unique identifier of the type.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "typeDefName": {
- "name": "name",
- "description": "The name of the type.",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 4096,
- "x-ms-parameter-location": "method"
- },
- "userId": {
- "name": "userId",
- "description": "The user ID.",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "principalId": {
- "name": "principalId",
- "description": "The principal ID.",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "minExtInfo": {
- "name": "minExtInfo",
- "description": "Whether to return minimal information for referred entities.",
- "in": "query",
- "required": false,
- "type": "boolean",
- "default": false,
- "x-ms-parameter-location": "method"
- },
- "ignoreRelationships": {
- "name": "ignoreRelationships",
- "description": "Whether to ignore relationship attributes.",
- "in": "query",
- "required": false,
- "type": "boolean",
- "default": false,
- "x-ms-parameter-location": "method"
- },
- "excludeRelationshipTypes": {
- "name": "excludeRelationshipTypes",
- "description": "An array of the relationship types need to be excluded from the response.",
- "in": "query",
- "required": false,
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi",
- "x-ms-parameter-location": "method"
- },
- "includeTermTemplate": {
- "name": "includeTermTemplate",
- "description": "Whether include termtemplatedef when return all typedefs.\nThis is always true when search filter type=term_template",
- "in": "query",
- "required": false,
- "type": "boolean",
- "default": false,
- "x-ms-parameter-location": "method"
- },
- "includeTermHierarchy": {
- "name": "includeTermHierarchy",
- "description": "Whether include term hierarchy",
- "in": "query",
- "required": false,
- "type": "boolean",
- "default": false,
- "x-ms-parameter-location": "method"
- },
- "ignoreTermsAndCategories": {
- "name": "ignoreTermsAndCategories",
- "description": "Whether ignore terms and categories",
- "in": "query",
- "required": false,
- "type": "boolean",
- "default": false,
- "x-ms-parameter-location": "method"
- },
- "purviewAPIVersion": {
- "name": "api-version",
- "description": "Version of Purview APIs",
- "in": "query",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "atlasAPIVersion": {
- "name": "api-version",
- "description": "Version of Atlas APIs",
- "in": "query",
- "required": false,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "type": {
- "name": "type",
- "description": "Typedef name as search filter when get typedefs.",
- "in": "query",
- "required": false,
- "type": "string",
- "enum": [
- "enum",
- "entity",
- "classification",
- "relationship",
- "struct",
- "term_template"
- ],
- "x-ms-enum": {
- "name": "type",
- "modelAsString": true
- },
- "x-ms-parameter-location": "method"
- }
- }
-}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Get.json
new file mode 100644
index 000000000000..fdd12f9d40df
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Get.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "policyId": "98ed42ff-b67f-44df-8c8c-7e6b43e77055",
+ "api-version": "2021-07-01-preview"
+ },
+ "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-preview/examples/MetadataPolicy_ListAll.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_ListAll.json
new file mode 100644
index 000000000000..b0ad9d5ba947
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_ListAll.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-07-01-preview"
+ },
+ "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-preview/examples/MetadataPolicy_Update.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Update.json
new file mode 100644
index 000000000000..d2d974b4c73c
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataPolicy_Update.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "policyId": "98ed42ff-b67f-44df-8c8c-7e6b43e77055",
+ "api-version": "2021-07-01-preview",
+ "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-preview/examples/MetadataRoles_List.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataRoles_List.json
new file mode 100644
index 000000000000..876aeac87a0a
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/examples/MetadataRoles_List.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-07-01-preview"
+ },
+ "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-preview/purviewMetadataPolicy.json b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/purviewMetadataPolicy.json
new file mode 100644
index 000000000000..43d10f9445bc
--- /dev/null
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/purviewMetadataPolicy.json
@@ -0,0 +1,572 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Purview Metadata Policies Service REST API Document",
+ "version": "2021-07-01-preview"
+ },
+ "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",
+ "default": "CollectionReference",
+ "type": "string"
+ },
+ "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/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_CreateOrUpdate.json
index 3c35c9a375d7..8552d5e37843 100644
--- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_CreateOrUpdate.json
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_CreateOrUpdate.json
@@ -6,7 +6,11 @@
"body": {
"kind": "AzureStorage",
"properties": {
- "endpoint": "https://azurestorage.core.windows.net/"
+ "endpoint": "https://azurestorage.core.windows.net/",
+ "collection": {
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
}
}
},
@@ -19,7 +23,12 @@
"name": "DataSource1",
"kind": "AzureStorage",
"properties": {
- "endpoint": "https://azurestorage.core.windows.net/"
+ "endpoint": "https://azurestorage.core.windows.net/",
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
}
}
},
@@ -31,7 +40,12 @@
"name": "DataSource1",
"kind": "AzureStorage",
"properties": {
- "endpoint": "https://azurestorage.core.windows.net/"
+ "endpoint": "https://azurestorage.core.windows.net/",
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
}
}
}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_Delete.json
index 9e2bf62febc3..fdf869be7239 100644
--- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_Delete.json
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_Delete.json
@@ -13,7 +13,12 @@
"name": "DataSource1",
"kind": "AzureStorage",
"properties": {
- "endpoint": "https://azurestorage.core.windows.net/"
+ "endpoint": "https://azurestorage.core.windows.net/",
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
}
}
},
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_Get.json
index 02e1f3493df8..f72dc017959e 100644
--- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_Get.json
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_Get.json
@@ -13,7 +13,12 @@
"name": "DataSource1",
"kind": "AzureStorage",
"properties": {
- "endpoint": "https://azurestorage.core.windows.net/"
+ "endpoint": "https://azurestorage.core.windows.net/",
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
}
}
}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_ListAll.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_ListAll.json
index 42ff7a893003..d09b5848b125 100644
--- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_ListAll.json
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/DataSources_ListAll.json
@@ -15,14 +15,24 @@
"name": "DataSource1",
"kind": "AzureStorage",
"properties": {
- "endpoint": "https://azurestorage1.core.windows.net/"
+ "endpoint": "https://azurestorage1.core.windows.net/",
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-aZX",
+ "type": "CollectionReference"
+ }
}
},
{
"name": "DataSource2",
"kind": "AzureStorage",
"properties": {
- "endpoint": "https://azurestorage2.core.windows.net/"
+ "endpoint": "https://azurestorage2.core.windows.net/",
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
}
}
]
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_CreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_CreateOrUpdate.json
index 1cf5f6e61945..0f98bbb9bb9d 100644
--- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_CreateOrUpdate.json
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_CreateOrUpdate.json
@@ -13,7 +13,11 @@
},
"connectedVia": null,
"scanRulesetName": "AzureStorage",
- "scanRulesetType": "System"
+ "scanRulesetType": "System",
+ "collection": {
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
}
}
},
@@ -34,7 +38,12 @@
"connectedVia": null,
"scanRulesetName": "AzureStorage",
"scanRulesetType": "System",
- "workers": null
+ "workers": null,
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
},
"scanResults": null
}
@@ -54,7 +63,12 @@
},
"scanRulesetName": "AzureStorage",
"scanRulesetType": "System",
- "workers": null
+ "workers": null,
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
},
"scanResults": null
}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_Delete.json
index 5899cc99ef92..72ad46585f6b 100644
--- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_Delete.json
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_Delete.json
@@ -22,7 +22,12 @@
"connectedVia": null,
"scanRulesetName": "AzureStorage",
"scanRulesetType": "System",
- "workers": null
+ "workers": null,
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
},
"scanResults": null
}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_Get.json
index db94a10f419a..a339591c5581 100644
--- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_Get.json
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_Get.json
@@ -22,7 +22,12 @@
"connectedVia": null,
"scanRulesetName": "AzureStorage",
"scanRulesetType": "System",
- "workers": null
+ "workers": null,
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
},
"scanResults": null
}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_ListByDataSource.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_ListByDataSource.json
index 3338f27ed788..6f9870ec30b4 100644
--- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_ListByDataSource.json
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/examples/Scans_ListByDataSource.json
@@ -24,7 +24,12 @@
"connectedVia": null,
"scanRulesetName": "AzureStorage",
"scanRulesetType": "System",
- "workers": null
+ "workers": null,
+ "collection": {
+ "lastModifiedAt": "2021-09-15T21:20:08.2944382Z",
+ "referenceName": "Collection-rZX",
+ "type": "CollectionReference"
+ }
},
"scanResults": null
}
diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/scanningService.json b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/scanningService.json
index db115d20808c..27fbb39c2b20 100644
--- a/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/scanningService.json
+++ b/specification/purview/data-plane/Azure.Analytics.Purview.Scanning/preview/2018-12-01-preview/scanningService.json
@@ -2775,6 +2775,22 @@
}
}
},
+ "CollectionReference": {
+ "type": "object",
+ "properties": {
+ "lastModifiedAt": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "referenceName": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ }
+ },
"SystemClassificationRuleProperties": {
"type": "object",
"properties": {
@@ -2958,6 +2974,13 @@
"format": "date-time",
"type": "string",
"readOnly": true
+ },
+ "collection": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CollectionReference"
+ }
+ ]
}
}
},
@@ -4727,6 +4750,13 @@
"modelAsString": true
}
},
+ "collection": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CollectionReference"
+ }
+ ]
+ },
"workers": {
"format": "int32",
"type": "integer"
diff --git a/specification/purview/data-plane/readme.md b/specification/purview/data-plane/readme.md
index 4990978c0b50..d27a4af300dc 100644
--- a/specification/purview/data-plane/readme.md
+++ b/specification/purview/data-plane/readme.md
@@ -24,7 +24,7 @@ These are the global settings for the Azure Purview Catalog API.
``` yaml
openapi-type: data-plane
-tag: package-2021-09-01
+tag: package-2021-05-01-preview
```
@@ -37,15 +37,6 @@ input-file:
- Azure.Analytics.Purview.Catalog/preview/2021-05-01-preview/purviewcatalog.json
```
-### Tag: package-2021-09-01
-
-These settings apply only when `--tag=package-2021-09-01` is specified on the command line.
-
-``` yaml $(tag) == 'package-2021-09-01'
-input-file:
-- Azure.Analytics.Purview.Catalog/preview/2021-09-01/purviewcatalog.json
-```
-
These are the global settings for the Purview API.
@@ -67,6 +58,26 @@ modelerfour:
lenient-model-deduplication: true
```
+These are the global settings for the Purview API.
+
+``` yaml
+openapi-type: data-plane
+tag: package-2021-07-01-preview
+title: PurviewMetadataPolicyClient
+```
+
+
+### Tag: package-2021-07-01-preview
+
+These settings apply only when `--tag=package-2021-07-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-07-01-preview'
+input-file:
+- Azure.Analytics.Purview.MetadataPolicies/preview/2021-07-01-preview/purviewMetadataPolicy.json
+modelerfour:
+ lenient-model-deduplication: true
+```
+
---
# Code Generation
diff --git a/specification/quota/resource-manager/readme.azureresourceschema.md b/specification/quota/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index b4bf5795d0f5..000000000000
--- a/specification/quota/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,44 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-quota-2021-03-15
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-quota-2021-03-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-quota-2021-03-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Quota/stable/2021-03-15/quota.json
-
-```
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Quota/stable/2021-03-15/quota.json
-```
-
-### Tag: schema-quota-2021-03-15-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-quota-2021-03-15-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Quota/review/2021-03-15-preview/quota.json
-
-```
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Quota/preview/2021-03-15-preview/quota.json
-```
\ No newline at end of file
diff --git a/specification/quota/resource-manager/readme.md b/specification/quota/resource-manager/readme.md
index bae51c5d4d6d..45ebe980a4cb 100644
--- a/specification/quota/resource-manager/readme.md
+++ b/specification/quota/resource-manager/readme.md
@@ -77,8 +77,6 @@ swagger-to-sdk:
- repo: azure-cli-extensions
- repo: azure-sdk-for-ruby
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js quota/resource-manager
```
## C#
@@ -112,10 +110,6 @@ See configuration in [readme.cli.md](./readme.cli.md)
See configuration in [readme.go.md](./readme.go.md)
-## AzureResourceSchema
-
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-
## Java
See configuration in [readme.java.md](./readme.java.md)
@@ -124,26 +118,3 @@ See configuration in [readme.java.md](./readme.java.md)
See configuration in [readme.ruby.md](./readme.ruby.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` 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.Quota/preview/2021-03-15-preview/quota.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
-```
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/CheckNameAvailability_Available.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/CheckNameAvailability_Available.json
new file mode 100644
index 000000000000..d51737426b6a
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/CheckNameAvailability_Available.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "resGroupFoo",
+ "api-version": "2021-08-01",
+ "location": "westus",
+ "input": {
+ "name": "swaggerExample",
+ "type": "Microsoft.RecoveryServices/Vaults"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/CheckNameAvailability_NotAvailable.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/CheckNameAvailability_NotAvailable.json
new file mode 100644
index 000000000000..698afd36860d
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/CheckNameAvailability_NotAvailable.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "resGroupBar",
+ "api-version": "2021-08-01",
+ "location": "westus",
+ "input": {
+ "name": "swaggerExample2",
+ "type": "Microsoft.RecoveryServices/Vaults"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "Resource already exists with the same name."
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/DeleteRegisteredIdentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/DeleteRegisteredIdentities.json
new file mode 100644
index 000000000000..b22740ff9850
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/DeleteRegisteredIdentities.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "BCDRIbzRG",
+ "vaultName": "BCDRIbzVault",
+ "identityName": "dpmcontainer01",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/DeleteVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/DeleteVault.json
new file mode 100644
index 000000000000..c17d45f2703a
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/DeleteVault.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GETVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GETVault.json
new file mode 100644
index 000000000000..64e0da8c68d9
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GETVault.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "identity": {
+ "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b",
+ "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateEndpointConnections/pe114-pemsi-ecy-rsv.5944358949303501042.backup.75061caa-cba4-4849-8e09-608da4914aad",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.Network/privateEndpoints/pe114-pemsi-ecy-rsv"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "None",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "privateEndpointStateForBackup": "Enabled",
+ "privateEndpointStateForSiteRecovery": "None"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GETVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GETVaultExtendedInfo.json
new file mode 100644
index 000000000000..11ebe04dad69
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GETVaultExtendedInfo.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vaultExtendedInfo",
+ "etag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7",
+ "properties": {
+ "integrityKey": "J09wzS27fnJ+Wjot7xO5wA==",
+ "algorithm": "None"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo",
+ "type": "Microsoft.RecoveryServices/vaults/extendedInformation"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GetOperationResult.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GetOperationResult.json
new file mode 100644
index 000000000000..e2908440f8d7
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GetOperationResult.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "HelloWorld",
+ "vaultName": "swaggerExample",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15",
+ "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15"
+ }
+ },
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GetOperationStatus.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GetOperationStatus.json
new file mode 100644
index 000000000000..24d371a24460
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GetOperationStatus.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "HelloWorld",
+ "vaultName": "swaggerExample",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "name": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "status": "Succeeded",
+ "startTime": "2019-11-20T09:49:44.0478496Z",
+ "endTime": "2019-11-20T09:49:46Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GetPrivateLinkResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GetPrivateLinkResources.json
new file mode 100644
index 000000000000..87676bb32d95
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/GetPrivateLinkResources.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "6c48fa17-39c7-45f1-90ac-47a587128ace",
+ "resourceGroupName": "petesting",
+ "vaultName": "pemsi-ecy-rsv2",
+ "api-version": "2021-08-01",
+ "privateLinkResourceName": "backupResource"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/petesting/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateLinkResources/backupResource",
+ "name": "backupResource",
+ "type": "Microsoft.RecoveryServices/Vaults/privateLinkResources",
+ "properties": {
+ "groupId": "AzureBackup",
+ "requiredMembers": [
+ "backup-fab1",
+ "backup-rec2",
+ "backup-prot1",
+ "backup-ecs1",
+ "backup-tel1",
+ "backup-wbcm1",
+ "backup-fc1",
+ "backup-id1"
+ ],
+ "requiredZoneNames": [
+ "privatelink.ecy.backup.windowsazure.com",
+ "privatelink.queue.core.windows.net",
+ "privatelink.blob.core.windows.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListBySubscriptionIds.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListBySubscriptionIds.json
new file mode 100644
index 000000000000..d356f9cc99a0
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListBySubscriptionIds.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "westus",
+ "name": "patchtest",
+ "etag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"",
+ "tags": {
+ "Love": "India"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ {
+ "location": "westus",
+ "name": "today1",
+ "etag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/today1",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListOperations.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListOperations.json
new file mode 100644
index 000000000000..3943bad7c591
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListOperations.json
@@ -0,0 +1,463 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "microsoft.recoveryservices/vaults/usages/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Usage",
+ "operation": "Recovery Services Vault usage details.",
+ "description": "Returns usage details for a Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Usages Summaries",
+ "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.",
+ "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/storageConfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Get Resource Storage Config",
+ "description": "Returns Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/storageConfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Write Resource Storage Config",
+ "description": "Updates Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Get Resource Config",
+ "description": "Returns Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Update Resource Config",
+ "description": "Updates Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/tokenInfo/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Token Info",
+ "operation": "Get Vault Token Info",
+ "description": "Returns token information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "SecurityPINInfo",
+ "operation": "Get Security PIN Info",
+ "description": "Returns Security PIN Information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Management Metadata",
+ "operation": "Get Backup Management Metadata",
+ "description": "Returns Backup Management Metadata for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupOperationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupOperations/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobs/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Get Jobs",
+ "description": "Returns all Job Objects"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Cancel Jobs",
+ "description": "Cancel the Job"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs",
+ "operation": "Export Jobs",
+ "description": "Export Jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs Operation Results",
+ "operation": "Get Job Operation Result",
+ "description": "Returns the Result of Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs Operation Results",
+ "operation": "Get Export Job Operation Result",
+ "description": "Returns the Result of Export Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Get Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Restore Recovery Points",
+ "description": "Restore Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Provision Instant Item Recovery for Protected Item",
+ "description": "Provision Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Revoke Instant Item Recovery for Protected Item",
+ "description": "Revoke Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Get Protection Policy",
+ "description": "Returns all Protection Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Create Protection Policy",
+ "description": "Creates Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Delete Protection Policy",
+ "description": "Delete a Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Results",
+ "operation": "Get Policy Operation Results",
+ "description": "Get Results of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Status",
+ "operation": "Get Policy Operation Status",
+ "description": "Get Status of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get Protected Item Details",
+ "description": "Returns object details of the Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get All Protected Items",
+ "description": "Returns the list of all Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Create Backup Protected Item",
+ "description": "Create a backup Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Deletes Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Results",
+ "operation": "Get Protected Items Operation Results",
+ "description": "Gets Result of Operation Performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Status",
+ "operation": "Get Protected Items operation status",
+ "description": "Returns the status of Operation performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Backup Protected Item",
+ "description": "Performs Backup for Protected Item."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protectable Items",
+ "operation": "Get Protectable Items",
+ "description": "Returns list of all Protectable Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/refreshContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers",
+ "operation": "Refresh container",
+ "description": "Refreshes the container list"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers Operation Results",
+ "operation": "Get Operation Results",
+ "description": "Returns status of the operation"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protection Containers",
+ "operation": "Get Containers In Subscription",
+ "description": "Returns all containers belonging to the subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers",
+ "operation": "Get Registered Container",
+ "description": "Returns all registered containers"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Operation Results",
+ "operation": "Get Container Operation Results",
+ "description": "Gets result of Operation performed on Protection Container."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupEngines",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Engines",
+ "operation": "List of backup management servers.",
+ "description": "Returns all the backup management servers registered with vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupStatus",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "PreValidate Protection",
+ "operation": "Pre Validate Enable Protection",
+ "description": ""
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupValidateFeatures",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Validate Features",
+ "operation": "Validate Features",
+ "description": "Validate Features"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Intent",
+ "operation": "Create backup Protection Intent",
+ "description": "Create a backup Protection Intent"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Workload Items",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Inquire",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListPrivateLinkResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListPrivateLinkResources.json
new file mode 100644
index 000000000000..6f7de980ec9f
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListPrivateLinkResources.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "6c48fa17-39c7-45f1-90ac-47a587128ace",
+ "resourceGroupName": "petesting",
+ "vaultName": "pemsi-ecy-rsv2",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/petesting/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateLinkResources/backupResource",
+ "name": "backupResource",
+ "type": "Microsoft.RecoveryServices/Vaults/privateLinkResources",
+ "properties": {
+ "groupId": "AzureBackup",
+ "requiredMembers": [
+ "backup-fab1",
+ "backup-rec2",
+ "backup-prot1",
+ "backup-ecs1",
+ "backup-tel1",
+ "backup-wbcm1",
+ "backup-fc1",
+ "backup-id1"
+ ],
+ "requiredZoneNames": [
+ "privatelink.ecy.backup.windowsazure.com",
+ "privatelink.queue.core.windows.net",
+ "privatelink.blob.core.windows.net"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/amchandnTest2702A/privateLinkResources/siteRecoveryResource",
+ "name": "siteRecoveryResource",
+ "type": "Microsoft.RecoveryServices/vaults/privateLinkResources",
+ "properties": {
+ "groupId": "AzureSiteRecovery",
+ "requiredMembers": [
+ "siteRecovery-rcm1",
+ "siteRecovery-prot2",
+ "siteRecovery-tel1",
+ "siteRecovery-srs1",
+ "siteRecovery-prot2b",
+ "siteRecovery-id1"
+ ],
+ "requiredZoneNames": [
+ "privatelink.ecy.siterecovery.windowsazure.com",
+ "privatelink.queue.core.windows.net",
+ "privatelink.blob.core.windows.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListReplicationUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListReplicationUsages.json
new file mode 100644
index 000000000000..7748179551a9
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListReplicationUsages.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "vaultName": "avrai7517Vault1",
+ "resourceGroupName": "avrai7517RG1",
+ "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "monitoringSummary": {
+ "unHealthyVmCount": 0,
+ "unHealthyProviderCount": 0,
+ "eventsCount": 0,
+ "deprecatedProviderCount": 0,
+ "supportedProviderCount": 0,
+ "unsupportedProviderCount": 0
+ },
+ "jobsSummary": {
+ "failedJobs": 0,
+ "suspendedJobs": 0,
+ "inProgressJobs": 0
+ },
+ "protectedItemCount": 2,
+ "registeredServersCount": 2,
+ "recoveryPlanCount": 1
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListResources.json
new file mode 100644
index 000000000000..d0f29a7c5166
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListResources.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "westus",
+ "name": "patchtest",
+ "etag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"",
+ "tags": {
+ "Love": "India"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ {
+ "location": "westus",
+ "name": "today1",
+ "etag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/today1",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListUsages.json
new file mode 100644
index 000000000000..665add339153
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListUsages.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 6,
+ "limit": -1,
+ "name": {
+ "value": "MABContainersCount",
+ "localizedValue": "Backup management servers"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 3,
+ "limit": -1,
+ "name": {
+ "value": "ProtectedItemCount",
+ "localizedValue": "Backup items/Azure virtual machine backup"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "ProtectedItemCriticalCount",
+ "localizedValue": "Critical"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "ProtectedItemWarningCount",
+ "localizedValue": "Warning"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "IaaSVMProtectedItemCount",
+ "localizedValue": "Azure Virtual Machines"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "IaaSVMProtectedItemCriticalCount",
+ "localizedValue": "Critical"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "IaaSVMProtectedItemWarningCount",
+ "localizedValue": "Warning"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "MABProtectedItemCount",
+ "localizedValue": "File-Folders"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": -1,
+ "name": {
+ "value": "DPMProtectedItemCount",
+ "localizedValue": "DPM Protected Items Count"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureBackupServerProtectedItemCount",
+ "localizedValue": "Azure Backup Server Protected Items Count"
+ }
+ },
+ {
+ "unit": "Count",
+ "quotaPeriod": "P1D",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "InProgressJobsCount",
+ "localizedValue": "In progress"
+ }
+ },
+ {
+ "unit": "Count",
+ "quotaPeriod": "P1D",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "FailedJobsCount",
+ "localizedValue": "Failed"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 117007930,
+ "limit": -1,
+ "name": {
+ "value": "GRSStorageUsage",
+ "localizedValue": "Cloud - GRS"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "LRSStorageUsage",
+ "localizedValue": "Cloud - LRS"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 5,
+ "limit": -1,
+ "name": {
+ "value": "ManagedInstances",
+ "localizedValue": "Protected Instances"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "GRSDedupStorageUsage",
+ "localizedValue": "Dedup - GRS"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "LRSDedupStorageUsage",
+ "localizedValue": "Dedup - LRS"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 117851553792,
+ "limit": -1,
+ "name": {
+ "value": "UsedDiskSize",
+ "localizedValue": "Backup Engines' Disk Used"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault.json
new file mode 100644
index 000000000000..6583ecfa3bf7
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "HelloWorld",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "vault": {
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15",
+ "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault_WithCMK.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault_WithCMK.json
new file mode 100644
index 000000000000..3575056dbb77
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault_WithCMK.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "HelloWorld",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "vault": {
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
+ }
+ },
+ "properties": {
+ "encryption": {
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
+ "useSystemAssignedIdentity": false
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15",
+ "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault_WithCMK3.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault_WithCMK3.json
new file mode 100644
index 000000000000..d38e4bf8586d
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault_WithCMK3.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "HelloWorld",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "vault": {
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
+ }
+ },
+ "properties": {
+ "encryption": {
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
+ "useSystemAssignedIdentity": false
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15",
+ "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault_WithUserAssignedIdentity.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault_WithUserAssignedIdentity.json
new file mode 100644
index 000000000000..1ac88e024659
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PATCHVault_WithUserAssignedIdentity.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "HelloWorld",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "vault": {
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15",
+ "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVault.json
new file mode 100644
index 000000000000..0fceb7091a83
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVault.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "vault": {
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "identity": {
+ "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b",
+ "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "RS0",
+ "tier": "Standard"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "identity": {
+ "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b",
+ "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "RS0",
+ "tier": "Standard"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVaultCred.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVaultCred.json
new file mode 100644
index 000000000000..069b2d6e20d9
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVaultCred.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "BCDRIbzRG",
+ "vaultName": "BCDRIbzVault",
+ "certificateName": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials",
+ "api-version": "2021-08-01",
+ "certificateRequest": {
+ "properties": {
+ "authType": "AAD",
+ "certificate": "MTTC3TCCAcWgAwIBAgIQEj9h+ZLlXK9KrqZX9UkAnzANBgkqhkiG9w0BAQUFADAeMRwwGgYDVQQDExNXaW5kb3dzIEF6dXJlIFRvb2xzMB4XDTE3MTIxODA5MTc1M1oXDTE3MTIyMzA5Mjc1M1owHjEcMBoGA1UEAxMTV2luZG93cyBBenVyZSBUb29sczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK773/eZZ69RbZZAT05r9MjUxu9y1L1Pn1EgPk62IPJyHlO3OZA922eSBahhP4bgmFljN4LVReqQ5eT/wqO0Zhc+yFkUy4U4RdbQLeUZt2W7yy9XLXgVvqeYDgsjg/QhHetgHArQBW+tlQq5+zPdU7zchI4rbShSJrWhLrZFWiOyFPsuAE4joUQHNlRifdCTsBGKk8HRCY3j1S3c4bfEn3zxlrvrXXssRuW5mJM95rMk0tskoRxXSCi6i9bnlki2Cs9mpVMmBFeofs41KwzlWU0TgpdD8s1QEdvfGB5NbByfetPX7MfJaTBeHZEGbv/Iq8l72u8sPBoOhcaH7qDE/mECAwEAAaMXMBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBAILfgHluye1Q+WelhgWhpBBdIq2C0btfV8eFsZaTlBUrM0fwpxQSlAWc2oYHVMQI4A5iUjbDOY35O4yc+TnWKDBKf+laqDP+yos4aiUPuadGUZfvDk7kuw7xeECs64JpHAIEKdRHFW9rD3gwG+nIWaDnEL/7rTyhL3kXrRW2MSUAL8g3GX8Z45c+MQY0jmASIqWdhGn1vpAGyA9mKkzsqg7FXjg8GZb24tGl5Ky85+ip4dkBfXinDD8WwaGyjhGGK97ErvNmN36qly/H0H1Qngiovg1FbHDmkcFO5QclnEJsFFmcO2CcHp5Fqh2wXn5O1cQaxCIRTpQ/uXRpDjl2wKs="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials",
+ "type": "Microsoft.RecoveryServices/vaults/certificates",
+ "id": "/Subscriptions/77777777-d41f-4550-9f70-7708a3a2283b/resourceGroups/BCDRIbzRG/providers/Microsoft.RecoveryServices/vaults/BCDRIbzVault/certificates/BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials",
+ "properties": {
+ "authType": "AzureActiveDirectory",
+ "certificate": "MTTC3TCCAcWgAwIBAgIQEj9h+ZLlXK9KrqZX9UkAnzANBgkqhkiG9w0BAQUFADAeMRwwGgYDVQQDExNXaW5kb3dzIEF6dXJlIFRvb2xzMB4XDTE3MTIxODA5MTc1M1oXDTE3MTIyMzA5Mjc1M1owHjEcMBoGA1UEAxMTV2luZG93cyBBenVyZSBUb29sczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK773/eZZ69RbZZAT05r9MjUxu9y1L1Pn1EgPk62IPJyHlO3OZA922eSBahhP4bgmFljN4LVReqQ5eT/wqO0Zhc+yFkUy4U4RdbQLeUZt2W7yy9XLXgVvqeYDgsjg/QhHetgHArQBW+tlQq5+zPdU7zchI4rbShSJrWhLrZFWiOyFPsuAE4joUQHNlRifdCTsBGKk8HRCY3j1S3c4bfEn3zxlrvrXXssRuW5mJM95rMk0tskoRxXSCi6i9bnlki2Cs9mpVMmBFeofs41KwzlWU0TgpdD8s1QEdvfGB5NbByfetPX7Mf JaTBeHZEGbv/Iq8l72u8sPBoOhcaH7qDE/mECAwEAAaMXMBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBAILfgHluye1Q+WelhgWhpBBdIq2C0btfV8eFsZaTlBUrM0fwpxQSlAWc2oYHVMQI4A5iUjbDOY35O4yc+TnWKDBKf+laqDP+yos4aiUPuadGUZfvDk7kuw7xeECs64JpHAIEKdRHFW9rD3gwG+nIWaDnEL/7rTyhL3kXrRW2MSUAL8g3GX8Z45c+MQY0jmASIqWdhGn1vpAGyA9mKkzsqg7FXjg8GZb24tGl5Ky85+ip4dkBfXinDD8WwaGyjhGGK97ErvNmN36qly/H0H1Qngiovg1FbHDmkcFO5QclnEJsFFmcO2CcHp5Fqh2wXn5O1cQaxCIRTpQ/uXRpDjl2wKs=",
+ "resourceId": 8726350008099341699,
+ "aadAuthority": "https://login.windows.net",
+ "aadTenantId": "9b0c2069-2eba-489f-95f4-eca15cb602ab",
+ "servicePrincipalClientId": "4932d0bd-b5f9-4659-94a0-7ab02d918933",
+ "servicePrincipalObjectId": "2d60221e-cef5-4e13-ba66-b33701a533bb",
+ "azureManagementEndpointAudience": "https://ppe1-id1.wus.wabppe.obs-test.com/restapi/",
+ "subject": "CN=Windows Azure Tools",
+ "validFrom": "2017-12-18T14:47:53+05:30",
+ "validTo": "2017-12-23T14:57:53+05:30",
+ "thumbprint": "019FE9BAD18A5A09A5CA53B593AF66331F3054AF",
+ "friendlyName": "",
+ "issuer": "CN=Windows Azure Tools"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVault_WithCMK.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVault_WithCMK.json
new file mode 100644
index 000000000000..5f5e022e8988
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVault_WithCMK.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "vault": {
+ "properties": {
+ "encryption": {
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "location": "West US",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
+ "useSystemAssignedIdentity": false
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Provisioning",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
+ "useSystemAssignedIdentity": false
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVault_WithUserAssignedIdentity.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVault_WithUserAssignedIdentity.json
new file mode 100644
index 000000000000..00ca01aef9d5
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PUTVault_WithUserAssignedIdentity.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "vault": {
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "location": "West US",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Provisioning"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PatchVault_WithCMK2.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PatchVault_WithCMK2.json
new file mode 100644
index 000000000000..b6fdc97014bd
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PatchVault_WithCMK2.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "HelloWorld",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "vault": {
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "encryption": {
+ "kekIdentity": {
+ "useSystemAssignedIdentity": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "westus",
+ "name": "swaggerExample",
+ "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "useSystemAssignedIdentity": true
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15",
+ "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/UpdateVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/UpdateVaultExtendedInfo.json
new file mode 100644
index 000000000000..986b18207af8
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/UpdateVaultExtendedInfo.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "resourceResourceExtendedInfoDetails": {
+ "properties": {
+ "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==",
+ "algorithm": "None"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vaultExtendedInfo",
+ "etag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7",
+ "properties": {
+ "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==",
+ "algorithm": "None"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo",
+ "type": "Microsoft.RecoveryServices/vaults/extendedInformation"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/registeredidentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/registeredidentities.json
new file mode 100644
index 000000000000..67d4bbc437d9
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/registeredidentities.json
@@ -0,0 +1,372 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-01",
+ "title": "RecoveryServicesClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}": {
+ "put": {
+ "tags": [
+ "VaultCertificates"
+ ],
+ "description": "Uploads a certificate for a resource.",
+ "operationId": "VaultCertificates_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "Certificate friendly name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateRequest",
+ "in": "body",
+ "description": "Input parameters for uploading the vault certificate.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultCertificateResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Download vault credential file": {
+ "$ref": "./examples/PUTVaultCred.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}": {
+ "delete": {
+ "tags": [
+ "RegisteredIdentities"
+ ],
+ "description": "Unregisters the given container from your Recovery Services vault.",
+ "operationId": "RegisteredIdentities_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "identityName",
+ "in": "path",
+ "description": "Name of the protection container to unregister.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Delete registered Identity": {
+ "$ref": "./examples/DeleteRegisteredIdentities.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CertificateRequest": {
+ "description": "Details of the certificate to be uploaded to the vault.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RawCertificateData"
+ }
+ }
+ },
+ "RawCertificateData": {
+ "description": "Raw certificate data.",
+ "type": "object",
+ "properties": {
+ "authType": {
+ "description": "Specifies the authentication type.",
+ "enum": [
+ "Invalid",
+ "ACS",
+ "AAD",
+ "AccessControlService",
+ "AzureActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthType",
+ "modelAsString": true
+ }
+ },
+ "certificate": {
+ "format": "byte",
+ "description": "The base64 encoded certificate raw data string",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceCertificateAndAadDetails": {
+ "description": "Certificate details representing the Vault credentials for AAD.",
+ "required": [
+ "certificate",
+ "resourceId",
+ "aadAuthority",
+ "aadTenantId",
+ "servicePrincipalClientId",
+ "servicePrincipalObjectId",
+ "azureManagementEndpointAudience",
+ "subject",
+ "validFrom",
+ "validTo",
+ "thumbprint",
+ "friendlyName",
+ "issuer"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceCertificateDetails"
+ }
+ ],
+ "properties": {
+ "aadAuthority": {
+ "description": "AAD tenant authority.",
+ "type": "string"
+ },
+ "aadTenantId": {
+ "description": "AAD tenant Id.",
+ "type": "string"
+ },
+ "servicePrincipalClientId": {
+ "description": "AAD service principal clientId.",
+ "type": "string"
+ },
+ "servicePrincipalObjectId": {
+ "description": "AAD service principal ObjectId.",
+ "type": "string"
+ },
+ "azureManagementEndpointAudience": {
+ "description": "Azure Management Endpoint Audience.",
+ "type": "string"
+ },
+ "serviceResourceId": {
+ "description": "Service Resource Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureActiveDirectory"
+ },
+ "ResourceCertificateAndAcsDetails": {
+ "description": "Certificate details representing the Vault credentials for ACS.",
+ "required": [
+ "certificate",
+ "resourceId",
+ "globalAcsNamespace",
+ "globalAcsHostName",
+ "globalAcsRPRealm",
+ "subject",
+ "validFrom",
+ "validTo",
+ "thumbprint",
+ "friendlyName",
+ "issuer"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceCertificateDetails"
+ }
+ ],
+ "properties": {
+ "globalAcsNamespace": {
+ "description": "ACS namespace name - tenant for our service.",
+ "type": "string"
+ },
+ "globalAcsHostName": {
+ "description": "Acs mgmt host name to connect to.",
+ "type": "string"
+ },
+ "globalAcsRPRealm": {
+ "description": "Global ACS namespace RP realm.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AccessControlService"
+ },
+ "ResourceCertificateDetails": {
+ "description": "Certificate details representing the Vault credentials.",
+ "required": [
+ "authType"
+ ],
+ "type": "object",
+ "properties": {
+ "authType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ },
+ "certificate": {
+ "format": "byte",
+ "description": "The base64 encoded certificate raw data string.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Certificate friendly name.",
+ "type": "string"
+ },
+ "issuer": {
+ "description": "Certificate issuer.",
+ "type": "string"
+ },
+ "resourceId": {
+ "format": "int64",
+ "description": "Resource ID of the vault.",
+ "type": "integer"
+ },
+ "subject": {
+ "description": "Certificate Subject Name.",
+ "type": "string"
+ },
+ "thumbprint": {
+ "description": "Certificate thumbprint.",
+ "type": "string"
+ },
+ "validFrom": {
+ "format": "date-time",
+ "description": "Certificate Validity start Date time.",
+ "type": "string"
+ },
+ "validTo": {
+ "format": "date-time",
+ "description": "Certificate Validity End Date time.",
+ "type": "string"
+ }
+ },
+ "discriminator": "authType"
+ },
+ "VaultCertificateResponse": {
+ "description": "Certificate corresponding to a vault that can be used by clients to register themselves with the vault.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/ResourceCertificateDetails"
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/replicationusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/replicationusages.json
new file mode 100644
index 000000000000..d1e18e9284be
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/replicationusages.json
@@ -0,0 +1,208 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-01",
+ "title": "RecoveryServicesClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages": {
+ "get": {
+ "tags": [
+ "ReplicationUsages"
+ ],
+ "description": "Fetches the replication usages of the vault.",
+ "operationId": "ReplicationUsages_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationUsageList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Gets Replication usages of vault": {
+ "$ref": "./examples/ListReplicationUsages.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "JobsSummary": {
+ "description": "Summary of the replication job data for this vault.",
+ "type": "object",
+ "properties": {
+ "failedJobs": {
+ "description": "Count of failed jobs.",
+ "type": "integer"
+ },
+ "suspendedJobs": {
+ "description": "Count of suspended jobs.",
+ "type": "integer"
+ },
+ "inProgressJobs": {
+ "description": "Count of in-progress jobs.",
+ "type": "integer"
+ }
+ }
+ },
+ "MonitoringSummary": {
+ "description": "Summary of the replication monitoring data for this vault.",
+ "type": "object",
+ "properties": {
+ "unHealthyVmCount": {
+ "description": "Count of unhealthy VMs.",
+ "type": "integer"
+ },
+ "unHealthyProviderCount": {
+ "description": "Count of unhealthy replication providers.",
+ "type": "integer"
+ },
+ "eventsCount": {
+ "description": "Count of all critical warnings.",
+ "type": "integer"
+ },
+ "deprecatedProviderCount": {
+ "description": "Count of all deprecated recovery service providers.",
+ "type": "integer"
+ },
+ "supportedProviderCount": {
+ "description": "Count of all the supported recovery service providers.",
+ "type": "integer"
+ },
+ "unsupportedProviderCount": {
+ "description": "Count of all the unsupported recovery service providers.",
+ "type": "integer"
+ }
+ }
+ },
+ "ReplicationUsage": {
+ "description": "Replication usages of a vault.",
+ "type": "object",
+ "properties": {
+ "monitoringSummary": {
+ "$ref": "#/definitions/MonitoringSummary",
+ "description": "Summary of the replication monitoring data for this vault."
+ },
+ "jobsSummary": {
+ "$ref": "#/definitions/JobsSummary",
+ "description": "Summary of the replication jobs data for this vault."
+ },
+ "protectedItemCount": {
+ "description": "Number of replication protected items for this vault.",
+ "type": "integer"
+ },
+ "recoveryPlanCount": {
+ "description": "Number of replication recovery plans for this vault.",
+ "type": "integer"
+ },
+ "registeredServersCount": {
+ "description": "Number of servers registered to this vault.",
+ "type": "integer"
+ },
+ "recoveryServicesProviderAuthType": {
+ "description": "The authentication type of recovery service providers in the vault.",
+ "type": "integer"
+ }
+ }
+ },
+ "ReplicationUsageList": {
+ "description": "Replication usages for vault.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of replication usages for the given vault.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationUsage"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/vaults.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/vaults.json
new file mode 100644
index 000000000000..fd16afee6b83
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/vaults.json
@@ -0,0 +1,1798 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-01",
+ "title": "RecoveryServicesClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "ListPrivateLinkResources"
+ ],
+ "summary": "Returns the list of private link resources that need to be created for Backup and SiteRecovery",
+ "operationId": "PrivateLinkResources_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResources"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "List PrivateLinkResources": {
+ "$ref": "./examples/ListPrivateLinkResources.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources/{privateLinkResourceName}": {
+ "get": {
+ "tags": [
+ "GetPrivateLinkResources"
+ ],
+ "summary": "Returns a specified private link resource that need to be created for Backup and SiteRecovery",
+ "operationId": "PrivateLinkResources_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "privateLinkResourceName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get PrivateLinkResource": {
+ "$ref": "./examples/GetPrivateLinkResources.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "RecoveryServices"
+ ],
+ "summary": "API to check for resource name availability.\r\nA name is available if no other resource exists that has the same SubscriptionId, Resource Name and Type\r\nor if one or more such resources exist, each of these must be GC'd and their time of deletion be more than 24 Hours Ago",
+ "operationId": "RecoveryServices_CheckNameAvailability",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Location of the resource",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Contains information about Resource type and Resource name",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Availability status of Resource Name when no resource with same name, type and subscription exists, nor has been deleted within last 24 hours": {
+ "$ref": "./examples/CheckNameAvailability_Available.json"
+ },
+ "Availability status of Resource Name when resource with same name, type and subscription exists": {
+ "$ref": "./examples/CheckNameAvailability_NotAvailable.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "description": "Fetches all the resources of the specified type in the subscription.",
+ "operationId": "Vaults_ListBySubscriptionId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "List of Recovery Services Resources in SubscriptionId": {
+ "$ref": "./examples/ListBySubscriptionIds.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.RecoveryServices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Returns the list of available operations.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClientDiscoveryResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "ListOperations": {
+ "$ref": "./examples/ListOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "description": "Retrieve a list of Vaults.",
+ "operationId": "Vaults_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "List of Recovery Services Resources in ResourceGroup": {
+ "$ref": "./examples/ListResources.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "description": "Get the Vault details.",
+ "operationId": "Vaults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Recovery Services Resource": {
+ "$ref": "./examples/GETVault.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Vaults"
+ ],
+ "description": "Creates or updates a Recovery Services vault.",
+ "operationId": "Vaults_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "vault",
+ "in": "body",
+ "description": "Recovery Services Vault to be created.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Create or Update Recovery Services vault": {
+ "$ref": "./examples/PUTVault.json"
+ },
+ "Create or Update Vault with User Assigned Identity": {
+ "$ref": "./examples/PUTVault_WithUserAssignedIdentity.json"
+ },
+ "Create or Update Vault with CustomerManagedKeys": {
+ "$ref": "./examples/PUTVault_WithCMK.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Vaults"
+ ],
+ "description": "Deletes a vault.",
+ "operationId": "Vaults_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Delete Recovery Services Vault": {
+ "$ref": "./examples/DeleteVault.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Vaults"
+ ],
+ "description": "Updates the vault.",
+ "operationId": "Vaults_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "vault",
+ "in": "body",
+ "description": "Recovery Services Vault to be created.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchVault"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Update Resource": {
+ "$ref": "./examples/PATCHVault.json"
+ },
+ "Update Resource With User Assigned Identity": {
+ "$ref": "./examples/PATCHVault_WithUserAssignedIdentity.json"
+ },
+ "Update Resource With CustomerManagedKeys": {
+ "$ref": "./examples/PATCHVault_WithCMK.json"
+ },
+ "Update Resource With CustomerManagedKeys2": {
+ "$ref": "./examples/PatchVault_WithCMK2.json"
+ },
+ "Update Resource With CustomerManagedKeys3": {
+ "$ref": "./examples/PATCHVault_WithCMK3.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo": {
+ "get": {
+ "tags": [
+ "VaultExtendedInfo"
+ ],
+ "description": "Get the vault extended info.",
+ "operationId": "VaultExtendedInfo_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultExtendedInfoResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get ExtendedInfo of Resource": {
+ "$ref": "./examples/GETVaultExtendedInfo.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "VaultExtendedInfo"
+ ],
+ "description": "Create vault extended info.",
+ "operationId": "VaultExtendedInfo_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceResourceExtendedInfoDetails",
+ "in": "body",
+ "description": "Details of ResourceExtendedInfo",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultExtendedInfoResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultExtendedInfoResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Put ExtendedInfo of Resource": {
+ "$ref": "./examples/UpdateVaultExtendedInfo.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VaultExtendedInfo"
+ ],
+ "description": "Update vault extended info.",
+ "operationId": "VaultExtendedInfo_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceResourceExtendedInfoDetails",
+ "in": "body",
+ "description": "Details of ResourceExtendedInfo",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultExtendedInfoResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultExtendedInfoResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "PATCH ExtendedInfo of Resource": {
+ "$ref": "./examples/UpdateVaultExtendedInfo.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "description": "Gets the operation status for a resource.",
+ "operationId": "GetOperationStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Status": {
+ "$ref": "./examples/GetOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "description": "Gets the operation result for a resource.",
+ "operationId": "GetOperationResult",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Result": {
+ "$ref": "./examples/GetOperationResult.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CheckNameAvailabilityParameters": {
+ "description": "Resource Name availability input parameters - Resource type and resource name",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Describes the Resource type: Microsoft.RecoveryServices/Vaults",
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name for which availability needs to be checked",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityResult": {
+ "description": "Response for check name availability API. Resource provider will set availability as true | false.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryDisplay": {
+ "description": "Localized display information of an operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider for display purposes",
+ "type": "string"
+ },
+ "resource": {
+ "description": "ResourceType for which this Operation can be performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operations Name itself.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation having details of what operation is about.",
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryForLogSpecification": {
+ "description": "Class to represent shoebox log specification in json client discovery.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the log.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blobs created in customer storage account per hour",
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryForProperties": {
+ "description": "Class to represent shoebox properties in json client discovery.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ClientDiscoveryForServiceSpecification",
+ "description": "Operation properties."
+ }
+ }
+ },
+ "ClientDiscoveryForServiceSpecification": {
+ "description": "Class to represent shoebox service specification in json client discovery.",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "List of log specifications of this operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryForLogSpecification"
+ }
+ }
+ }
+ },
+ "ClientDiscoveryResponse": {
+ "description": "Operations List response which contains list of available APIs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of available operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryValueForSingleApi"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next chunk of the response",
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryValueForSingleApi": {
+ "description": "Available operation details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Operation.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/ClientDiscoveryDisplay",
+ "description": "Contains the localized display information for this particular operation"
+ },
+ "origin": {
+ "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ClientDiscoveryForProperties",
+ "description": "ShoeBox properties for the given operation."
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM Resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "Optional ETag.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "Sku": {
+ "description": "Identifies the unique system identifier for each Azure resource.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The Sku name.",
+ "enum": [
+ "Standard",
+ "RS0"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The Sku tier.",
+ "type": "string"
+ },
+ "family": {
+ "description": "The sku family",
+ "type": "string"
+ },
+ "size": {
+ "description": "The sku size",
+ "type": "string"
+ },
+ "capacity": {
+ "description": "The sku capacity",
+ "type": "string"
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "Tracked resource with location.",
+ "type": "object",
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PatchTrackedResource": {
+ "description": "Tracked resource with location.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "UpgradeDetails": {
+ "description": "Details for upgrading vault.",
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "description": "ID of the vault upgrade operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTimeUtc": {
+ "description": "UTC time at which the upgrade operation has started.",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "lastUpdatedTimeUtc": {
+ "description": "UTC time at which the upgrade operation status was last updated.",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "endTimeUtc": {
+ "description": "UTC time at which the upgrade operation has ended.",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "status": {
+ "description": "Status of the vault upgrade operation.",
+ "enum": [
+ "Unknown",
+ "InProgress",
+ "Upgraded",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VaultUpgradeState",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "Message to the user containing information about the upgrade operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "triggerType": {
+ "description": "The way the vault upgrade was triggered.",
+ "enum": [
+ "UserTriggered",
+ "ForcedUpgrade"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TriggerType",
+ "modelAsString": true
+ }
+ },
+ "upgradedResourceId": {
+ "description": "Resource ID of the upgraded vault.",
+ "type": "string",
+ "readOnly": true
+ },
+ "previousResourceId": {
+ "description": "Resource ID of the vault before the upgrade.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Vault": {
+ "description": "Resource information, as returned by the resource provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/IdentityData"
+ },
+ "properties": {
+ "$ref": "#/definitions/VaultProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku"
+ },
+ "systemData": {
+ "$ref": "#/definitions/systemData"
+ }
+ }
+ },
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "PatchVault": {
+ "description": "Patch Resource information, as returned by the resource provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PatchTrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityData"
+ }
+ }
+ },
+ "VaultExtendedInfo": {
+ "description": "Vault extended information.",
+ "type": "object",
+ "properties": {
+ "integrityKey": {
+ "description": "Integrity key.",
+ "type": "string"
+ },
+ "encryptionKey": {
+ "description": "Encryption key.",
+ "type": "string"
+ },
+ "encryptionKeyThumbprint": {
+ "description": "Encryption key thumbprint.",
+ "type": "string"
+ },
+ "algorithm": {
+ "description": "Algorithm for Vault ExtendedInfo",
+ "type": "string"
+ }
+ }
+ },
+ "VaultExtendedInfoResource": {
+ "description": "Vault extended information.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultExtendedInfo",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "VaultList": {
+ "description": "The response model for a list of Vaults.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VaultProperties": {
+ "description": "Properties of the vault.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning State.",
+ "type": "string",
+ "readOnly": true
+ },
+ "upgradeDetails": {
+ "$ref": "#/definitions/UpgradeDetails"
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnectionVaultProperties"
+ },
+ "description": "List of private endpoint connection.",
+ "readOnly": true
+ },
+ "privateEndpointStateForBackup": {
+ "description": "Private endpoint state for backup.",
+ "enum": [
+ "None",
+ "Enabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VaultPrivateEndpointState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpointStateForSiteRecovery": {
+ "description": "Private endpoint state for site recovery.",
+ "enum": [
+ "None",
+ "Enabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VaultPrivateEndpointState",
+ "modelAsString": true
+ }
+ },
+ "encryption": {
+ "description": "Customer Managed Key details of the resource.",
+ "type": "object",
+ "properties": {
+ "keyVaultProperties": {
+ "$ref": "#/definitions/CmkKeyVaultProperties"
+ },
+ "kekIdentity": {
+ "$ref": "#/definitions/CmkKekIdentity"
+ },
+ "infrastructureEncryption": {
+ "description": "Enabling/Disabling the Double Encryption state",
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "InfrastructureEncryptionState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "moveDetails": {
+ "description": "The details of the latest move operation performed on the Azure Resource",
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "description": "OperationId of the Resource Move Operation",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTimeUtc": {
+ "description": "Start Time of the Resource Move Operation",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "completionTimeUtc": {
+ "description": "End Time of the Resource Move Operation",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "sourceResourceId": {
+ "description": "Source Resource of the Resource Move Operation",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetResourceId": {
+ "description": "Target Resource of the Resource Move Operation",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "moveState": {
+ "description": "The State of the Resource after the move operation",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Unknown",
+ "InProgress",
+ "PrepareFailed",
+ "CommitFailed",
+ "PrepareTimedout",
+ "CommitTimedout",
+ "MoveSucceeded",
+ "Failure",
+ "CriticalFailure",
+ "PartialSuccess"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceMoveState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "IdentityData": {
+ "required": [
+ "type"
+ ],
+ "type": "object",
+ "description": "Identity for the resource.",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.",
+ "enum": [
+ "SystemAssigned",
+ "None",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentity"
+ }
+ }
+ }
+ },
+ "UserIdentity": {
+ "type": "object",
+ "description": "A resource identity that is managed by the user of the service.",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of the user-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "The client ID of the user-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateEndpointConnectionVaultProperties": {
+ "description": "Information to be stored in Vault properties as an element of privateEndpointConnections List.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Format of id subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.[Service]/{resource}/{resourceName}/privateEndpointConnections/{connectionName}.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "name": {
+ "description": "The name of the private Endpoint Connection",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type, which will be of the format, Microsoft.RecoveryServices/vaults/privateEndpointConnections",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "The location of the private Endpoint connection",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "Private Endpoint Connection Response Properties.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Gets or sets provisioning state of the private endpoint connection.",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Deleting",
+ "Failed",
+ "Pending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Gets or sets id.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "Gets or sets private link service connection state.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Gets or sets the status.",
+ "readOnly": true,
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "Gets or sets description.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "Gets or sets actions required.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResources": {
+ "description": "Class which represent the stamps associated with the vault.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of private link resources",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next chunk of the response",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "Information of the private link resource.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "Fully qualified identifier of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "e.g. Microsoft.RecoveryServices/vaults/privateLinkResources",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "description": "Properties of the private link resource.",
+ "properties": {
+ "groupId": {
+ "description": "e.g. f9ad6492-33d4-4690-9999-6bfd52a0d081 (Backup) or f9ad6492-33d4-4690-9999-6bfd52a0d082 (SiteRecovery)",
+ "readOnly": true,
+ "type": "string"
+ },
+ "requiredMembers": {
+ "description": "[backup-ecs1, backup-prot1, backup-prot1b, backup-prot1c, backup-id1]",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The private link resource Private link DNS zone name.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CmkKeyVaultProperties": {
+ "type": "object",
+ "description": "The properties of the Key Vault which hosts CMK",
+ "properties": {
+ "keyUri": {
+ "description": "The key uri of the Customer Managed Key",
+ "type": "string"
+ }
+ }
+ },
+ "CmkKekIdentity": {
+ "type": "object",
+ "description": "The details of the identity used for CMK",
+ "properties": {
+ "useSystemAssignedIdentity": {
+ "type": "boolean",
+ "description": "Indicate that system assigned identity should be used. Mutually exclusive with 'userAssignedIdentity' field"
+ },
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned"
+ }
+ }
+ },
+ "OperationResource": {
+ "type": "object",
+ "description": "Operation Resource",
+ "properties": {
+ "endTime": {
+ "description": "End time of the operation",
+ "format": "date-time",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines."
+ },
+ "id": {
+ "description": "It should match what is used to GET the operation result",
+ "type": "string"
+ },
+ "name": {
+ "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the operation. (InProgress/Success/Failed/Cancelled)",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "Start time of the operation",
+ "format": "date-time",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "description": "An error response from Azure Backup.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "title": "CloudError",
+ "x-ms-external": true
+ },
+ "Error": {
+ "description": "The resource management error response.",
+ "properties": {
+ "additionalInfo": {
+ "description": "The error additional info.",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "code": {
+ "description": "The error code.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "details": {
+ "description": "The error details.",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "message": {
+ "description": "The error message.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "target": {
+ "description": "The error target.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "description": "The resource management error additional info.",
+ "properties": {
+ "info": {
+ "description": "The additional info.",
+ "readOnly": true,
+ "type": "object"
+ },
+ "type": {
+ "description": "The additional info type.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/vaultusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/vaultusages.json
new file mode 100644
index 000000000000..24ec496aee5c
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/vaultusages.json
@@ -0,0 +1,189 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-01",
+ "title": "RecoveryServicesClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages": {
+ "get": {
+ "tags": [
+ "VaultUsages"
+ ],
+ "description": "Fetches the usages of the vault.",
+ "operationId": "Usages_ListByVaults",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultUsageList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Gets vault usages": {
+ "$ref": "./examples/ListUsages.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VaultUsage": {
+ "description": "Usages of a vault.",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "description": "Unit of the usage.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "Percent",
+ "CountPerSecond",
+ "BytesPerSecond"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UsagesUnit",
+ "modelAsString": true
+ }
+ },
+ "quotaPeriod": {
+ "description": "Quota period of usage.",
+ "type": "string"
+ },
+ "nextResetTime": {
+ "format": "date-time",
+ "description": "Next reset time of usage.",
+ "type": "string"
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "Current value of usage.",
+ "type": "integer"
+ },
+ "limit": {
+ "format": "int64",
+ "description": "Limit of usage.",
+ "type": "integer"
+ },
+ "name": {
+ "$ref": "#/definitions/NameInfo",
+ "description": "Name of usage."
+ }
+ }
+ },
+ "VaultUsageList": {
+ "description": "Usage for vault.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of usages for the given vault.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultUsage"
+ }
+ }
+ }
+ },
+ "NameInfo": {
+ "description": "The name of usage.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value of usage.",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of usage.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/recoveryservices/resource-manager/readme.go.md b/specification/recoveryservices/resource-manager/readme.go.md
index f01c35278853..1eab64facfb3 100644
--- a/specification/recoveryservices/resource-manager/readme.go.md
+++ b/specification/recoveryservices/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/recoveryservices/armrecoveryservices
+module-name: sdk/resourcemanager/recoveryservices/armrecoveryservices
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/recoveryservices/resource-manager/readme.md b/specification/recoveryservices/resource-manager/readme.md
index 4f7056cda102..2d0d47c9298c 100644
--- a/specification/recoveryservices/resource-manager/readme.md
+++ b/specification/recoveryservices/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the RecoveryServices API.
title: RecoveryServicesClient
description: Recovery Services Client
openapi-type: arm
-tag: package-2021-07
+tag: package-2021-08
```
### Validations
@@ -41,11 +41,24 @@ model-validator: true
semantic-validator: true
message-format: json
```
+
+
+### Tag: package-2021-08
+
+These settings apply only when `--tag=package-2021-08` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-08'
+input-file:
+ - Microsoft.RecoveryServices/stable/2021-08-01/registeredidentities.json
+ - Microsoft.RecoveryServices/stable/2021-08-01/replicationusages.json
+ - Microsoft.RecoveryServices/stable/2021-08-01/vaults.json
+ - Microsoft.RecoveryServices/stable/2021-08-01/vaultusages.json
+```
### Tag: package-2021-07
These settings apply only when `--tag=package-2021-07` is specified on the command line.
-```yaml $(tag) == 'package-2021-07'
+``` yaml $(tag) == 'package-2021-07'
input-file:
- Microsoft.RecoveryServices/stable/2021-07-01/registeredidentities.json
- Microsoft.RecoveryServices/stable/2021-07-01/replicationusages.json
@@ -57,13 +70,14 @@ input-file:
These settings apply only when `--tag=package-2021-06` is specified on the command line.
-```yaml $(tag) == 'package-2021-06'
+``` yaml $(tag) == 'package-2021-06'
input-file:
- Microsoft.RecoveryServices/stable/2021-06-01/registeredidentities.json
- Microsoft.RecoveryServices/stable/2021-06-01/replicationusages.json
- Microsoft.RecoveryServices/stable/2021-06-01/vaults.json
- Microsoft.RecoveryServices/stable/2021-06-01/vaultusages.json
```
+
### Tag: package-2021-04
These settings apply only when `--tag=package-2021-04` is specified on the command line.
@@ -163,6 +177,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json
index e969e23075ff..4e23d726cd52 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json
@@ -185,6 +185,9 @@
"x-ms-examples": {
"Trigger Cross Region Restore": {
"$ref": "./examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json"
+ },
+ "Trigger Cross Region Restore with identityBasedRestoreDetails": {
+ "$ref": "./examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json"
}
}
}
@@ -3161,10 +3164,28 @@
"identityInfo": {
"$ref": "#/definitions/IdentityInfo",
"description": "Managed Identity information required to access customer storage account."
+ },
+ "identityBasedRestoreDetails": {
+ "$ref": "#/definitions/IdentityBasedRestoreDetails",
+ "description": "IaaS VM workload specific restore details for restores using managed identity."
}
},
"x-ms-discriminator-value": "IaasVMRestoreRequest"
},
+ "IdentityBasedRestoreDetails": {
+ "description": "IaaS VM workload specific restore details for restores using managed identity",
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ },
+ "targetStorageAccountId": {
+ "description": "Fully qualified ARM ID of the target storage account.",
+ "type": "string"
+ }
+ }
+ },
"IdentityInfo": {
"description": "Encapsulates Managed Identity related information",
"type": "object",
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json
new file mode 100644
index 000000000000..27e384bd7f6b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2018-12-20",
+ "parameters": {
+ "crossRegionRestoreAccessDetails": {
+ "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhqaUJHdVExa2lWV2hyc2lzLUhEckhyWVZNbyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiIzM2UwMTkyMS00ZDY0LTRmOGMtYTA1NS01YmRhZmZkNWUzM2QiLCJBYWRTUE9iamVjdElkIjoiOTMzMjc2ZmMtMWJiNy00ZWNiLTk0ZTYtYWY3ODMyNWY3MjZhIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMTMzMDgzNzkwNjQxODEzODE2MC9wcm90ZWN0aW9uQ29udGFpbmVycy8xMTE0Ni9wcm90ZWN0ZWRJdGVtcy8xMTQyOTM3MDMxL3JlY292ZXJ5UG9pbnRzLzg3MTc4MzU1MzkyNzE2IiwiaXNzIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2UiLCJhdWQiOiJodHRwczovL1JlY292ZXJ5U2VydmljZXMvUHJvdGVjdGlvblNlcnZpY2UiLCJleHAiOjE1NzExMjE5ODYsIm5iZiI6MTU3MTAzNTI4Nn0.oNbeX8ueE6JRGU0IagFjkOlU-o48ez9gCeCrn1-8XEsaVtYJIFKq9FeHfPAoCMxiLQvwL7S0JTjDTjiEsZEvr_VM7tDVwW3sESo2oW-SZlxT_1dJiUBn0jVlQyfDcHEMzbkaTuZswgNWfowgOrnJ67y-ztSUcegf3eVKPEhN1enBBS7pIuL9bZ3SVwMuqznUen6dH54y9lN2w6H14X0UK2CwSN94Uh-spB27j9SbksxLY_tyZm6xsamZFTHpwbgZwR24-GDtElPSxpFL6n_tWLSCHQtN9s84o0X7PfFaMkVmGWbOf4AZmP9M6agagG0JLnlOwObr07YrzZRkg3s2eQ",
+ "backupManagementType": "AzureIaasVM",
+ "containerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux",
+ "containerType": "IaasVMContainer",
+ "coordinatorServiceStampUri": "https://pod01-coord1.ccy.backup.windowsazure.com",
+ "datasourceContainerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux",
+ "datasourceId": "1142937031",
+ "datasourceName": "sriniccylinux",
+ "datasourceType": "VM",
+ "protectionServiceStampId": "90d98224-2ac6-4bda-9f35-33fb22841f2a",
+ "protectionServiceStampUri": "https://pod01-prot1-int.ccy.backup.windowsazure.com",
+ "recoveryPointId": "87178355392716",
+ "recoveryPointTime": "10/9/2019 6:05:54 PM",
+ "resourceGroupName": "srinivasccyrg",
+ "resourceId": "1330837906418138160",
+ "resourceName": "sriniccyvault",
+ "subscriptionId": "f2edfd5d-5496-4683-b94f-b3588c579009",
+ "tokenExtendedInformation": "V2015_09f2edfd5d-5496-4683-b94f-b3588c579009;AzureBackup_sriniccylinux_1142937031;AzureBackup_20191009_060554;AzureBackupRG_centraluseuap_1truetruefalseLinuxFileSystemConsistentPremiumVMOnPremiumStorageStandard_D2s_v3"
+ },
+ "restoreRequest": {
+ "affinityGroup": "",
+ "createNewCloudService": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ },
+ "identityBasedRestoreDetails": {
+ "targetStorageAccountId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00prjaiTestRg1/providers/Microsoft.Storage/storageAccounts/00prjaitestrg1disks993"
+ },
+ "objectType": "IaasVMRestoreRequest",
+ "originalStorageAccountOption": false,
+ "recoveryPointId": "87178355392716",
+ "recoveryType": "AlternateLocation",
+ "region": "eastus2euap",
+ "sourceResourceId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/srinivasccyrg/providers/Microsoft.Compute/virtualMachines/sriniccylinux",
+ "subnetId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet/subnets/default",
+ "targetDomainNameId": null,
+ "targetResourceGroupId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl",
+ "targetVirtualMachineId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl/providers/Microsoft.Compute/virtualMachines/gaallaVM",
+ "virtualNetworkId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet",
+ "zones": [
+ "2"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "location: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationResults/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2018-12-20-preview",
+ "Azure-AsyncOperation": "azure-asyncoperation: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationsStatus/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2018-12-20-preview",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/bms.json
index 92f525b340dc..e369f288f630 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/bms.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/bms.json
@@ -1823,12 +1823,18 @@
"Restore to New Azure IaasVm with IaasVMRestoreRequest": {
"$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json"
},
+ "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json"
+ },
"Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest": {
"$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json"
},
"Restore Disks with IaasVMRestoreRequest": {
"$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json"
},
+ "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json"
+ },
"Restore Disks with IaasVMRestoreWithRehydrationRequest": {
"$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json"
}
@@ -2577,6 +2583,9 @@
"x-ms-examples": {
"Validate Operation": {
"$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json"
+ },
+ "Validate Operation with identityBasedRestoreDetails": {
+ "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json"
}
}
}
@@ -6647,6 +6656,20 @@
},
"x-ms-discriminator-value": "GenericProtectionPolicy"
},
+ "IdentityBasedRestoreDetails": {
+ "description": "IaaS VM workload specific restore details for restores using managed identity",
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ },
+ "targetStorageAccountId": {
+ "description": "Fully qualified ARM ID of the target storage account.",
+ "type": "string"
+ }
+ }
+ },
"IdentityInfo": {
"description": "Encapsulates Managed Identity related information",
"type": "object",
@@ -6947,6 +6970,10 @@
"identityInfo": {
"$ref": "#/definitions/IdentityInfo",
"description": "Managed Identity information required to access customer storage account."
+ },
+ "identityBasedRestoreDetails": {
+ "$ref": "#/definitions/IdentityBasedRestoreDetails",
+ "description": "IaaS VM workload specific restore details for restores using managed identity."
}
},
"x-ms-discriminator-value": "IaasVMRestoreRequest"
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json
new file mode 100644
index 000000000000..9eeedbf51f40
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2021-07-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "AlternateLocation",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435",
+ "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2",
+ "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
+ "region": "southeastasia",
+ "createNewCloudService": false,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": true
+ },
+ "identityBasedRestoreDetails": {
+ "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json
new file mode 100644
index 000000000000..179c3249ece5
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2021-07-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ },
+ "identityBasedRestoreDetails": {
+ "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json
new file mode 100644
index 000000000000..f8677e832d0a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName",
+ "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2021-07-01",
+ "parameters": {
+ "objectType": "ValidateIaasVMRestoreOperationRequest",
+ "restoreRequest": {
+ "recoveryPointId": "348916168024334",
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ },
+ "identityBasedRestoreDetails": {
+ "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "validateOperationResponse": {
+ "validationResults": [
+ {
+ "code": "UserErrorCoreCountSubscriptionQuotaReached",
+ "message": "Core Count subscription quota has been reached.",
+ "recommendations": [
+ "Contact Azure support to increase the limits."
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/bms.json
new file mode 100644
index 000000000000..95fcdab951fe
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/bms.json
@@ -0,0 +1,11958 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-01",
+ "title": "RecoveryServicesBackupClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": {
+ "get": {
+ "tags": [
+ "BackupResourceStorageConfigsNonCRR"
+ ],
+ "description": "Fetches resource storage config.",
+ "operationId": "BackupResourceStorageConfigsNonCRR_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupResourceStorageConfigsNonCRR"
+ ],
+ "description": "Updates vault storage model type.",
+ "operationId": "BackupResourceStorageConfigsNonCRR_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Vault storage config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Put.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupResourceStorageConfigsNonCRR"
+ ],
+ "description": "Updates vault storage model type.",
+ "operationId": "BackupResourceStorageConfigsNonCRR_patch",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Vault storage config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Patch.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": {
+ "post": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.",
+ "operationId": "ProtectionIntent_Validate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Enable backup validation request on Virtual Machine",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PreValidateEnableBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PreValidateEnableBackupResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate Enable Protection on Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": {
+ "post": {
+ "tags": [
+ "BackupStatus"
+ ],
+ "summary": "Get the container backup status",
+ "operationId": "BackupStatus_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Container Backup Status Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupStatusRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupStatusResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Virtual Machine Backup Status": {
+ "$ref": "./examples/AzureIaasVm/GetBackupStatus.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": {
+ "post": {
+ "tags": [
+ "FeatureSupport"
+ ],
+ "summary": "It will validate if given feature with resource properties is supported in service",
+ "operationId": "FeatureSupport_Validate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Feature support request object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FeatureSupportRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check Azure Vm Backup Feature Support": {
+ "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": {
+ "get": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.",
+ "operationId": "ProtectionIntent_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "Backed up item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ProtectionIntent for an item": {
+ "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.",
+ "operationId": "ProtectionIntent_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "Intent object name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backed up item",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Azure Vm Protection Intent": {
+ "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "description": "Used to remove intent from an item",
+ "operationId": "ProtectionIntent_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the intent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "Intent to be deleted.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-examples": {
+ "Delete Protection intent from item": {
+ "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": {
+ "get": {
+ "tags": [
+ "BackupProtectionIntent"
+ ],
+ "description": "Provides a pageable list of all intents that are present within a vault.",
+ "operationId": "BackupProtectionIntent_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResourceList"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/ProtectionIntentQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protection intent with backupManagementType filter": {
+ "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": {
+ "get": {
+ "tags": [
+ "BackupUsageSummaries"
+ ],
+ "description": "Fetches the backup management usage summaries of the vault.",
+ "operationId": "BackupUsageSummaries_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupManagementUsageList"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Get Protected Items Usages Summary": {
+ "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json"
+ },
+ "Get Protected Containers Usages Summary": {
+ "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.RecoveryServices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Returns the list of available operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClientDiscoveryResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "ListOperations": {
+ "$ref": "./examples/ListOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": {
+ "get": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Fetches resource vault config.",
+ "operationId": "BackupResourceVaultConfigs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Updates vault security config.",
+ "operationId": "BackupResourceVaultConfigs_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Updates vault security config. ",
+ "operationId": "BackupResourceVaultConfigs_Put",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": {
+ "get": {
+ "tags": [
+ "BackupResourceEncryptionConfigs"
+ ],
+ "description": "Fetches Vault Encryption config.",
+ "operationId": "BackupResourceEncryptionConfigs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceEncryptionConfigExtendedResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Encryption Configuration": {
+ "$ref": "./examples/BackupResourceEncryptionConfig_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupResourceEncryptionConfigs"
+ ],
+ "description": "Updates Vault encryption config.",
+ "operationId": "BackupResourceEncryptionConfigs_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Vault encryption input config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceEncryptionConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Encryption Configuration": {
+ "$ref": "./examples/BackupResourceEncryptionConfig_Put.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnection"
+ ],
+ "description": "Get Private Endpoint Connection. This call is made by Backup Admin.",
+ "operationId": "PrivateEndpointConnection_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get PrivateEndpointConnection": {
+ "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnection"
+ ],
+ "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.",
+ "operationId": "PrivateEndpointConnection_Put",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update PrivateEndpointConnection": {
+ "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnection"
+ ],
+ "description": "Delete Private Endpoint requests. This call is made by Backup Admin.",
+ "operationId": "PrivateEndpointConnection_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete PrivateEndpointConnection": {
+ "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "PrivateEndpoint"
+ ],
+ "summary": "Gets the operation status for a private endpoint connection.",
+ "operationId": "PrivateEndpoint_GetOperationStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation id",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "DataMove"
+ ],
+ "description": "Fetches operation status for data move operation on vault",
+ "operationId": "GetOperationStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": {
+ "post": {
+ "tags": [
+ "DataMove"
+ ],
+ "description": "Prepares source vault for Data Move operation",
+ "operationId": "BMSPrepareDataMove",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Prepare data move request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrepareDataMoveRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Prepare Data Move": {
+ "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "BMSPrepareDataMoveOperationResult"
+ ],
+ "description": "Fetches Operation Result for Prepare Data Move",
+ "operationId": "BMSPrepareDataMoveOperationResult_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultStorageConfigOperationResultResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. ",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get operation result for PrepareDataMove": {
+ "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": {
+ "post": {
+ "tags": [
+ "DataMove"
+ ],
+ "description": "Triggers Data Move Operation on target vault",
+ "operationId": "BMSTriggerDataMove",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Trigger data move request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TriggerDataMoveRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Trigger Data Move": {
+ "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": {
+ "get": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/GetProtectedItemQueryObject",
+ "x-ms-examples": {
+ "Get Protected Classic Virtual Machine Details": {
+ "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json"
+ },
+ "Get Protected Virtual Machine Details": {
+ "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Item name to be backed up.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backed up item",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Enable Protection on Azure IaasVm": {
+ "$ref": "./examples/AzureIaasVm/ConfigureProtection.json"
+ },
+ "Stop Protection with retain data on Azure IaasVm": {
+ "$ref": "./examples/AzureIaasVm/StopProtection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item to be deleted.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Protection from Azure Virtual Machine": {
+ "$ref": "./examples/Common/ProtectedItem_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectedItemOperationResults"
+ ],
+ "description": "Fetches the result of any operation on the backup item.",
+ "operationId": "ProtectedItemOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Results of Protected Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "description": "Lists the backup copies for the backed up item.",
+ "operationId": "RecoveryPoints_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item whose backup copies are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSRPQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Protected Azure Vm Recovery Points": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.",
+ "operationId": "RecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose backup data needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "RecoveryPointID represents the backed up data to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Vm Recovery Point Details": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": {
+ "post": {
+ "tags": [
+ "Restores"
+ ],
+ "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.",
+ "operationId": "Restores_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents the backed up data to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource restore request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestoreRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Restore to New Azure IaasVm with IaasVMRestoreRequest": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json"
+ },
+ "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json"
+ },
+ "Restore Disks with IaasVMRestoreRequest": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json"
+ },
+ "Restore Disks with IaasVMRestoreWithRehydrationRequest": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.",
+ "operationId": "BackupPolicies_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protection policies with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json"
+ },
+ "List protection policies with backupManagementType filter as AzureWorkload": {
+ "$ref": "./examples/AzureWorkload/BackupPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy information to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure IaasVm Protection Policy Details": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy to be created.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backup policy",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Simple Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json"
+ },
+ "Create or Update Full Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json"
+ },
+ "Create or Update Full Azure Workload Protection Policy": {
+ "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy to be deleted.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicyOperationResults"
+ ],
+ "description": "Provides the result of an operation.",
+ "operationId": "ProtectionPolicyOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy name whose operation's result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Protection Policy Operation Results": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": {
+ "get": {
+ "tags": [
+ "BackupJobs"
+ ],
+ "description": "Provides a pageable list of jobs.",
+ "operationId": "BackupJobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/JobQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List All Jobs": {
+ "$ref": "./examples/Common/ListJobs.json"
+ },
+ "List Jobs With Filters": {
+ "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json"
+ },
+ "List Jobs With Time Filter": {
+ "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": {
+ "get": {
+ "tags": [
+ "JobDetails"
+ ],
+ "description": "Gets extended information associated with the job.",
+ "operationId": "JobDetails_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the job whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Job Details": {
+ "$ref": "./examples/Common/GetJobDetails.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "JobCancellations"
+ ],
+ "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.",
+ "operationId": "JobCancellations_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the job to cancel.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel Job": {
+ "$ref": "./examples/Common/TriggerCancelJob.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "JobOperationResults"
+ ],
+ "description": "Fetches the result of any operation.",
+ "operationId": "JobOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job name whose operation result has to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation whose result has to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel Job Operation Result": {
+ "$ref": "./examples/Common/CancelJobOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ExportJobsOperationResults"
+ ],
+ "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.",
+ "operationId": "ExportJobsOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the export job.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResultInfoBaseResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/OperationResultInfoBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Export Jobs Operation Results": {
+ "$ref": "./examples/Common/ExportJobsOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Triggers export of jobs specified by filters and returns an OperationID to track.",
+ "operationId": "Jobs_Export",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/JobQueryObject",
+ "x-ms-examples": {
+ "Export Jobs": {
+ "$ref": "./examples/Common/TriggerExportJobs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": {
+ "get": {
+ "tags": [
+ "BackupProtectedItems"
+ ],
+ "description": "Provides a pageable list of all items that are backed up within a vault.",
+ "operationId": "BackupProtectedItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/ProtectedItemQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protected items with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": {
+ "post": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Validate operation for specified backed up item. This is a synchronous operation.",
+ "operationId": "Operation_Validate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource validate operation request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateOperationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ValidateOperationsResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate Operation": {
+ "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": {
+ "get": {
+ "tags": [
+ "BackupEngines"
+ ],
+ "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.",
+ "operationId": "BackupEngines_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupEngineBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Dpm/AzureBackupServer/Lajolla Backup Engines": {
+ "$ref": "./examples/Dpm/BackupEngines_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": {
+ "get": {
+ "tags": [
+ "BackupEngines"
+ ],
+ "description": "Returns backup management server registered to Recovery Services Vault.",
+ "operationId": "BackupEngines_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupEngineName",
+ "in": "path",
+ "description": "Name of the backup management server.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupEngineBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject",
+ "x-ms-examples": {
+ "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": {
+ "$ref": "./examples/Dpm/BackupEngines_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionContainerRefreshOperationResults"
+ ],
+ "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.",
+ "operationId": "ProtectionContainerRefreshOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID associated with the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Azure Vm Discovery Operation Result": {
+ "$ref": "./examples/Common/RefreshContainers_OperationResults.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": {
+ "get": {
+ "tags": [
+ "ProtectableContainers"
+ ],
+ "description": "Lists the containers that can be registered to Recovery Services Vault.",
+ "operationId": "ProtectableContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableContainerResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSContainerQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protectable items with backupManagementType filter as AzureStorage": {
+ "$ref": "./examples/AzureStorage/ProtectableContainers_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": {
+ "get": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Gets details of the specific container registered to your Recovery Services Vault.",
+ "operationId": "ProtectionContainers_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the fabric where the container belongs.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container whose details need to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Protection Container Details": {
+ "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Registers the container with Recovery Services vault.\r\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\r\nthe operation.",
+ "operationId": "ProtectionContainers_Register",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container to be registered.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegisterAzure Storage ProtectionContainers": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\nwhether the backend service has finished processing the request, call Get Container Operation Result API.",
+ "operationId": "ProtectionContainers_Unregister",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the fabric where the container belongs.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Unregister Protection Container": {
+ "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": {
+ "post": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "summary": "Inquires all the protectable items under the given container.",
+ "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.",
+ "operationId": "ProtectionContainers_Inquire",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric Name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container in which inquiry needs to be triggered.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject",
+ "x-ms-examples": {
+ "Inquire Azure Storage Protection Containers": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": {
+ "get": {
+ "tags": [
+ "BackupWorkloadItems"
+ ],
+ "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\nparameters.",
+ "operationId": "BackupWorkloadItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkloadItemResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Workload Items in Container": {
+ "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionContainerOperationResults"
+ ],
+ "description": "Fetches the result of any operation on the container.",
+ "operationId": "ProtectionContainerOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name whose information should be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Storage Protection Container Operation Result": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": {
+ "post": {
+ "tags": [
+ "Backups"
+ ],
+ "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.",
+ "operationId": "Backups_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item for which backup needs to be triggered.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backup request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Trigger Backup": {
+ "$ref": "./examples/Common/TriggerBackup_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectedItemOperationStatuses"
+ ],
+ "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.",
+ "operationId": "ProtectedItemOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID represents the operation whose status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Status of Protected Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": {
+ "post": {
+ "tags": [
+ "ItemLevelRecoveryConnections"
+ ],
+ "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.",
+ "operationId": "ItemLevelRecoveryConnections_Provision",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose files/folders are to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource ILR request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ILRRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Provision Instant Item Level Recovery for Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/Provision_Ilr.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": {
+ "post": {
+ "tags": [
+ "ItemLevelRecoveryConnections"
+ ],
+ "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.",
+ "operationId": "ItemLevelRecoveryConnections_Revoke",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose files/folders are to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Revoke Instant Item Level Recovery for Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": {
+ "post": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.",
+ "operationId": "ProtectionContainers_Refresh",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject",
+ "x-ms-examples": {
+ "Trigger Azure Vm Discovery": {
+ "$ref": "./examples/Common/RefreshContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "BackupOperationResults"
+ ],
+ "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.",
+ "operationId": "BackupOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Result for Protected Item Delete Operation": {
+ "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": {
+ "get": {
+ "tags": [
+ "BackupOperationStatuses"
+ ],
+ "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs when the operation is complete.",
+ "operationId": "BackupOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Protected Item Delete Operation Status": {
+ "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicyOperationStatuses"
+ ],
+ "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with operation.",
+ "operationId": "ProtectionPolicyOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy name whose operation's status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents an operation whose status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Protection Policy Operation Status": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": {
+ "get": {
+ "tags": [
+ "BackupProtectableItems"
+ ],
+ "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.",
+ "operationId": "BackupProtectableItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkloadProtectableItemResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSPOQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protectable items with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": {
+ "get": {
+ "tags": [
+ "BackupProtectionContainers"
+ ],
+ "description": "Lists the containers registered to Recovery Services Vault.",
+ "operationId": "BackupProtectionContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSContainerQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Backup Protection Containers": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": {
+ "post": {
+ "tags": [
+ "SecurityPINs"
+ ],
+ "description": "Get the security PIN.",
+ "operationId": "SecurityPINs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "security pin request",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SecurityPinBase"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TokenInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Security Pin": {
+ "$ref": "./examples/Common/BackupSecurityPin_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": {
+ "post": {
+ "tags": [
+ "RecoveryPoint"
+ ],
+ "summary": "Move recovery point from one datastore to another store.",
+ "operationId": "MoveRecoveryPoint",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Move Resource Across Tiers Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MoveRPAcrossTiersRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Trigger RP Move Operation": {
+ "$ref": "./examples/TriggerRecoveryPointMove_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": {
+ "post": {
+ "tags": [
+ "RecoveryPointsRecommendedForMove"
+ ],
+ "description": "Lists the recovery points recommended for move to another tier",
+ "operationId": "RecoveryPointsRecommendedForMove_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "List Recovery points Recommended for Move Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Protected Azure Vm Recovery Points Recommended for Move": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies": {
+ "get": {
+ "tags": [
+ "ResourceGuardProxies"
+ ],
+ "description": "List the ResourceGuardProxies under vault",
+ "operationId": "ResourceGuardProxies_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get VaultGuardProxies": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": {
+ "get": {
+ "tags": [
+ "ResourceGuardProxy"
+ ],
+ "description": "Returns ResourceGuardProxy under vault and with the name referenced in request",
+ "operationId": "ResourceGuardProxy_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ResourceGuardProxy"
+ ],
+ "description": "Add or Update ResourceGuardProxy under vault\r\nSecures vault critical operations",
+ "operationId": "ResourceGuardProxy_Put",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ResourceGuardProxy"
+ ],
+ "description": "Delete ResourceGuardProxy under vault",
+ "operationId": "ResourceGuardProxy_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": {
+ "post": {
+ "tags": [
+ "ResourceGuardProxy"
+ ],
+ "description": "Secures delete ResourceGuardProxy operations.",
+ "operationId": "ResourceGuardProxy_UnlockDelete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UnlockDeleteRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UnlockDeleteResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UnlockDelete ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BackupResourceEncryptionConfig": {
+ "type": "object",
+ "properties": {
+ "encryptionAtRestType": {
+ "description": "Encryption At Rest Type",
+ "enum": [
+ "Invalid",
+ "MicrosoftManaged",
+ "CustomerManaged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionAtRestType",
+ "modelAsString": true
+ }
+ },
+ "keyUri": {
+ "description": "Key Vault Key URI",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Key Vault Subscription Id",
+ "type": "string"
+ },
+ "lastUpdateStatus": {
+ "enum": [
+ "Invalid",
+ "NotEnabled",
+ "PartiallySucceeded",
+ "PartiallyFailed",
+ "Failed",
+ "Succeeded",
+ "Initialized",
+ "FirstInitialization"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LastUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "infrastructureEncryptionState": {
+ "enum": [
+ "Invalid",
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InfrastructureEncryptionState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BackupResourceEncryptionConfigExtended": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupResourceEncryptionConfig"
+ }
+ ],
+ "properties": {
+ "userAssignedIdentity": {
+ "description": "User Assigned Identity Id",
+ "type": "string"
+ },
+ "useSystemAssignedIdentity": {
+ "description": "bool to indicate whether to use system Assigned Identity or not",
+ "type": "boolean"
+ }
+ }
+ },
+ "BackupResourceEncryptionConfigExtendedResource": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceEncryptionConfigExtended",
+ "description": "BackupResourceEncryptionConfigExtendedResource properties"
+ }
+ }
+ },
+ "BackupResourceEncryptionConfigResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceEncryptionConfig",
+ "description": "BackupResourceEncryptionConfigResource properties"
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Gets or sets id",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "Private Endpoint Connection Response Properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Gets or sets provisioning state of the private endpoint connection",
+ "enum": [
+ "Succeeded",
+ "Deleting",
+ "Failed",
+ "Pending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "Gets or sets private endpoint associated with the private endpoint connection"
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "Gets or sets private link service connection state"
+ }
+ }
+ },
+ "PrivateEndpointConnectionResource": {
+ "description": "Private Endpoint Connection Response Properties",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnection",
+ "description": "PrivateEndpointConnectionResource properties"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "Private Link Service Connection State",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Gets or sets the status",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "Gets or sets description",
+ "type": "string"
+ },
+ "actionRequired": {
+ "description": "Gets or sets actions required",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "type": "object",
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error object."
+ }
+ },
+ "description": "An error response from the Container Instance service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ },
+ "description": "An error response from the Container Instance service."
+ },
+ "NewErrorResponse": {
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "The error object.",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error target."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NewErrorResponse"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ }
+ },
+ "description": "The resource management error response."
+ },
+ "AzureFileshareProtectedItem": {
+ "description": "Azure File Share workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the fileshare represented by this backup item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "kpisHealths": {
+ "description": "Health details of different KPIs",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KPIResourceHealthDetails"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareProtectedItem"
+ },
+ "AzureFileshareProtectedItemExtendedInfo": {
+ "description": "Additional information about Azure File Share backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "resourceState": {
+ "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceStateSyncTime": {
+ "format": "date-time",
+ "description": "The resource state sync time for this backup item.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AzureFileShareRecoveryPoint": {
+ "description": "Azure File Share workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "fileShareSnapshotUri": {
+ "description": "Contains Url to the snapshot of fileshare, if applicable",
+ "type": "string"
+ },
+ "recoveryPointSizeInGB": {
+ "format": "int32",
+ "description": "Contains recovery point size",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRecoveryPoint"
+ },
+ "AzureFileShareRestoreRequest": {
+ "description": "AzureFileShare Restore Request",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Source storage account ARM Id",
+ "type": "string"
+ },
+ "copyOptions": {
+ "description": "Options to resolve copy conflicts.",
+ "enum": [
+ "Invalid",
+ "CreateCopy",
+ "Skip",
+ "Overwrite",
+ "FailOnConflict"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CopyOptions",
+ "modelAsString": true
+ }
+ },
+ "restoreRequestType": {
+ "description": "Restore Type (FullShareRestore or ItemLevelRestore)",
+ "enum": [
+ "Invalid",
+ "FullShareRestore",
+ "ItemLevelRestore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreRequestType",
+ "modelAsString": true
+ }
+ },
+ "restoreFileSpecs": {
+ "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestoreFileSpecs"
+ }
+ },
+ "targetDetails": {
+ "$ref": "#/definitions/TargetAFSRestoreInfo",
+ "description": "Target File Share Details"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRestoreRequest"
+ },
+ "AzureVmWorkloadProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "settings": {
+ "$ref": "#/definitions/Settings",
+ "description": "Common settings for the backup management"
+ },
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ }
+ },
+ "makePolicyConsistent": {
+ "description": "Fix the policy inconsistency",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkload"
+ },
+ "AzureFileShareProtectionPolicy": {
+ "description": "AzureStorage backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureStorage"
+ },
+ "AzureIaaSClassicComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureIaaSVMErrorInfo": {
+ "description": "Azure IaaS VM workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "errorTitle": {
+ "description": "Title: Typically, the entity that the error pertains to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceHealthDetails": {
+ "description": "Health Details for backup items.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer",
+ "readOnly": true
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Health Message",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "Health Recommended Actions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AzureIaaSVMHealthDetails": {
+ "description": "Azure IaaS VM workload-specific Health Details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceHealthDetails"
+ }
+ ]
+ },
+ "AzureIaaSVMJob": {
+ "description": "Azure IaaS VM workload-specific job object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMErrorInfo"
+ }
+ },
+ "virtualMachineVersion": {
+ "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo",
+ "description": "Additional information for this job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMJob"
+ },
+ "AzureIaaSVMJobExtendedInfo": {
+ "description": "Azure IaaS VM workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks associated with this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "internalPropertyBag": {
+ "description": "Job internal properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "progressPercentage": {
+ "format": "double",
+ "description": "Indicates progress of the job. Null if it has not started or completed.",
+ "type": "number"
+ },
+ "estimatedRemainingDuration": {
+ "description": "Time remaining for execution of this job.",
+ "type": "string"
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureIaaSVMJobTaskDetails": {
+ "description": "Azure IaaS VM workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "instanceId": {
+ "description": "The instanceId.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ },
+ "progressPercentage": {
+ "format": "double",
+ "description": "Progress of the task.",
+ "type": "number"
+ },
+ "taskExecutionDetails": {
+ "description": "Details about execution of the task.\r\neg: number of bytes transferred etc",
+ "type": "string"
+ }
+ }
+ },
+ "AzureIaaSVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the VM represented by this backup item.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine represented by this item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "healthStatus": {
+ "description": "Health status of protected item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthStatus",
+ "modelAsString": true
+ }
+ },
+ "healthDetails": {
+ "description": "Health details on this backup item.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMHealthDetails"
+ }
+ },
+ "kpisHealths": {
+ "description": "Health details of different KPIs",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KPIResourceHealthDetails"
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "protectedItemDataId": {
+ "description": "Data ID of the protected item.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ },
+ "extendedProperties": {
+ "$ref": "#/definitions/ExtendedProperties"
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMProtectedItem"
+ },
+ "AzureIaaSVMProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure IaaS VM specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyInconsistent": {
+ "description": "Specifies if backup policy associated with the backup item is inconsistent.",
+ "type": "boolean"
+ }
+ }
+ },
+ "AzureIaaSVMProtectionPolicy": {
+ "description": "IaaS VM workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "instantRPDetails": {
+ "$ref": "#/definitions/InstantRPAdditionalDetails"
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "instantRpRetentionRangeInDays": {
+ "format": "int32",
+ "description": "Instant RP retention policy range in days",
+ "type": "integer"
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaasVM"
+ },
+ "AzureSqlProtectedItem": {
+ "description": "Azure SQL workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "protectedItemDataId": {
+ "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of the backed up item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
+ },
+ "AzureSqlProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Sql specific protected item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "State of the backup policy associated with this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureStorageErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureSqlProtectionPolicy": {
+ "description": "Azure SQL workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "AzureSql"
+ },
+ "AzureStorageJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageErrorInfo"
+ }
+ },
+ "storageAccountName": {
+ "description": "Specifies friendly name of the storage account.",
+ "type": "string"
+ },
+ "storageAccountVersion": {
+ "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureStorageJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureStorageJob"
+ },
+ "AzureStorageJobExtendedInfo": {
+ "description": "Azure Storage workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureStorageJobTaskDetails": {
+ "description": "Azure storage workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVmWorkloadProtectedItem": {
+ "description": "Azure VM workload-specific protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the DB represented by this backup item.",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "parentName": {
+ "description": "Parent name of the DB such as Instance or Availability Group.",
+ "type": "string"
+ },
+ "parentType": {
+ "description": "Parent type of protected item, example: for a DB, standalone server or distributed",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LastBackupStatus",
+ "modelAsString": true
+ }
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "lastBackupErrorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error details in last backup"
+ },
+ "protectedItemDataSourceId": {
+ "description": "Data ID of the protected item.",
+ "type": "string"
+ },
+ "protectedItemHealthStatus": {
+ "description": "Health status of the backup item, evaluated based on last heartbeat received",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "NotReachable",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ },
+ "kpisHealths": {
+ "description": "Health details of different KPIs",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KPIResourceHealthDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem"
+ },
+ "AzureVmWorkloadProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Workload for SQL specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVmWorkloadSAPAseDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SAP ASE Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase"
+ },
+ "AzureVmWorkloadSAPHanaDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SAP HANA Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase"
+ },
+ "AzureVmWorkloadSQLDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase"
+ },
+ "AzureWorkloadErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "errorTitle": {
+ "description": "Title: Typically, the entity that the error pertains to.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalDetails": {
+ "description": "Additional details for above error code.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "workloadType": {
+ "description": "Workload type of the job",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadJob"
+ },
+ "AzureWorkloadJobExtendedInfo": {
+ "description": "Azure VM workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJobTaskDetails": {
+ "description": "Azure VM workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "timeRanges": {
+ "description": "List of log ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PointInTimeRange"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadRecoveryPoint": {
+ "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which recovery point was created",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of restore point",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential",
+ "Incremental"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointType",
+ "modelAsString": true
+ }
+ },
+ "recoveryPointTierDetails": {
+ "description": "Recovery point tier information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointTierInformation"
+ }
+ },
+ "recoveryPointMoveReadinessInfo": {
+ "description": "Eligibility of RP to be moved to another tier",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/RecoveryPointMoveReadinessInfo"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint"
+ },
+ "AzureWorkloadRestoreRequest": {
+ "description": "AzureWorkload-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.",
+ "type": "string"
+ },
+ "propertyBag": {
+ "description": "Workload specific property bag.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetInfo": {
+ "$ref": "#/definitions/TargetRestoreInfo",
+ "description": "Details of target database"
+ },
+ "recoveryMode": {
+ "description": "Defines whether the current recovery mode is file restore or database restore",
+ "enum": [
+ "Invalid",
+ "FileRecovery",
+ "WorkloadRecovery"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryMode",
+ "modelAsString": true
+ }
+ },
+ "targetVirtualMachineId": {
+ "description": "This is the complete ARM Id of the target VM\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadRestoreRequest"
+ },
+ "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime in SAPHana",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadSAPHanaPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadSAPHanaRecoveryPoint": {
+ "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint"
+ },
+ "AzureWorkloadSAPHanaRestoreRequest": {
+ "description": "AzureWorkload SAP Hana-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest"
+ },
+ "AzureWorkloadSQLPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "timeRanges": {
+ "description": "List of log ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PointInTimeRange"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadSQLPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadSQLRecoveryPoint": {
+ "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo",
+ "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint"
+ },
+ "AzureWorkloadSQLRecoveryPointExtendedInfo": {
+ "description": "Extended info class details",
+ "type": "object",
+ "properties": {
+ "dataDirectoryTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which data directory info was captured",
+ "type": "string"
+ },
+ "dataDirectoryPaths": {
+ "description": "List of data directory paths during restore operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectory"
+ }
+ }
+ }
+ },
+ "AzureWorkloadSQLRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "shouldUseAlternateTargetLocation": {
+ "description": "Default option set to true. If this is set to false, alternate data directory must be provided",
+ "type": "boolean"
+ },
+ "isNonRecoverable": {
+ "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried",
+ "type": "boolean"
+ },
+ "alternateDirectoryPaths": {
+ "description": "Data directory details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectoryMapping"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest"
+ },
+ "BEKDetails": {
+ "description": "BEK is bitlocker encryption key.",
+ "type": "object",
+ "properties": {
+ "secretUrl": {
+ "description": "Secret is BEK.",
+ "type": "string"
+ },
+ "secretVaultId": {
+ "description": "ID of the Key Vault where this Secret is stored.",
+ "type": "string"
+ },
+ "secretData": {
+ "description": "BEK data.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSRPQueryObject": {
+ "description": "Filters to list backup copies.",
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "format": "date-time",
+ "description": "Backup copies created after this time.",
+ "type": "string"
+ },
+ "endDate": {
+ "format": "date-time",
+ "description": "Backup copies created before this time.",
+ "type": "string"
+ },
+ "restorePointQueryType": {
+ "description": "RestorePoint type",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential",
+ "FullAndDifferential",
+ "All",
+ "Incremental"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointQueryType",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.",
+ "type": "boolean"
+ },
+ "moveReadyRPOnly": {
+ "description": "Whether the RP can be moved to another tier",
+ "type": "boolean"
+ }
+ }
+ },
+ "DiskExclusionProperties": {
+ "type": "object",
+ "properties": {
+ "diskLunList": {
+ "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "isInclusionList": {
+ "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ClientDiscoveryDisplay": {
+ "description": "Localized display information of an operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider for display purposes",
+ "type": "string"
+ },
+ "resource": {
+ "description": "ResourceType for which this Operation can be performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operations Name itself.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation having details of what operation is about.",
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryForLogSpecification": {
+ "description": "Class to represent shoebox log specification in json client discovery.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name for shoebox log specification.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "blob duration of shoebox log specification",
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryForProperties": {
+ "description": "Class to represent shoebox properties in json client discovery.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ClientDiscoveryForServiceSpecification",
+ "description": "Operation properties."
+ }
+ }
+ },
+ "ClientDiscoveryForServiceSpecification": {
+ "description": "Class to represent shoebox service specification in json client discovery.",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "List of log specifications of this operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryForLogSpecification"
+ }
+ }
+ }
+ },
+ "ClientDiscoveryResponse": {
+ "description": "Operations List response which contains list of available APIs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of available operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryValueForSingleApi"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next chunk of Response.",
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryValueForSingleApi": {
+ "description": "Available operation details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Operation.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/ClientDiscoveryDisplay",
+ "description": "Contains the localized display information for this particular operation"
+ },
+ "origin": {
+ "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ClientDiscoveryForProperties",
+ "description": "ShoeBox properties for the given operation."
+ }
+ }
+ },
+ "DiskInformation": {
+ "description": "Disk information",
+ "type": "object",
+ "properties": {
+ "lun": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "DailyRetentionFormat": {
+ "description": "Daily retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheMonth": {
+ "description": "List of days of the month.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Day"
+ }
+ }
+ }
+ },
+ "DailyRetentionSchedule": {
+ "description": "Daily retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "Day": {
+ "description": "Day of the week.",
+ "type": "object",
+ "properties": {
+ "date": {
+ "format": "int32",
+ "description": "Date of the month",
+ "type": "integer"
+ },
+ "isLast": {
+ "description": "Whether Date is last date of month",
+ "type": "boolean"
+ }
+ }
+ },
+ "DpmErrorInfo": {
+ "description": "DPM workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DpmJob": {
+ "description": "DPM workload-specific job object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for job.",
+ "type": "string"
+ },
+ "dpmServerName": {
+ "description": "DPM server name managing the backup item or backup job.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of cluster/server protecting current backup item, if any.",
+ "type": "string"
+ },
+ "containerType": {
+ "description": "Type of container.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of backup item.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "The state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DpmErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DpmJobExtendedInfo",
+ "description": "Additional information for this job."
+ }
+ },
+ "x-ms-discriminator-value": "DpmJob"
+ },
+ "BackupResourceConfigResource": {
+ "description": "The resource storage details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceConfig",
+ "description": "BackupResourceConfigResource properties"
+ }
+ }
+ },
+ "BackupResourceConfig": {
+ "description": "The resource storage details.",
+ "type": "object",
+ "properties": {
+ "storageModelType": {
+ "description": "Storage type",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageTypeState": {
+ "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
+ "enum": [
+ "Invalid",
+ "Locked",
+ "Unlocked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageTypeState",
+ "modelAsString": true
+ }
+ },
+ "crossRegionRestoreFlag": {
+ "description": "Opt in details of Cross Region Restore feature.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DpmJobExtendedInfo": {
+ "description": "Additional information on the DPM workload-specific job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks associated with this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DpmJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "The job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "DpmJobTaskDetails": {
+ "description": "DPM workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "DPMProtectedItem": {
+ "description": "Additional information on Backup engine specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the managed item",
+ "type": "string"
+ },
+ "backupEngineName": {
+ "description": "Backup Management server protecting this backup item",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protection state of the backup engine",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DPMProtectedItemExtendedInfo",
+ "description": "Extended info of the backup item."
+ }
+ },
+ "x-ms-discriminator-value": "DPMProtectedItem"
+ },
+ "DPMProtectedItemExtendedInfo": {
+ "description": "Additional information of DPM Protected item.",
+ "type": "object",
+ "properties": {
+ "protectableObjectLoadPath": {
+ "description": "Attribute to provide information on various DBs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "protected": {
+ "description": "To check if backup item is disk protected.",
+ "type": "boolean"
+ },
+ "isPresentOnCloud": {
+ "description": "To check if backup item is cloud protected.",
+ "type": "boolean"
+ },
+ "lastBackupStatus": {
+ "description": "Last backup status information on backup item.",
+ "type": "string"
+ },
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time on backup item.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest cloud recovery point time.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "cloud recovery point count.",
+ "type": "integer"
+ },
+ "onPremiseOldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseLatestRecoveryPoint": {
+ "format": "date-time",
+ "description": "latest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseRecoveryPointCount": {
+ "format": "int32",
+ "description": "disk recovery point count.",
+ "type": "integer"
+ },
+ "isCollocated": {
+ "description": "To check if backup item is collocated.",
+ "type": "boolean"
+ },
+ "protectionGroupName": {
+ "description": "Protection group name of the backup item.",
+ "type": "string"
+ },
+ "diskStorageUsedInBytes": {
+ "description": "Used Disk storage in bytes.",
+ "type": "string"
+ },
+ "totalDiskStorageSizeInBytes": {
+ "description": "total Disk storage in bytes.",
+ "type": "string"
+ }
+ }
+ },
+ "EncryptionDetails": {
+ "description": "Details needed if the VM was encrypted at the time of backup.",
+ "type": "object",
+ "properties": {
+ "encryptionEnabled": {
+ "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.",
+ "type": "boolean"
+ },
+ "kekUrl": {
+ "description": "Key Url.",
+ "type": "string"
+ },
+ "secretKeyUrl": {
+ "description": "Secret Url.",
+ "type": "string"
+ },
+ "kekVaultId": {
+ "description": "ID of Key Vault where KEK is stored.",
+ "type": "string"
+ },
+ "secretKeyVaultId": {
+ "description": "ID of Key Vault where Secret is stored.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "description": "Error Detail class which encapsulates Code, Message and Recommendations.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error Message related to the Code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "List of recommendation strings.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ExportJobsOperationResultInfo": {
+ "description": "This class is used to send blob details after exporting jobs.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResultInfoBase"
+ }
+ ],
+ "properties": {
+ "blobUrl": {
+ "description": "URL of the blob into which the serialized string of list of jobs is exported.",
+ "type": "string"
+ },
+ "blobSasKey": {
+ "description": "SAS key to access the blob. It expires in 15 mins.",
+ "type": "string"
+ },
+ "excelFileBlobUrl": {
+ "description": "URL of the blob into which the ExcelFile is uploaded.",
+ "type": "string"
+ },
+ "excelFileBlobSasKey": {
+ "description": "SAS key to access the blob. It expires in 15 mins.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ExportJobsOperationResultInfo"
+ },
+ "ExtendedProperties": {
+ "description": "Extended Properties for Azure IaasVM Backup.",
+ "type": "object",
+ "properties": {
+ "diskExclusionProperties": {
+ "$ref": "#/definitions/DiskExclusionProperties",
+ "description": "Extended Properties for Disk Exclusion."
+ }
+ }
+ },
+ "GenericProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ }
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Name of this policy's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectionPolicy"
+ },
+ "IdentityInfo": {
+ "description": "Encapsulates Managed Identity related information",
+ "type": "object",
+ "properties": {
+ "isSystemAssignedIdentity": {
+ "description": "To differentiate if the managed identity is system assigned or user assigned",
+ "type": "boolean"
+ },
+ "managedIdentityResourceId": {
+ "description": "Managed Identity Resource Id\r\nOptional: Might not be required in the case of system assigned managed identity",
+ "type": "string"
+ }
+ }
+ },
+ "InstantRPAdditionalDetails": {
+ "type": "object",
+ "properties": {
+ "azureBackupRGNamePrefix": {
+ "type": "string"
+ },
+ "azureBackupRGNameSuffix": {
+ "type": "string"
+ }
+ }
+ },
+ "GenericProtectedItem": {
+ "description": "Base class for backup items.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "protectedItemId": {
+ "format": "int64",
+ "description": "Data Plane Service ID of the protected item.",
+ "type": "integer"
+ },
+ "sourceAssociations": {
+ "description": "Loosely coupled (type, value) associations (example - parent of a protected item)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "fabricName": {
+ "description": "Name of this backup item's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectedItem"
+ },
+ "GenericRecoveryPoint": {
+ "description": "Generic backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "Type of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "recoveryPointAdditionalInfo": {
+ "description": "Additional information associated with this backup copy.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericRecoveryPoint"
+ },
+ "GetProtectedItemQueryObject": {
+ "description": "Filters to list backup items.",
+ "type": "object",
+ "properties": {
+ "expand": {
+ "description": "Specifies if the additional information should be provided for this item.",
+ "type": "string"
+ }
+ }
+ },
+ "IaasVMRecoveryPoint": {
+ "description": "IaaS VM workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "recoveryPointAdditionalInfo": {
+ "description": "Additional information associated with this backup copy.",
+ "type": "string"
+ },
+ "sourceVMStorageType": {
+ "description": "Storage type of the VM whose backup copy is created.",
+ "type": "string"
+ },
+ "isSourceVMEncrypted": {
+ "description": "Identifies whether the VM was encrypted when the backup copy is created.",
+ "type": "boolean"
+ },
+ "keyAndSecret": {
+ "$ref": "#/definitions/KeyAndSecretDetails",
+ "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true."
+ },
+ "isInstantIlrSessionActive": {
+ "description": "Is the session to recover items from this backup copy still active.",
+ "type": "boolean"
+ },
+ "recoveryPointTierDetails": {
+ "description": "Recovery point tier information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointTierInformation"
+ }
+ },
+ "isManagedVirtualMachine": {
+ "description": "Whether VM is with Managed Disks",
+ "type": "boolean"
+ },
+ "virtualMachineSize": {
+ "description": "Virtual Machine Size",
+ "type": "string"
+ },
+ "originalStorageAccountOption": {
+ "description": "Original Storage Account Option",
+ "type": "boolean"
+ },
+ "osType": {
+ "description": "OS type",
+ "type": "string"
+ },
+ "recoveryPointDiskConfiguration": {
+ "$ref": "#/definitions/RecoveryPointDiskConfiguration",
+ "description": "Disk configuration"
+ },
+ "zones": {
+ "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "recoveryPointMoveReadinessInfo": {
+ "description": "Eligibility of RP to be moved to another tier",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/RecoveryPointMoveReadinessInfo"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRecoveryPoint"
+ },
+ "IaasVMRestoreRequest": {
+ "description": "IaaS VM workload-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "ID of the backup copy to be recovered.",
+ "type": "string"
+ },
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Fully qualified ARM ID of the VM which is being recovered.",
+ "type": "string"
+ },
+ "targetVirtualMachineId": {
+ "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.",
+ "type": "string"
+ },
+ "virtualNetworkId": {
+ "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.",
+ "type": "string"
+ },
+ "subnetId": {
+ "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.",
+ "type": "string"
+ },
+ "targetDomainNameId": {
+ "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.",
+ "type": "string"
+ },
+ "region": {
+ "description": "Region in which the virtual machine is restored.",
+ "type": "string"
+ },
+ "affinityGroup": {
+ "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.",
+ "type": "string"
+ },
+ "createNewCloudService": {
+ "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.",
+ "type": "boolean"
+ },
+ "originalStorageAccountOption": {
+ "description": "Original Storage Account Option",
+ "type": "boolean"
+ },
+ "encryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Details needed if the VM was encrypted at the time of backup."
+ },
+ "restoreDiskLunList": {
+ "description": "List of Disk LUNs for partial restore",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "restoreWithManagedDisks": {
+ "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.",
+ "type": "boolean"
+ },
+ "diskEncryptionSetId": {
+ "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.",
+ "type": "string"
+ },
+ "zones": {
+ "description": "Target zone where the VM and its disks should be restored.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "identityInfo": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Managed Identity information required to access customer storage account."
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRestoreRequest"
+ },
+ "Job": {
+ "description": "Defines workload agnostic properties for a job.",
+ "required": [
+ "jobType"
+ ],
+ "type": "object",
+ "properties": {
+ "entityFriendlyName": {
+ "description": "Friendly name of the entity on which the current job is executing.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Backup management type to execute the current job.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "operation": {
+ "description": "The operation name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Job status.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "activityId": {
+ "description": "ActivityId of job.",
+ "type": "string"
+ },
+ "jobType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "jobType"
+ },
+ "JobQueryObject": {
+ "description": "Filters to list the jobs.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the job.",
+ "enum": [
+ "Invalid",
+ "InProgress",
+ "Completed",
+ "Failed",
+ "CompletedWithWarnings",
+ "Cancelled",
+ "Cancelling"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the job.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "operation": {
+ "description": "Type of operation.",
+ "enum": [
+ "Invalid",
+ "Register",
+ "UnRegister",
+ "ConfigureBackup",
+ "Backup",
+ "Restore",
+ "DisableBackup",
+ "DeleteBackupData",
+ "CrossRegionRestore",
+ "Undelete",
+ "UpdateCustomerManagedKey"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobOperationType",
+ "modelAsString": true
+ }
+ },
+ "jobId": {
+ "description": "JobID represents the job uniquely.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job has started at this time. Value is in UTC.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job has ended at this time. Value is in UTC.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Defines workload agnostic properties for a job.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/Job",
+ "description": "JobResource properties"
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "List of Job resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ }
+ },
+ "KEKDetails": {
+ "description": "KEK is encryption key for BEK.",
+ "type": "object",
+ "properties": {
+ "keyUrl": {
+ "description": "Key is KEK.",
+ "type": "string"
+ },
+ "keyVaultId": {
+ "description": "Key Vault ID where this Key is stored.",
+ "type": "string"
+ },
+ "keyBackupData": {
+ "description": "KEK data.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyAndSecretDetails": {
+ "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.",
+ "type": "object",
+ "properties": {
+ "kekDetails": {
+ "$ref": "#/definitions/KEKDetails",
+ "description": "KEK is encryption key for BEK."
+ },
+ "bekDetails": {
+ "$ref": "#/definitions/BEKDetails",
+ "description": "BEK is bitlocker encryption key."
+ },
+ "encryptionMechanism": {
+ "description": "Encryption mechanism: None/ SinglePass/ DoublePass",
+ "type": "string"
+ }
+ }
+ },
+ "LogSchedulePolicy": {
+ "description": "Log policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleFrequencyInMins": {
+ "format": "int32",
+ "description": "Frequency of the log schedule operation of this policy in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "LogSchedulePolicy"
+ },
+ "LongTermRetentionPolicy": {
+ "description": "Long term retention policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "dailySchedule": {
+ "$ref": "#/definitions/DailyRetentionSchedule",
+ "description": "Daily retention schedule of the protection policy."
+ },
+ "weeklySchedule": {
+ "$ref": "#/definitions/WeeklyRetentionSchedule",
+ "description": "Weekly retention schedule of the protection policy."
+ },
+ "monthlySchedule": {
+ "$ref": "#/definitions/MonthlyRetentionSchedule",
+ "description": "Monthly retention schedule of the protection policy."
+ },
+ "yearlySchedule": {
+ "$ref": "#/definitions/YearlyRetentionSchedule",
+ "description": "Yearly retention schedule of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "LongTermRetentionPolicy"
+ },
+ "LongTermSchedulePolicy": {
+ "description": "Long term policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "x-ms-discriminator-value": "LongTermSchedulePolicy"
+ },
+ "MabErrorInfo": {
+ "description": "MAB workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "List of localized recommendations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MabFileFolderProtectedItem": {
+ "description": "MAB workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of this backup item.",
+ "type": "string"
+ },
+ "computerName": {
+ "description": "Name of the computer associated with this backup item.",
+ "type": "string"
+ },
+ "lastBackupStatus": {
+ "description": "Status of last backup operation.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protected, ProtectionStopped, IRPending or ProtectionError",
+ "type": "string"
+ },
+ "deferredDeleteSyncTimeInUTC": {
+ "format": "int64",
+ "description": "Sync time for deferred deletion in UTC",
+ "type": "integer"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "MabFileFolderProtectedItem"
+ },
+ "MabFileFolderProtectedItemExtendedInfo": {
+ "description": "Additional information on the backed up item.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last time when the agent data synced to service.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies associated with the backup item.",
+ "type": "integer"
+ }
+ }
+ },
+ "MabJob": {
+ "description": "MAB workload-specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time taken by job to run.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "The state/actions applicable on jobs like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "mabServerName": {
+ "description": "Name of server protecting the DS.",
+ "type": "string"
+ },
+ "mabServerType": {
+ "description": "Server type of MAB container.",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MabServerType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type of backup item.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "errorDetails": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabJobExtendedInfo",
+ "description": "Additional information on the job."
+ }
+ },
+ "x-ms-discriminator-value": "MabJob"
+ },
+ "MabJobExtendedInfo": {
+ "description": "Additional information for the MAB workload-specific job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "The job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message specific to this job.",
+ "type": "string"
+ }
+ }
+ },
+ "MabJobTaskDetails": {
+ "description": "MAB workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "MabProtectionPolicy": {
+ "description": "Mab container-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "MAB"
+ },
+ "MonthlyRetentionSchedule": {
+ "description": "Monthly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format type for monthly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for monthly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for monthly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "OperationResultInfo": {
+ "description": "Operation result info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResultInfoBase"
+ }
+ ],
+ "properties": {
+ "jobList": {
+ "description": "List of jobs created by this operation.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "OperationResultInfo"
+ },
+ "OperationResultInfoBase": {
+ "description": "Base class for operation result info.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "KPIResourceHealthDetails": {
+ "description": "KPI Resource Health Details",
+ "type": "object",
+ "properties": {
+ "resourceHealthStatus": {
+ "description": "Resource Health Status",
+ "enum": [
+ "Healthy",
+ "TransientDegraded",
+ "PersistentDegraded",
+ "TransientUnhealthy",
+ "PersistentUnhealthy",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "resourceHealthDetails": {
+ "description": "Resource Health Status",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceHealthDetails"
+ }
+ }
+ }
+ },
+ "PrepareDataMoveRequest": {
+ "description": "Prepare DataMove Request",
+ "required": [
+ "targetResourceId",
+ "targetRegion",
+ "dataMoveLevel"
+ ],
+ "type": "object",
+ "properties": {
+ "targetResourceId": {
+ "description": "ARM Id of target vault",
+ "type": "string"
+ },
+ "targetRegion": {
+ "description": "Target Region",
+ "type": "string"
+ },
+ "dataMoveLevel": {
+ "description": "DataMove Level",
+ "enum": [
+ "Invalid",
+ "Vault",
+ "Container"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataMoveLevel",
+ "modelAsString": true
+ }
+ },
+ "sourceContainerArmIds": {
+ "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ignoreMoved": {
+ "description": "Ignore the artifacts which are already moved.",
+ "type": "boolean"
+ }
+ }
+ },
+ "PrepareDataMoveResponse": {
+ "description": "Prepare DataMove Response",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/VaultStorageConfigOperationResultResponse"
+ }
+ ],
+ "properties": {
+ "correlationId": {
+ "description": "Co-relationId for move operation",
+ "type": "string"
+ },
+ "sourceVaultProperties": {
+ "description": "Source Vault Properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "PrepareDataMoveResponse"
+ },
+ "VaultStorageConfigOperationResultResponse": {
+ "description": "Operation result response for Vault Storage Config",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "TriggerDataMoveRequest": {
+ "description": "Trigger DataMove Request",
+ "required": [
+ "sourceResourceId",
+ "sourceRegion",
+ "dataMoveLevel",
+ "correlationId"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceResourceId": {
+ "description": "ARM Id of source vault",
+ "type": "string"
+ },
+ "sourceRegion": {
+ "description": "Source Region",
+ "type": "string"
+ },
+ "dataMoveLevel": {
+ "description": "DataMove Level",
+ "enum": [
+ "Invalid",
+ "Vault",
+ "Container"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataMoveLevel",
+ "modelAsString": true
+ }
+ },
+ "correlationId": {
+ "description": "Correlation Id",
+ "type": "string"
+ },
+ "sourceContainerArmIds": {
+ "description": "Source Container ArmIds",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "pauseGC": {
+ "description": "Pause GC",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationResultInfoBaseResource": {
+ "description": "Base class for operation result info.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationWorkerResponse"
+ }
+ ],
+ "properties": {
+ "operation": {
+ "$ref": "#/definitions/OperationResultInfoBase",
+ "description": "OperationResultInfoBaseResource operation"
+ }
+ }
+ },
+ "OperationWorkerResponse": {
+ "description": "This is the base class for operation result responses.",
+ "type": "object",
+ "properties": {
+ "statusCode": {
+ "description": "HTTP Status Code of the operation.",
+ "enum": [
+ "Continue",
+ "SwitchingProtocols",
+ "OK",
+ "Created",
+ "Accepted",
+ "NonAuthoritativeInformation",
+ "NoContent",
+ "ResetContent",
+ "PartialContent",
+ "MultipleChoices",
+ "Ambiguous",
+ "MovedPermanently",
+ "Moved",
+ "Found",
+ "Redirect",
+ "SeeOther",
+ "RedirectMethod",
+ "NotModified",
+ "UseProxy",
+ "Unused",
+ "TemporaryRedirect",
+ "RedirectKeepVerb",
+ "BadRequest",
+ "Unauthorized",
+ "PaymentRequired",
+ "Forbidden",
+ "NotFound",
+ "MethodNotAllowed",
+ "NotAcceptable",
+ "ProxyAuthenticationRequired",
+ "RequestTimeout",
+ "Conflict",
+ "Gone",
+ "LengthRequired",
+ "PreconditionFailed",
+ "RequestEntityTooLarge",
+ "RequestUriTooLong",
+ "UnsupportedMediaType",
+ "RequestedRangeNotSatisfiable",
+ "ExpectationFailed",
+ "UpgradeRequired",
+ "InternalServerError",
+ "NotImplemented",
+ "BadGateway",
+ "ServiceUnavailable",
+ "GatewayTimeout",
+ "HttpVersionNotSupported"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HttpStatusCode",
+ "modelAsString": false
+ }
+ },
+ "headers": {
+ "description": "HTTP headers associated with this operation.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "PointInTimeRange": {
+ "description": "Provides details for log ranges",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of the time range for log recovery.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of the time range for log recovery.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItem": {
+ "description": "Base class for backup items.",
+ "required": [
+ "protectedItemType"
+ ],
+ "type": "object",
+ "properties": {
+ "protectedItemType": {
+ "description": "backup item type.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Type of workload this item represents.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Unique name of container",
+ "type": "string"
+ },
+ "sourceResourceId": {
+ "description": "ARM ID of the resource to be backed up.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ID of the backup policy with which this item is backed up.",
+ "type": "string"
+ },
+ "lastRecoveryPoint": {
+ "format": "date-time",
+ "description": "Timestamp when the last (latest) backup copy was created for this backup item.",
+ "type": "string"
+ },
+ "backupSetName": {
+ "description": "Name of the backup set the backup item belongs to",
+ "type": "string"
+ },
+ "createMode": {
+ "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.",
+ "enum": [
+ "Invalid",
+ "Default",
+ "Recover"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ }
+ },
+ "deferredDeleteTimeInUTC": {
+ "format": "date-time",
+ "description": "Time for deferred deletion in UTC",
+ "type": "string"
+ },
+ "isScheduledForDeferredDelete": {
+ "description": "Flag to identify whether the DS is scheduled for deferred delete",
+ "type": "boolean"
+ },
+ "deferredDeleteTimeRemaining": {
+ "description": "Time remaining before the DS marked for deferred delete is permanently deleted",
+ "type": "string"
+ },
+ "isDeferredDeleteScheduleUpcoming": {
+ "description": "Flag to identify whether the deferred deleted DS is to be purged soon",
+ "type": "boolean"
+ },
+ "isRehydrate": {
+ "description": "Flag to identify that deferred deleted DS is to be moved into Pause state",
+ "type": "boolean"
+ },
+ "resourceGuardOperationRequests": {
+ "description": "ResourceGuardOperationRequests on which LAC check will be performed",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "discriminator": "protectedItemType"
+ },
+ "ProtectedItemQueryObject": {
+ "description": "Filters to list backup items.",
+ "type": "object",
+ "properties": {
+ "healthState": {
+ "description": "Health State for the backed up item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthState",
+ "modelAsString": true
+ }
+ },
+ "backupManagementType": {
+ "description": "Backup management type for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "itemType": {
+ "description": "Type of workload this item represents.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "policyName": {
+ "description": "Backup policy name associated with the backup item.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of the container.",
+ "type": "string"
+ },
+ "backupEngineName": {
+ "description": "Backup Engine name",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of protected item",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Name of the fabric.",
+ "type": "string"
+ },
+ "backupSetName": {
+ "description": "Name of the backup set.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItemResource": {
+ "description": "Base class for backup items.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectedItem",
+ "description": "ProtectedItemResource properties"
+ }
+ }
+ },
+ "ProtectedItemResourceList": {
+ "description": "List of ProtectedItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ }
+ },
+ "ProtectionPolicy": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "required": [
+ "backupManagementType"
+ ],
+ "type": "object",
+ "properties": {
+ "protectedItemsCount": {
+ "format": "int32",
+ "description": "Number of items associated with this policy.",
+ "type": "integer"
+ },
+ "backupManagementType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ },
+ "resourceGuardOperationRequests": {
+ "description": "ResourceGuard Operation Requests",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "discriminator": "backupManagementType"
+ },
+ "ProtectionPolicyQueryObject": {
+ "description": "Filters the list backup policies API.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for the backup policy.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "fabricName": {
+ "description": "Fabric name for filter",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Workload type for the backup policy.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProtectionPolicyResource": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionPolicy",
+ "description": "ProtectionPolicyResource properties"
+ }
+ }
+ },
+ "ProtectionPolicyResourceList": {
+ "description": "List of ProtectionPolicy resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ }
+ },
+ "RecoveryPoint": {
+ "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "RecoveryPointDiskConfiguration": {
+ "description": "Disk configuration",
+ "type": "object",
+ "properties": {
+ "numberOfDisksIncludedInBackup": {
+ "format": "int32",
+ "description": "Number of disks included in backup",
+ "type": "integer"
+ },
+ "numberOfDisksAttachedToVm": {
+ "format": "int32",
+ "description": "Number of disks attached to the VM",
+ "type": "integer"
+ },
+ "includedDiskList": {
+ "description": "Information of disks included in backup",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInformation"
+ }
+ },
+ "excludedDiskList": {
+ "description": "Information of disks excluded from backup",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInformation"
+ }
+ }
+ }
+ },
+ "RecoveryPointResource": {
+ "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPoint",
+ "description": "RecoveryPointResource properties"
+ }
+ }
+ },
+ "RecoveryPointResourceList": {
+ "description": "List of RecoveryPoint resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointResource"
+ }
+ }
+ }
+ },
+ "RecoveryPointTierInformation": {
+ "description": "Recovery point tier information.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Recovery point tier type.",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP",
+ "ArchivedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ },
+ "status": {
+ "description": "Recovery point tier status.",
+ "enum": [
+ "Invalid",
+ "Valid",
+ "Disabled",
+ "Deleted",
+ "Rehydrated"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierStatus",
+ "modelAsString": false
+ }
+ },
+ "extendedInfo": {
+ "description": "Recovery point tier status.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM Resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "eTag": {
+ "description": "Optional ETag.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceList": {
+ "description": "Base for all lists of resources.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ }
+ },
+ "RestoreFileSpecs": {
+ "description": "Restore file specs like file path, type and target folder path info.",
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "Source File/Folder path",
+ "type": "string"
+ },
+ "fileSpecType": {
+ "description": "Indicates what the Path variable stands for",
+ "type": "string"
+ },
+ "targetFolderPath": {
+ "description": "Destination folder path in target FileShare",
+ "type": "string"
+ }
+ }
+ },
+ "RestoreRequest": {
+ "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "RestoreRequestResource": {
+ "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RestoreRequest",
+ "description": "RestoreRequestResource properties"
+ }
+ }
+ },
+ "RetentionDuration": {
+ "description": "Retention duration.",
+ "type": "object",
+ "properties": {
+ "count": {
+ "format": "int32",
+ "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
+ "type": "integer"
+ },
+ "durationType": {
+ "description": "Retention duration type of retention policy.",
+ "enum": [
+ "Invalid",
+ "Days",
+ "Weeks",
+ "Months",
+ "Years"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionDurationType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "description": "Base class for retention policy.",
+ "required": [
+ "retentionPolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "retentionPolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "retentionPolicyType"
+ },
+ "SchedulePolicy": {
+ "description": "Base class for backup schedule.",
+ "required": [
+ "schedulePolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "schedulePolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "schedulePolicyType"
+ },
+ "Settings": {
+ "description": "Common settings field for backup management",
+ "type": "object",
+ "properties": {
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "issqlcompression": {
+ "description": "SQL compression flag",
+ "type": "boolean"
+ },
+ "isCompression": {
+ "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.",
+ "type": "boolean"
+ }
+ }
+ },
+ "SimpleRetentionPolicy": {
+ "description": "Simple policy retention.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "SimpleRetentionPolicy"
+ },
+ "SimpleSchedulePolicy": {
+ "description": "Simple policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleRunFrequency": {
+ "description": "Frequency of the schedule operation of this policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ScheduleRunType",
+ "modelAsString": true
+ }
+ },
+ "scheduleRunDays": {
+ "description": "List of days of week this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "scheduleRunTimes": {
+ "description": "List of times of day this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "scheduleWeeklyFrequency": {
+ "format": "int32",
+ "description": "At every number weeks this schedule has to be run.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "SimpleSchedulePolicy"
+ },
+ "SubProtectionPolicy": {
+ "description": "Sub-protection policy which includes schedule and retention",
+ "type": "object",
+ "properties": {
+ "policyType": {
+ "description": "Type of backup policy type",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Differential",
+ "Log",
+ "CopyOnlyFull",
+ "Incremental"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyType",
+ "modelAsString": true
+ }
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ }
+ }
+ },
+ "SQLDataDirectory": {
+ "description": "SQLDataDirectory info",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of data directory mapping",
+ "enum": [
+ "Invalid",
+ "Data",
+ "Log"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SQLDataDirectoryType",
+ "modelAsString": true
+ }
+ },
+ "path": {
+ "description": "File path",
+ "type": "string"
+ },
+ "logicalName": {
+ "description": "Logical name of the file",
+ "type": "string"
+ }
+ }
+ },
+ "SQLDataDirectoryMapping": {
+ "description": "Encapsulates information regarding data directory",
+ "type": "object",
+ "properties": {
+ "mappingType": {
+ "description": "Type of data directory mapping",
+ "enum": [
+ "Invalid",
+ "Data",
+ "Log"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SQLDataDirectoryType",
+ "modelAsString": true
+ }
+ },
+ "sourceLogicalName": {
+ "description": "Restore source logical name path",
+ "type": "string"
+ },
+ "sourcePath": {
+ "description": "Restore source path",
+ "type": "string"
+ },
+ "targetPath": {
+ "description": "Target path",
+ "type": "string"
+ }
+ }
+ },
+ "TargetAFSRestoreInfo": {
+ "description": "Target Azure File Share Info.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "File share name",
+ "type": "string"
+ },
+ "targetResourceId": {
+ "description": "Target file share resource ARM ID",
+ "type": "string"
+ }
+ }
+ },
+ "TargetRestoreInfo": {
+ "description": "Details about target workload during restore operation.",
+ "type": "object",
+ "properties": {
+ "overwriteOption": {
+ "description": "Can Overwrite if Target DataBase already exists",
+ "enum": [
+ "Invalid",
+ "FailOnConflict",
+ "Overwrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OverwriteOptions",
+ "modelAsString": true
+ }
+ },
+ "containerId": {
+ "description": "Resource Id name of the container in which Target DataBase resides",
+ "type": "string"
+ },
+ "databaseName": {
+ "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana",
+ "type": "string"
+ },
+ "targetDirectoryForFileRestore": {
+ "description": "Target directory location for restore as files.",
+ "type": "string"
+ }
+ }
+ },
+ "ValidateIaasVMRestoreOperationRequest": {
+ "description": "AzureRestoreValidation request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidateRestoreOperationRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest"
+ },
+ "ValidateOperationRequest": {
+ "description": "Base class for validate operation request.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ValidateOperationResponse": {
+ "description": "Base class for validate operation response.",
+ "type": "object",
+ "properties": {
+ "validationResults": {
+ "description": "Gets the validation result",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ }
+ },
+ "ValidateOperationsResponse": {
+ "type": "object",
+ "properties": {
+ "validateOperationResponse": {
+ "$ref": "#/definitions/ValidateOperationResponse"
+ }
+ }
+ },
+ "ValidateRestoreOperationRequest": {
+ "description": "AzureRestoreValidation request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidateOperationRequest"
+ }
+ ],
+ "properties": {
+ "restoreRequest": {
+ "$ref": "#/definitions/RestoreRequest",
+ "description": "Sets restore request to be validated"
+ }
+ },
+ "x-ms-discriminator-value": "ValidateRestoreOperationRequest"
+ },
+ "WeeklyRetentionFormat": {
+ "description": "Weekly retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of the week.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "weeksOfTheMonth": {
+ "description": "List of weeks of month.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "First",
+ "Second",
+ "Third",
+ "Fourth",
+ "Last",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WeekOfMonth",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ },
+ "WeeklyRetentionSchedule": {
+ "description": "Weekly retention schedule.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of week for weekly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "BackupResourceVaultConfigResource": {
+ "description": "Backup resource vault config details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceVaultConfig",
+ "description": "BackupResourceVaultConfigResource properties"
+ }
+ }
+ },
+ "BackupResourceVaultConfig": {
+ "description": "Backup resource vault config details.",
+ "type": "object",
+ "properties": {
+ "storageModelType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageTypeState": {
+ "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
+ "enum": [
+ "Invalid",
+ "Locked",
+ "Unlocked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageTypeState",
+ "modelAsString": true
+ }
+ },
+ "enhancedSecurityState": {
+ "description": "Enabled or Disabled.",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EnhancedSecurityState",
+ "modelAsString": true
+ }
+ },
+ "softDeleteFeatureState": {
+ "description": "Soft Delete feature state",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SoftDeleteFeatureState",
+ "modelAsString": true
+ }
+ },
+ "resourceGuardOperationRequests": {
+ "description": "ResourceGuard Operation Requests",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "YearlyRetentionSchedule": {
+ "description": "Yearly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format for yearly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "monthsOfYear": {
+ "description": "List of months of year of yearly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonthOfYear",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for yearly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for yearly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "VaultJob": {
+ "description": "Vault level Job",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultJobErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/VaultJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ },
+ "x-ms-discriminator-value": "VaultJob"
+ },
+ "VaultJobErrorInfo": {
+ "description": "Vault Job specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VaultJobExtendedInfo": {
+ "description": "Vault Job for CMK - has CMK specific info.",
+ "type": "object",
+ "properties": {
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureBackupServerContainer": {
+ "description": "AzureBackupServer (DPMVenus) workload-specific protection container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DpmContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureBackupServerContainer"
+ },
+ "AzureBackupServerEngine": {
+ "description": "Backup engine type when Azure Backup Server is used to manage the backups.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEngineBase"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureBackupServerEngine"
+ },
+ "AzureFileShareBackupRequest": {
+ "description": "AzureFileShare workload-specific backup request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareBackupRequest"
+ },
+ "AzureFileShareProtectableItem": {
+ "description": "Protectable item for Azure Fileshare workloads.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "parentContainerFabricId": {
+ "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.",
+ "type": "string"
+ },
+ "parentContainerFriendlyName": {
+ "description": "Friendly name of container to which this protectable item belongs.",
+ "type": "string"
+ },
+ "azureFileShareType": {
+ "description": "File Share type XSync or XSMB.",
+ "enum": [
+ "Invalid",
+ "XSMB",
+ "XSync"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureFileShareType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShare"
+ },
+ "AzureFileShareProvisionILRRequest": {
+ "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ILRRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "Recovery point ID.",
+ "type": "string"
+ },
+ "sourceResourceId": {
+ "description": "Source Storage account ARM Id",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest"
+ },
+ "AzureIaaSClassicComputeVMContainer": {
+ "description": "IaaS VM workload-specific backup item representing a classic virtual machine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSClassicComputeVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSComputeVMContainer": {
+ "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureIaaSComputeVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureSQLAGWorkloadContainerProtectionContainer": {
+ "description": "Container for SQL workloads under SQL Availability Group.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLAGWorkLoadContainer"
+ },
+ "AzureSqlContainer": {
+ "description": "Azure Sql workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureSqlContainer"
+ },
+ "AzureStorageContainer": {
+ "description": "Azure Storage Account workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "sourceResourceId": {
+ "description": "Fully qualified ARM url.",
+ "type": "string"
+ },
+ "storageAccountVersion": {
+ "description": "Storage account version.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group name of Recovery Services Vault.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of items backed up in this container.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "StorageContainer"
+ },
+ "AzureStorageProtectableContainer": {
+ "description": "Azure Storage-specific protectable containers",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectableContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "StorageContainer"
+ },
+ "AzureVMAppContainerProtectableContainer": {
+ "description": "Azure workload-specific container",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectableContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "VMAppContainer"
+ },
+ "AzureVMAppContainerProtectionContainer": {
+ "description": "Container for SQL workloads under Azure Virtual Machines.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "VMAppContainer"
+ },
+ "AzureVmWorkloadItem": {
+ "description": "Azure VM workload-specific workload item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadItem"
+ }
+ ],
+ "properties": {
+ "parentName": {
+ "description": "Name for instance or AG",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "isAutoProtectable": {
+ "description": "Indicates if workload item is auto-protectable",
+ "type": "boolean"
+ },
+ "subinquireditemcount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's present",
+ "type": "integer"
+ },
+ "subWorkloadItemCount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's to be protected",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadItem"
+ },
+ "AzureVmWorkloadProtectableItem": {
+ "description": "Azure VM workload-specific protectable item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "parentName": {
+ "description": "Name for instance or AG",
+ "type": "string"
+ },
+ "parentUniqueName": {
+ "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\r\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG.",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "isAutoProtectable": {
+ "description": "Indicates if protectable item is auto-protectable",
+ "type": "boolean"
+ },
+ "isAutoProtected": {
+ "description": "Indicates if protectable item is auto-protected",
+ "type": "boolean"
+ },
+ "subinquireditemcount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's present",
+ "type": "integer"
+ },
+ "subprotectableitemcount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's to be protected",
+ "type": "integer"
+ },
+ "prebackupvalidation": {
+ "$ref": "#/definitions/PreBackupValidation",
+ "description": "Pre-backup validation for protectable objects"
+ }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem"
+ },
+ "AzureVmWorkloadSAPAseDatabaseWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP ASE Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseDatabase"
+ },
+ "AzureVmWorkloadSAPAseSystemProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SAP ASE System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseSystem"
+ },
+ "AzureVmWorkloadSAPAseSystemWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP ASE System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseSystem"
+ },
+ "AzureVmWorkloadSAPHanaDatabaseProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SAP HANA Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPHanaDatabase"
+ },
+ "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP HANA Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPHanaDatabase"
+ },
+ "AzureVmWorkloadSAPHanaSystemProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SAP HANA System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPHanaSystem"
+ },
+ "AzureVmWorkloadSAPHanaSystemWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP HANA System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPHanaSystem"
+ },
+ "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SQL Availability Group.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLAvailabilityGroupContainer"
+ },
+ "AzureVmWorkloadSQLDatabaseProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLDataBase"
+ },
+ "AzureVmWorkloadSQLDatabaseWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLDataBase"
+ },
+ "AzureVmWorkloadSQLInstanceProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SQL Instance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLInstance"
+ },
+ "AzureVmWorkloadSQLInstanceWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SQL Instance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "properties": {
+ "dataDirectoryPaths": {
+ "description": "Data Directory Paths for default directories",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectory"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "SQLInstance"
+ },
+ "AzureWorkloadBackupRequest": {
+ "description": "AzureWorkload workload-specific backup request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequest"
+ }
+ ],
+ "properties": {
+ "backupType": {
+ "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Differential",
+ "Log",
+ "CopyOnlyFull",
+ "Incremental"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "backupType",
+ "modelAsString": true
+ }
+ },
+ "enableCompression": {
+ "description": "Bool for Compression setting",
+ "type": "boolean"
+ },
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadBackupRequest"
+ },
+ "AzureBackupGoalFeatureSupportRequest": {
+ "description": "Azure backup goal feature specific request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureSupportRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureBackupGoals"
+ },
+ "AzureRecoveryServiceVaultProtectionIntent": {
+ "description": "Azure Recovery Services Vault specific protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionIntent"
+ }
+ ],
+ "x-ms-discriminator-value": "RecoveryServiceVaultItem"
+ },
+ "AzureResourceProtectionIntent": {
+ "description": "IaaS VM specific backup protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionIntent"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the VM represented by this backup item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureResourceItem"
+ },
+ "AzureVMResourceFeatureSupportRequest": {
+ "description": "AzureResource(IaaS VM) Specific feature support request",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureSupportRequest"
+ }
+ ],
+ "properties": {
+ "vmSize": {
+ "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM",
+ "type": "string"
+ },
+ "vmSku": {
+ "description": "SKUs (Premium/Managed etc) in case of IaasVM",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureVMResourceBackup"
+ },
+ "AzureVMResourceFeatureSupportResponse": {
+ "description": "Response for feature support requests for Azure IaasVm",
+ "type": "object",
+ "properties": {
+ "supportStatus": {
+ "description": "Support status of feature",
+ "enum": [
+ "Invalid",
+ "Supported",
+ "DefaultOFF",
+ "DefaultON",
+ "NotSupported"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SupportStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AzureWorkloadAutoProtectionIntent": {
+ "description": "Azure Recovery Services Vault specific protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent"
+ },
+ "AzureWorkloadSQLAutoProtectionIntent": {
+ "description": "Azure Workload SQL Auto Protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent"
+ }
+ ],
+ "properties": {
+ "workloadItemType": {
+ "description": "Workload item type of the item for which intent is to be set",
+ "enum": [
+ "Invalid",
+ "SQLInstance",
+ "SQLDataBase",
+ "SAPHanaSystem",
+ "SAPHanaDatabase",
+ "SAPAseSystem",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadItemType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent"
+ },
+ "BackupManagementUsage": {
+ "description": "Backup management usages of a vault.",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "description": "Unit of the usage.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "Percent",
+ "CountPerSecond",
+ "BytesPerSecond"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UsagesUnit",
+ "modelAsString": true
+ }
+ },
+ "quotaPeriod": {
+ "description": "Quota period of usage.",
+ "type": "string"
+ },
+ "nextResetTime": {
+ "format": "date-time",
+ "description": "Next reset time of usage.",
+ "type": "string"
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "Current value of usage.",
+ "type": "integer"
+ },
+ "limit": {
+ "format": "int64",
+ "description": "Limit of usage.",
+ "type": "integer"
+ },
+ "name": {
+ "$ref": "#/definitions/NameInfo",
+ "description": "Name of usage."
+ }
+ }
+ },
+ "BackupManagementUsageList": {
+ "description": "Backup management usage for vault.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of backup management usages for the given vault.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupManagementUsage"
+ }
+ }
+ }
+ },
+ "BackupStatusRequest": {
+ "description": "BackupStatus request.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "Entire ARM resource id of the resource",
+ "type": "string"
+ },
+ "poLogicalName": {
+ "description": "Protectable Item Logical Name",
+ "type": "string"
+ }
+ }
+ },
+ "BackupStatusResponse": {
+ "description": "BackupStatus response.",
+ "type": "object",
+ "properties": {
+ "protectionStatus": {
+ "description": "Specifies whether the container is registered or not",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ },
+ "vaultId": {
+ "description": "Specifies the arm resource id of the vault",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Specifies the fabric name - Azure or AD",
+ "enum": [
+ "Invalid",
+ "Azure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FabricName",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.",
+ "type": "string"
+ },
+ "protectedItemName": {
+ "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "ErrorCode in case of intent failed",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "ErrorMessage in case of intent failed.",
+ "type": "string"
+ },
+ "policyName": {
+ "description": "Specifies the policy name which is used for protection",
+ "type": "string"
+ },
+ "registrationStatus": {
+ "description": "Container registration status",
+ "type": "string"
+ }
+ }
+ },
+ "BMSBackupSummariesQueryObject": {
+ "description": "Query parameters to fetch backup summaries.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "BackupProtectedItemCountSummary",
+ "BackupProtectionContainerCountSummary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "FeatureSupportRequest": {
+ "description": "Base class for feature request",
+ "required": [
+ "featureType"
+ ],
+ "type": "object",
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "featureType"
+ },
+ "NameInfo": {
+ "description": "The name of usage.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value of usage.",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of usage.",
+ "type": "string"
+ }
+ }
+ },
+ "PreValidateEnableBackupRequest": {
+ "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "ARM Virtual Machine Id",
+ "type": "string"
+ },
+ "vaultId": {
+ "description": "ARM id of the Recovery Services Vault",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Configuration of VM if any needs to be validated like OS type etc",
+ "type": "string"
+ }
+ }
+ },
+ "PreValidateEnableBackupResponse": {
+ "description": "Response contract for enable backup validation request",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Validation Status",
+ "enum": [
+ "Invalid",
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsString": true
+ }
+ },
+ "errorCode": {
+ "description": "Response error code",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Response error message",
+ "type": "string"
+ },
+ "recommendation": {
+ "description": "Recommended action for user",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal",
+ "type": "string"
+ },
+ "protectedItemName": {
+ "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionIntent": {
+ "description": "Base class for backup ProtectionIntent.",
+ "required": [
+ "protectionIntentItemType"
+ ],
+ "type": "object",
+ "properties": {
+ "protectionIntentItemType": {
+ "description": "backup protectionIntent type.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "ARM ID of the resource to be backed up.",
+ "type": "string"
+ },
+ "itemId": {
+ "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ID of the backup policy with which this item is backed up.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "protectionIntentItemType"
+ },
+ "ProtectionIntentQueryObject": {
+ "description": "Filters to list protection intent.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for the backed up item",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "itemType": {
+ "description": "Type of workload this item represents",
+ "enum": [
+ "Invalid",
+ "SQLInstance",
+ "SQLAvailabilityGroupContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IntentItemType",
+ "modelAsString": true
+ }
+ },
+ "parentName": {
+ "description": "Parent name of the intent",
+ "type": "string"
+ },
+ "itemName": {
+ "description": "Item name of the intent",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionIntentResource": {
+ "description": "Base class for backup ProtectionIntent.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionIntent",
+ "description": "ProtectionIntentResource properties"
+ }
+ }
+ },
+ "ProtectionIntentResourceList": {
+ "description": "List of ProtectionIntent resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ }
+ },
+ "AzureWorkloadContainer": {
+ "description": "Container for the workloads running inside Azure Compute or Classic Compute.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "sourceResourceId": {
+ "description": "ARM ID of the virtual machine represented by this Azure Workload Container",
+ "type": "string"
+ },
+ "lastUpdatedTime": {
+ "format": "date-time",
+ "description": "Time stamp when this container was updated.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo",
+ "description": "Additional details of a workload container."
+ },
+ "workloadType": {
+ "description": "Workload type for which registration was sent.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "operationType": {
+ "description": "Re-Do Operation",
+ "enum": [
+ "Invalid",
+ "Register",
+ "Reregister"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OperationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadContainer"
+ },
+ "AzureWorkloadContainerExtendedInfo": {
+ "description": "Extended information of the container.",
+ "type": "object",
+ "properties": {
+ "hostServerName": {
+ "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container.",
+ "type": "string"
+ },
+ "inquiryInfo": {
+ "$ref": "#/definitions/InquiryInfo",
+ "description": "Inquiry Status for the container."
+ },
+ "nodesList": {
+ "description": "List of the nodes in case of distributed container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DistributedNodesInfo"
+ }
+ }
+ }
+ },
+ "BackupEngineBase": {
+ "description": "The base backup engine class. All workload specific backup engines derive from this class.",
+ "type": "object",
+ "required": [
+ "backupEngineType"
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the backup engine.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the backup engine.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "registrationStatus": {
+ "description": "Registration status of the backup engine with the Recovery Services Vault.",
+ "type": "string"
+ },
+ "backupEngineState": {
+ "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Backup status of the backup engine.",
+ "type": "string"
+ },
+ "backupEngineType": {
+ "description": "Type of the backup engine.",
+ "enum": [
+ "Invalid",
+ "DpmBackupEngine",
+ "AzureBackupServerEngine"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupEngineType",
+ "modelAsString": true
+ }
+ },
+ "canReRegister": {
+ "description": "Flag indicating if the backup engine be registered, once already registered.",
+ "type": "boolean"
+ },
+ "backupEngineId": {
+ "description": "ID of the backup engine.",
+ "type": "string"
+ },
+ "dpmVersion": {
+ "description": "Backup engine version",
+ "type": "string"
+ },
+ "azureBackupAgentVersion": {
+ "description": "Backup agent version",
+ "type": "string"
+ },
+ "isAzureBackupAgentUpgradeAvailable": {
+ "description": "To check if backup agent upgrade available",
+ "type": "boolean"
+ },
+ "isDpmUpgradeAvailable": {
+ "description": "To check if backup engine upgrade available",
+ "type": "boolean"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/BackupEngineExtendedInfo",
+ "description": "Extended info of the backupengine"
+ }
+ },
+ "discriminator": "backupEngineType"
+ },
+ "BackupEngineBaseResource": {
+ "description": "The base backup engine class. All workload specific backup engines derive from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupEngineBase",
+ "description": "BackupEngineBaseResource properties"
+ }
+ }
+ },
+ "BackupEngineBaseResourceList": {
+ "description": "List of BackupEngineBase resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupEngineBaseResource"
+ }
+ }
+ }
+ },
+ "BackupEngineExtendedInfo": {
+ "description": "Additional information on backup engine.",
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "description": "Database name of backup engine.",
+ "type": "string"
+ },
+ "protectedItemsCount": {
+ "format": "int32",
+ "description": "Number of protected items in the backup engine.",
+ "type": "integer"
+ },
+ "protectedServersCount": {
+ "format": "int32",
+ "description": "Number of protected servers in the backup engine.",
+ "type": "integer"
+ },
+ "diskCount": {
+ "format": "int32",
+ "description": "Number of disks in the backup engine.",
+ "type": "integer"
+ },
+ "usedDiskSpace": {
+ "format": "double",
+ "description": "Disk space used in the backup engine.",
+ "type": "number"
+ },
+ "availableDiskSpace": {
+ "format": "double",
+ "description": "Disk space currently available in the backup engine.",
+ "type": "number"
+ },
+ "refreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time in the backup engine.",
+ "type": "string"
+ },
+ "azureProtectedInstances": {
+ "format": "int32",
+ "description": "Protected instances in the backup engine.",
+ "type": "integer"
+ }
+ }
+ },
+ "BackupRequest": {
+ "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "BackupRequestResource": {
+ "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupRequest",
+ "description": "BackupRequestResource properties"
+ }
+ }
+ },
+ "BMSBackupEngineQueryObject": {
+ "description": "Query parameters to fetch list of backup engines.",
+ "type": "object",
+ "properties": {
+ "expand": {
+ "description": "attribute to add extended info",
+ "type": "string"
+ }
+ }
+ },
+ "BMSBackupEnginesQueryObject": {
+ "description": "Query parameters to fetch list of backup engines.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for the backup engine.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "friendlyName": {
+ "description": "Friendly name of the backup engine.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Attribute to add extended info.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSContainerQueryObject": {
+ "description": "The query filters that can be used with the list containers API.",
+ "required": [
+ "backupManagementType"
+ ],
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "containerType": {
+ "description": "Type of container for filter",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": true
+ }
+ },
+ "backupEngineName": {
+ "description": "Backup engine name",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Fabric name for filter",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of registration of this container with the Recovery Services Vault.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of this container.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSContainersInquiryQueryObject": {
+ "description": "The query filters that can be used with the inquire container API.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type for this container.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BMSPOQueryObject": {
+ "description": "Filters to list items that can be backed up.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureSql",
+ "AzureBackupServer",
+ "AzureWorkload",
+ "AzureStorage",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Full name of the container whose Protectable Objects should be returned.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Backup status query parameter.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSRefreshContainersQueryObject": {
+ "description": "The query filters that can be used with the refresh container API.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BMSWorkloadItemQueryObject": {
+ "description": "Filters to list items that can be backed up.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureSql",
+ "AzureBackupServer",
+ "AzureWorkload",
+ "AzureStorage",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadItemType": {
+ "description": "Workload Item type",
+ "enum": [
+ "Invalid",
+ "SQLInstance",
+ "SQLDataBase",
+ "SAPHanaSystem",
+ "SAPHanaDatabase",
+ "SAPAseSystem",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadItemType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "protectionStatus": {
+ "description": "Backup status query parameter.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ClientScriptForConnect": {
+ "description": "Client script details for file / folder restore.",
+ "type": "object",
+ "properties": {
+ "scriptContent": {
+ "description": "File content of the client script for file / folder restore.",
+ "type": "string"
+ },
+ "scriptExtension": {
+ "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used",
+ "type": "string"
+ },
+ "scriptNameSuffix": {
+ "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.",
+ "type": "string"
+ }
+ }
+ },
+ "ContainerIdentityInfo": {
+ "description": "Container identity information",
+ "type": "object",
+ "properties": {
+ "uniqueName": {
+ "description": "Unique name of the container",
+ "type": "string"
+ },
+ "aadTenantId": {
+ "description": "Protection container identity - AAD Tenant",
+ "type": "string"
+ },
+ "servicePrincipalClientId": {
+ "description": "Protection container identity - AAD Service Principal",
+ "type": "string"
+ },
+ "audience": {
+ "description": "Protection container identity - Audience",
+ "type": "string"
+ }
+ }
+ },
+ "DistributedNodesInfo": {
+ "description": "This is used to represent the various nodes of the distributed container.",
+ "type": "object",
+ "properties": {
+ "nodeName": {
+ "description": "Name of the node under a distributed container.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of this Node.\r\nFailed | Succeeded",
+ "type": "string"
+ },
+ "errorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error Details if the Status is non-success."
+ }
+ }
+ },
+ "DpmBackupEngine": {
+ "description": "Data Protection Manager (DPM) specific backup engine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEngineBase"
+ }
+ ],
+ "x-ms-discriminator-value": "DpmBackupEngine"
+ },
+ "DpmContainer": {
+ "description": "DPM workload-specific protection container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "canReRegister": {
+ "description": "Specifies whether the container is re-registrable.",
+ "type": "boolean"
+ },
+ "containerId": {
+ "description": "ID of container.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of protected items in the BackupEngine",
+ "type": "integer"
+ },
+ "dpmAgentVersion": {
+ "description": "Backup engine Agent version",
+ "type": "string"
+ },
+ "dpmServers": {
+ "description": "List of BackupEngines protecting the container",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "upgradeAvailable": {
+ "description": "To check if upgrade available",
+ "type": "boolean"
+ },
+ "protectionStatus": {
+ "description": "Protection status of the container.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DPMContainerExtendedInfo",
+ "description": "Extended Info of the container."
+ }
+ },
+ "x-ms-discriminator-value": "DPMContainer"
+ },
+ "DPMContainerExtendedInfo": {
+ "description": "Additional information of the DPMContainer.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time of the DPMContainer.",
+ "type": "string"
+ }
+ }
+ },
+ "GenericContainer": {
+ "description": "Base class for generic container of backup items",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "fabricName": {
+ "description": "Name of the container's fabric",
+ "type": "string"
+ },
+ "extendedInformation": {
+ "$ref": "#/definitions/GenericContainerExtendedInfo",
+ "description": "Extended information (not returned in List container API calls)"
+ }
+ },
+ "x-ms-discriminator-value": "GenericContainer"
+ },
+ "GenericContainerExtendedInfo": {
+ "description": "Container extended information",
+ "type": "object",
+ "properties": {
+ "rawCertData": {
+ "description": "Public key of container cert",
+ "type": "string"
+ },
+ "containerIdentityInfo": {
+ "$ref": "#/definitions/ContainerIdentityInfo",
+ "description": "Container identity information"
+ },
+ "serviceEndpoints": {
+ "description": "Azure Backup Service Endpoints for the container",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "IaasVMBackupRequest": {
+ "description": "IaaS VM workload-specific backup request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMBackupRequest"
+ },
+ "IaaSVMContainer": {
+ "description": "IaaS VM workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "virtualMachineId": {
+ "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.",
+ "type": "string"
+ },
+ "virtualMachineVersion": {
+ "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group name of Recovery Services Vault.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "IaaSVMContainer"
+ },
+ "IaasVMILRRegistrationRequest": {
+ "description": "Restore files/folders from a backup copy of IaaS VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ILRRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.",
+ "type": "string"
+ },
+ "initiatorName": {
+ "description": "iSCSI initiator name.",
+ "type": "string"
+ },
+ "renewExistingRegistration": {
+ "description": "Whether to renew existing registration with the iSCSI server.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMILRRegistrationRequest"
+ },
+ "IaaSVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "IaaSVMProtectableItem"
+ },
+ "ILRRequest": {
+ "description": "Parameters to Provision ILR API.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ILRRequestResource": {
+ "description": "Parameters to Provision ILR API.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ILRRequest",
+ "description": "ILRRequestResource properties"
+ }
+ }
+ },
+ "InquiryInfo": {
+ "description": "Details about inquired protectable items under a given container.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded",
+ "type": "string"
+ },
+ "errorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error Details if the Status is non-success."
+ },
+ "inquiryDetails": {
+ "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadInquiryDetails"
+ }
+ }
+ }
+ },
+ "InquiryValidation": {
+ "description": "Validation for inquired protectable items under a given container.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status for the Inquiry Validation.",
+ "type": "string"
+ },
+ "errorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error Detail in case the status is non-success."
+ },
+ "additionalDetail": {
+ "description": "Error Additional Detail in case the status is non-success.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InstantItemRecoveryTarget": {
+ "description": "Target details for file / folder restore.",
+ "type": "object",
+ "properties": {
+ "clientScripts": {
+ "description": "List of client scripts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientScriptForConnect"
+ }
+ }
+ }
+ },
+ "MabContainer": {
+ "description": "Container with items backed up using MAB backup engine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "canReRegister": {
+ "description": "Can the container be registered one more time.",
+ "type": "boolean"
+ },
+ "containerId": {
+ "format": "int64",
+ "description": "ContainerID represents the container.",
+ "type": "integer"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of items backed up in this container.",
+ "type": "integer"
+ },
+ "agentVersion": {
+ "description": "Agent version of this container.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabContainerExtendedInfo",
+ "description": "Additional information for this container"
+ },
+ "mabContainerHealthDetails": {
+ "description": "Health details on this mab container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MABContainerHealthDetails"
+ }
+ },
+ "containerHealthState": {
+ "description": "Health state of mab container.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Windows"
+ },
+ "MabContainerExtendedInfo": {
+ "description": "Additional information of the container.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Time stamp when this container was refreshed.",
+ "type": "string"
+ },
+ "backupItemType": {
+ "description": "Type of backup items associated with this container.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupItemType",
+ "modelAsString": true
+ }
+ },
+ "backupItems": {
+ "description": "List of backup items associated with this container.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "policyName": {
+ "description": "Backup policy associated with this container.",
+ "type": "string"
+ },
+ "lastBackupStatus": {
+ "description": "Latest backup status of this container.",
+ "type": "string"
+ }
+ }
+ },
+ "MABContainerHealthDetails": {
+ "description": "MAB workload-specific Health Details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer"
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string"
+ },
+ "message": {
+ "description": "Health Message",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "Health Recommended Actions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "OperationStatus": {
+ "description": "Operation status.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "ID of the operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Operation status.",
+ "enum": [
+ "Invalid",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OperationStatusValues",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Operation start time. Format: ISO-8601.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Operation end time. Format: ISO-8601.",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/OperationStatusError",
+ "description": "Error information related to this operation."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationStatusExtendedInfo",
+ "description": "Additional information associated with this operation."
+ }
+ }
+ },
+ "OperationStatusError": {
+ "description": "Error information associated with operation status call.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code of the operation failure.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message displayed if the operation failure.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationStatusExtendedInfo": {
+ "description": "Base class for additional information of operation status.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "OperationStatusJobExtendedInfo": {
+ "description": "Operation status job extended info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "jobId": {
+ "description": "ID of the job created for this protected item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusJobExtendedInfo"
+ },
+ "OperationStatusJobsExtendedInfo": {
+ "description": "Operation status extended info for list of jobs.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "jobIds": {
+ "description": "IDs of the jobs created for the protected item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "failedJobsError": {
+ "description": "Stores all the failed jobs along with the corresponding error codes.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo"
+ },
+ "OperationStatusProvisionILRExtendedInfo": {
+ "description": "Operation status extended info for ILR provision action.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "recoveryTarget": {
+ "$ref": "#/definitions/InstantItemRecoveryTarget",
+ "description": "Target details for file / folder restore."
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo"
+ },
+ "PreBackupValidation": {
+ "description": "Pre-backup validation for Azure VM Workload provider.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed",
+ "enum": [
+ "Invalid",
+ "Success",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InquiryStatus",
+ "modelAsString": true
+ }
+ },
+ "code": {
+ "description": "Error code of protectable item",
+ "type": "string"
+ },
+ "message": {
+ "description": "Message corresponding to the error code for the protectable item",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectableContainer": {
+ "description": "Protectable Container Class.",
+ "type": "object",
+ "required": [
+ "protectableContainerType"
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "protectableContainerType": {
+ "description": "Type of the container. The value of this property for\r\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": false
+ }
+ },
+ "healthStatus": {
+ "description": "Status of health of the container.",
+ "type": "string"
+ },
+ "containerId": {
+ "description": "Fabric Id of the container such as ARM Id.",
+ "type": "string"
+ }
+ },
+ "discriminator": "protectableContainerType"
+ },
+ "ProtectableContainerResource": {
+ "description": "Protectable Container Class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectableContainer",
+ "description": "ProtectableContainerResource properties"
+ }
+ }
+ },
+ "ProtectableContainerResourceList": {
+ "description": "List of ProtectableContainer resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectableContainerResource"
+ }
+ }
+ }
+ },
+ "ProtectionContainer": {
+ "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.",
+ "type": "object",
+ "required": [
+ "containerType"
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "registrationStatus": {
+ "description": "Status of registration of the container with the Recovery Services Vault.",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Status of health of the container.",
+ "type": "string"
+ },
+ "containerType": {
+ "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\nBackup is VMAppContainer",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "containerType"
+ },
+ "ProtectionContainerResource": {
+ "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionContainer",
+ "description": "ProtectionContainerResource properties"
+ }
+ }
+ },
+ "ProtectionContainerResourceList": {
+ "description": "List of ProtectionContainer resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ }
+ }
+ },
+ "SecurityPinBase": {
+ "description": "Base class for get security pin request body",
+ "type": "object",
+ "properties": {
+ "resourceGuardOperationRequests": {
+ "description": "ResourceGuard Operation Requests",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TokenInformation": {
+ "description": "The token information details.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "Token value.",
+ "type": "string"
+ },
+ "expiryTimeInUtcTicks": {
+ "format": "int64",
+ "description": "Expiry time of token.",
+ "type": "integer"
+ },
+ "securityPIN": {
+ "description": "Security PIN",
+ "type": "string"
+ }
+ }
+ },
+ "WorkloadInquiryDetails": {
+ "description": "Details of an inquired protectable item.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the Workload such as SQL, Oracle etc.",
+ "type": "string"
+ },
+ "itemCount": {
+ "format": "int64",
+ "description": "Contains the protectable item Count inside this Container.",
+ "type": "integer"
+ },
+ "inquiryValidation": {
+ "$ref": "#/definitions/InquiryValidation",
+ "description": "Inquiry validation such as permissions and other backup validations."
+ }
+ }
+ },
+ "WorkloadItem": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "type": "object",
+ "required": [
+ "workloadItemType"
+ ],
+ "properties": {
+ "backupManagementType": {
+ "description": "Type of backup management to backup an item.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "workloadItemType": {
+ "description": "Type of the backup item.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of the backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "State of the back up item.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "workloadItemType"
+ },
+ "WorkloadItemResource": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WorkloadItem",
+ "description": "WorkloadItemResource properties"
+ }
+ }
+ },
+ "WorkloadItemResourceList": {
+ "description": "List of WorkloadItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadItemResource"
+ }
+ }
+ }
+ },
+ "WorkloadProtectableItem": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "type": "object",
+ "required": [
+ "protectableItemType"
+ ],
+ "properties": {
+ "backupManagementType": {
+ "description": "Type of backup management to backup an item.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "protectableItemType": {
+ "description": "Type of the backup item.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of the backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "State of the back up item.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "protectableItemType"
+ },
+ "WorkloadProtectableItemResource": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WorkloadProtectableItem",
+ "description": "WorkloadProtectableItemResource properties"
+ }
+ }
+ },
+ "WorkloadProtectableItemResourceList": {
+ "description": "List of WorkloadProtectableItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadProtectableItemResource"
+ }
+ }
+ }
+ },
+ "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": {
+ "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSAPHanaPointInTimeRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest"
+ },
+ "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": {
+ "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest"
+ },
+ "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": {
+ "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLPointInTimeRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest"
+ },
+ "AzureWorkloadSQLRestoreWithRehydrateRequest": {
+ "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRestoreWithRehydrateRequest"
+ },
+ "IaasVMRestoreWithRehydrationRequest": {
+ "description": "IaaS VM workload-specific restore with integrated rehydration of recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaasVMRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRestoreWithRehydrationRequest"
+ },
+ "MoveRPAcrossTiersRequest": {
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ },
+ "sourceTierType": {
+ "description": "Source tier from where RP needs to be moved",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP",
+ "ArchivedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ },
+ "targetTierType": {
+ "description": "Target tier where RP needs to be moved",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP",
+ "ArchivedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "RecoveryPointMoveReadinessInfo": {
+ "type": "object",
+ "properties": {
+ "isReadyForMove": {
+ "type": "boolean"
+ },
+ "additionalInfo": {
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPointRehydrationInfo": {
+ "description": "RP Rehydration Info",
+ "type": "object",
+ "properties": {
+ "rehydrationRetentionDuration": {
+ "description": "How long the rehydrated RP should be kept\r\nShould be ISO8601 Duration format e.g. \"P7D\"",
+ "type": "string"
+ },
+ "rehydrationPriority": {
+ "description": "Rehydration Priority",
+ "enum": [
+ "Standard",
+ "High"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RehydrationPriority",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ListRecoveryPointsRecommendedForMoveRequest": {
+ "description": "ListRecoveryPointsRecommendedForMoveRequest Request",
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ },
+ "excludedRPList": {
+ "description": "List of Recovery Points excluded from Move",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "UnlockDeleteRequest": {
+ "description": "Request body of unlock delete API.",
+ "type": "object",
+ "properties": {
+ "resourceGuardOperationRequests": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "resourceToBeDeleted": {
+ "type": "string"
+ }
+ }
+ },
+ "UnlockDeleteResponse": {
+ "description": "Response of Unlock Delete API.",
+ "type": "object",
+ "properties": {
+ "unlockDeleteExpiryTime": {
+ "description": "This is the time when unlock delete privileges will get expired.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceGuardOperationDetail": {
+ "type": "object",
+ "properties": {
+ "vaultCriticalOperation": {
+ "type": "string"
+ },
+ "defaultResourceRequest": {
+ "type": "string"
+ }
+ }
+ },
+ "ResourceGuardProxyBase": {
+ "type": "object",
+ "properties": {
+ "resourceGuardResourceId": {
+ "type": "string"
+ },
+ "resourceGuardOperationDetails": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceGuardOperationDetail"
+ }
+ },
+ "lastUpdatedTime": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ }
+ },
+ "ResourceGuardProxyBaseResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResourceGuardProxyBase",
+ "description": "ResourceGuardProxyBaseResource properties"
+ }
+ }
+ },
+ "ResourceGuardProxyBaseResourceList": {
+ "description": "List of ResourceGuardProxyBase resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "AzureRegion": {
+ "name": "azureRegion",
+ "in": "path",
+ "description": "Azure region to hit Api",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupFeature_Validate.json
new file mode 100644
index 000000000000..f24c75616abf
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupFeature_Validate.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "featureType": "AzureVMResourceBackup",
+ "vmSize": "Basic_A0",
+ "vmSku": "Premium"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "supportStatus": "DefaultOFF"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupPolicies_List.json
new file mode 100644
index 000000000000..d82119336d06
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupPolicies_List.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-08-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy",
+ "name": "DefaultPolicy",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ },
+ "protectedItemsCount": 0
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupProtectableItems_List.json
new file mode 100644
index 000000000000..7801539a71b4
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupProtectableItems_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-08-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionState": "NotProtected",
+ "protectableItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupProtectedItems_List.json
new file mode 100644
index 000000000000..5c09100a5cc9
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/BackupProtectedItems_List.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-08-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..0d16d8eb2fa4
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..3f960bc63028
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ConfigureProtection.json
new file mode 100644
index 000000000000..fe0bb8e04487
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ConfigureProtection.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/GetBackupStatus.json
new file mode 100644
index 000000000000..ed285389bd0c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/GetBackupStatus.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm",
+ "resourceType": "VM"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "protectionStatus": "Protected",
+ "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm",
+ "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm",
+ "policyName": "myPolicy",
+ "errorCode": "Success",
+ "errorMessage": "ErrorMessage"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectedItemOperationResults.json
new file mode 100644
index 000000000000..e14c3644a50e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectedItemOperationResults.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json
new file mode 100644
index 000000000000..6a06e65eeea9
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "status": "Succeeded",
+ "startTime": "2017-10-29T06:04:18.207325Z",
+ "endTime": "2017-10-29T06:04:18.207325Z",
+ "properties": {
+ "objectType": "OperationStatusJobExtendedInfo",
+ "jobId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json
new file mode 100644
index 000000000000..7e0ece06f2c6
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myRG",
+ "vaultName": "myVault",
+ "fabricName": "Azure",
+ "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel",
+ "protectionIntentItemType": "AzureResourceItem",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel",
+ "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel",
+ "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy",
+ "protectionState": "Protected"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_Validate.json
new file mode 100644
index 000000000000..74095c38cdb0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionIntent_Validate.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1",
+ "resourceType": "VM",
+ "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault",
+ "properties": ""
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Failed",
+ "errorCode": "VirtualMachineAlreadyProtected",
+ "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault",
+ "recommendation": "Please do not enable protection again.",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1",
+ "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..8ad258f2d347
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
@@ -0,0 +1,181 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "Pacific Standard Time",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Wednesday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "First",
+ "Third"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "February",
+ "November"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "Fourth"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 4,
+ "durationType": "Years"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Wednesday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "First",
+ "Third"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "February",
+ "November"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "Fourth"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 4,
+ "durationType": "Years"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
new file mode 100644
index 000000000000..c791d9904658
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "Pacific Standard Time",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json
new file mode 100644
index 000000000000..7278844e65db
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_Get.json
new file mode 100644
index 000000000000..e38d16213f05
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicies_Get.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
new file mode 100644
index 000000000000..ca7b78a6f55c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json
new file mode 100644
index 000000000000..7083d9dddb5f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "GetProtectionPolicyOperationStatus",
+ "status": "Succeeded",
+ "startTime": "2018-01-24T12:57:32.1142968Z",
+ "endTime": "2018-01-24T12:57:32.1142968Z",
+ "properties": {
+ "objectType": "OperationStatusJobsExtendedInfo",
+ "jobIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "failedJobsError": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/Provision_Ilr.json
new file mode 100644
index 000000000000..0ca510b177fc
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/Provision_Ilr.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "recoveryPointId": "1",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "initiatorName": "Hello World",
+ "recoveryPointId": "38823086363464",
+ "renewExistingRegistration": true,
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1",
+ "objectType": "IaasVMILRRegistrationRequest"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json
new file mode 100644
index 000000000000..10c1ebaaec48
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "objectType": "ListRecoveryPointsRecommendedForMoveRequest",
+ "excludedRPList": [
+ "348916168024334",
+ "348916168024335"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382",
+ "name": "22244821112382",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-21T22:48:25.4353958Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "ArchivedRP": {
+ "isReadyForMove": true
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250",
+ "name": "24977149827250",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-20T22:49:44.3317945Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "ArchivedRP",
+ "status": "Rehydrated",
+ "extendedInfo": {
+ "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z"
+ }
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "ArchivedRP": {
+ "isReadyForMove": true
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false,
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/RecoveryPoints_Get.json
new file mode 100644
index 000000000000..7654d4868faa
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/RecoveryPoints_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "recoveryPointId": "26083826328862",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862",
+ "name": "26083826328862",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-11-22T22:32:46.6088472Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "ArchivedRP": {
+ "isReadyForMove": true
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false,
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/RecoveryPoints_List.json
new file mode 100644
index 000000000000..27d8677e332b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/RecoveryPoints_List.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382",
+ "name": "22244821112382",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-21T22:48:25.4353958Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "Archive": {
+ "isReadyForMove": true
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250",
+ "name": "24977149827250",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-20T22:49:44.3317945Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "ArchivedRP",
+ "status": "Rehydrated",
+ "extendedInfo": {
+ "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z"
+ }
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "ArchivedRP": {
+ "isReadyForMove": false,
+ "additionalInfo": "Recovery point cannot be moved to archive tier since it has already been moved."
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false,
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/Revoke_Ilr.json
new file mode 100644
index 000000000000..3d3b74415145
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/Revoke_Ilr.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "recoveryPointId": "1",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/StopProtection.json
new file mode 100644
index 000000000000..8a028edf1ef9
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/StopProtection.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionState": "ProtectionStopped"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "ProtectionStopped",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json
new file mode 100644
index 000000000000..28301209ac01
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "AlternateLocation",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435",
+ "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount",
+ "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
+ "region": "southeastasia",
+ "createNewCloudService": false,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json
new file mode 100644
index 000000000000..7268c4950ec9
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreWithRehydrationRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "AlternateLocation",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435",
+ "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount",
+ "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
+ "region": "southeastasia",
+ "createNewCloudService": false,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "recoveryPointRehydrationInfo": {
+ "rehydrationRetentionDuration": "P7D",
+ "rehydrationPriority": "High"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json
new file mode 100644
index 000000000000..948c6334e2f8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json
new file mode 100644
index 000000000000..cc11ab2c96b2
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreWithRehydrationRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "recoveryPointRehydrationInfo": {
+ "rehydrationRetentionDuration": "P7D",
+ "rehydrationPriority": "Standard"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
new file mode 100644
index 000000000000..13cd1ea1eba1
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName",
+ "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "objectType": "ValidateIaasVMRestoreOperationRequest",
+ "restoreRequest": {
+ "recoveryPointId": "348916168024334",
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "validateOperationResponse": {
+ "validationResults": [
+ {
+ "code": "UserErrorCoreCountSubscriptionQuotaReached",
+ "message": "Core Count subscription quota has been reached.",
+ "recommendations": [
+ "Contact Azure support to increase the limits."
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectableContainers_List.json
new file mode 100644
index 000000000000..a065b801c099
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectableContainers_List.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "api-version": "2021-08-01",
+ "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage",
+ "name": "StorageContainer;storage;test-rg;testst",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",
+ "properties": {
+ "friendlyName": "teststorage",
+ "backupManagementType": "AzureStorage",
+ "protectableContainerType": "StorageContainer",
+ "healthStatus": "Healthy",
+ "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage",
+ "name": "StorageContainer;ClassicStorage;test-rg;teststorage",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",
+ "properties": {
+ "friendlyName": "teststorage",
+ "backupManagementType": "AzureStorage",
+ "protectableContainerType": "StorageContainer",
+ "healthStatus": "Healthy",
+ "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_Inquire.json
new file mode 100644
index 000000000000..e1c670d31b37
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_Inquire.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "containerName": "storagecontainer;Storage;test-rg;teststorage",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json
new file mode 100644
index 000000000000..3eaa617b86b0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "containerName": "VMAppContainer;Compute;testRG;testSQL",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "name": "VMAppContainer;Compute;testRG;testSQL",
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "properties": {
+ "extendedInfo": {
+ "hostServerName": "testsql",
+ "nodesList": [],
+ "inquiryInfo": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ },
+ "inquiryDetails": [
+ {
+ "type": "sql",
+ "itemCount": 14,
+ "inquiryValidation": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL",
+ "backupManagementType": "AzureWorkload",
+ "workloadType": null,
+ "containerType": "VMAppContainer",
+ "friendlyName": "testSQL"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_List.json
new file mode 100644
index 000000000000..2b4bada0abb2
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "api-version": "2021-08-01",
+ "fabricName": "Azure",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125",
+ "name": "StorageContainer;Storage;testrg;suchandrtestsa125",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "properties": {
+ "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125",
+ "protectedItemCount": 2,
+ "friendlyName": "suchandrtestsa125",
+ "backupManagementType": "AzureStorage",
+ "registrationStatus": "Registered",
+ "healthStatus": "Healthy",
+ "containerType": "StorageContainer"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_Register.json
new file mode 100644
index 000000000000..b73f2e0ff821
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureStorage/ProtectionContainers_Register.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "containerName": "VMAppContainer;Compute;testRG;testSQL",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "friendlyName": "testSQL",
+ "backupManagementType": "AzureWorkload",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL",
+ "containerType": "VMAppContainer"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "name": "VMAppContainer;Compute;testRG;testSQL",
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "properties": {
+ "extendedInfo": {
+ "hostServerName": "testsql",
+ "nodesList": [],
+ "inquiryInfo": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ },
+ "inquiryDetails": [
+ {
+ "type": "sql",
+ "itemCount": 14,
+ "inquiryValidation": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL",
+ "backupManagementType": "AzureWorkload",
+ "workloadType": null,
+ "containerType": "VMAppContainer",
+ "friendlyName": "testSQL"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupPolicies_List.json
new file mode 100644
index 000000000000..ebae2900c5a5
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupPolicies_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-08-01",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup",
+ "name": "HourlyLogBackup",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "UTC",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ }
+ ],
+ "protectedItemsCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json
new file mode 100644
index 000000000000..d36af9182e34
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myRG",
+ "vaultName": "myVault",
+ "fabricName": "Azure",
+ "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E",
+ "api-version": "2021-08-01",
+ "parameters": {}
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json
new file mode 100644
index 000000000000..492c4b1e0d7c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myRG",
+ "vaultName": "myVault",
+ "fabricName": "Azure",
+ "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E",
+ "api-version": "2021-08-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E",
+ "name": "249D9B07-D2EF-4202-AA64-65F35418564E",
+ "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy",
+ "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json
new file mode 100644
index 000000000000..dcfb72cbe546
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myRG",
+ "vaultName": "myVault",
+ "api-version": "2021-08-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E",
+ "name": "249D9B07-D2EF-4202-AA64-65F35418564E",
+ "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy",
+ "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupWorkloadItems_List.json
new file mode 100644
index 000000000000..128c8cdb91c0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/BackupWorkloadItems_List.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "suchandr-seacan-rsv",
+ "api-version": "2021-08-01",
+ "$filter": "backupManagementType eq 'AzureWorkload'",
+ "fabricName": "Azure",
+ "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER",
+ "name": "SQLInstance;MSSQLSERVER",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items",
+ "properties": {
+ "dataDirectoryPaths": [
+ {
+ "type": "Data",
+ "path": "F:\\DATA\\"
+ },
+ {
+ "type": "Log",
+ "path": "F:\\LOG\\"
+ }
+ ],
+ "parentName": "MSSQLSERVER",
+ "serverName": "sqlserver-1.contoso.com",
+ "isAutoProtectable": true,
+ "subinquireditemcount": 0,
+ "subWorkloadItemCount": 3,
+ "backupManagementType": "AzureWorkload",
+ "workloadType": "SQL",
+ "workloadItemType": "SQLInstance",
+ "friendlyName": "MSSQLSERVER",
+ "protectionState": "NotProtected"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/ProtectionContainers_Get.json
new file mode 100644
index 000000000000..0a0e3903fe7b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/ProtectionContainers_Get.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "VMAppContainer;Compute;testRG;testSQL",
+ "api-version": "2021-08-01",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "VMAppContainer;Compute;testRG;testSQL",
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "properties": {
+ "extendedInfo": {
+ "hostServerName": "testsql",
+ "nodesList": [],
+ "inquiryInfo": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ },
+ "inquiryDetails": [
+ {
+ "type": "sql",
+ "itemCount": 14,
+ "inquiryValidation": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL",
+ "backupManagementType": "AzureWorkload",
+ "workloadType": null,
+ "containerType": "VMAppContainer",
+ "friendlyName": "testSQL"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/ProtectionContainers_Unregister.json
new file mode 100644
index 000000000000..4fa5c3b74a95
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/ProtectionContainers_Unregister.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "api-version": "2021-08-01",
+ "fabricName": "Azure",
+ "containerName": "storagecontainer;Storage;test-rg;teststorage"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..bb23cc7e910a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
@@ -0,0 +1,260 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "Pacific Standard Time",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Sunday",
+ "Tuesday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Second"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January",
+ "June",
+ "December"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Last"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Years"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Differential",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Friday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 8,
+ "durationType": "Days"
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 7,
+ "durationType": "Days"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "Pacific Standard Time",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Second"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January",
+ "June",
+ "December"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Last"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Years"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Differential",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Friday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 8,
+ "durationType": "Days"
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 7,
+ "durationType": "Days"
+ }
+ }
+ }
+ ],
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json
new file mode 100644
index 000000000000..c28ec061bc38
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sourceRG",
+ "vaultName": "source-rsv",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "name": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "status": "Succeeded",
+ "startTime": "2020-02-27T11:59:47.5901592Z",
+ "endTime": "2020-02-27T11:59:47.5901592Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json
new file mode 100644
index 000000000000..b5e86661aa4c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sourceRG",
+ "vaultName": "source-rsv",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "objectType": ""
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMove_Post.json
new file mode 100644
index 000000000000..9aa424b43d97
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/PrepareDataMove_Post.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sourceRG",
+ "vaultName": "source-rsv",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv",
+ "targetRegion": "USGov Virginia",
+ "dataMoveLevel": "Vault"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/TriggerDataMove_Post.json
new file mode 100644
index 000000000000..cbf4f923ab83
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupDataMove/TriggerDataMove_Post.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "targetRG",
+ "vaultName": "target-rsv",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv",
+ "sourceRegion": "USGov Iowa",
+ "dataMoveLevel": "Vault",
+ "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE="
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupResourceEncryptionConfig_Get.json
new file mode 100644
index 000000000000..c363d99b1a95
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupResourceEncryptionConfig_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rishgrp",
+ "vaultName": "rishTestVault",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig",
+ "name": "backupResourceEncryptionConfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs",
+ "properties": {
+ "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
+ "useSystemAssignedIdentity": false,
+ "encryptionAtRestType": "CustomerManaged",
+ "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed",
+ "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b",
+ "lastUpdateStatus": "Succeeded",
+ "infrastructureEncryptionState": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupResourceEncryptionConfig_Put.json
new file mode 100644
index 000000000000..b1c93182bce5
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/BackupResourceEncryptionConfig_Put.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "source-rsv",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "encryptionAtRestType": "CustomerManaged",
+ "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed",
+ "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b",
+ "infrastructureEncryptionState": "true"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json
new file mode 100644
index 000000000000..4cf81d7d0776
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "api-version": "2021-08-01",
+ "$filter": "type eq 'BackupProtectedItemCountSummary'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 7,
+ "limit": -1,
+ "name": {
+ "value": "AzureIaasVM",
+ "localizedValue": "Azure Virtual Machine"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 3,
+ "limit": -1,
+ "name": {
+ "value": "MAB",
+ "localizedValue": "Azure Backup Agent"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": -1,
+ "name": {
+ "value": "AzureBackupServer",
+ "localizedValue": "Azure Backup Server"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureStorage",
+ "localizedValue": "Azure Storage (Azure Files)"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureWorkload",
+ "localizedValue": "SQL in Azure VM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json
new file mode 100644
index 000000000000..b30896ddc742
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "api-version": "2021-08-01",
+ "$filter": "type eq 'BackupProtectionContainerCountSummary'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureBackupServer",
+ "localizedValue": "Azure Backup Server"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 3,
+ "limit": -1,
+ "name": {
+ "value": "MAB",
+ "localizedValue": "Azure Backup Agent"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": -1,
+ "name": {
+ "value": "AzureWorkload",
+ "localizedValue": "SQL in Azure VM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupResourceVaultConfigs_Get.json
new file mode 100644
index 000000000000..ee9388bddbcc
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupResourceVaultConfigs_Get.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
+ "name": "vaultconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupconfig",
+ "properties": {
+ "enhancedSecurityState": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupResourceVaultConfigs_Patch.json
new file mode 100644
index 000000000000..4ffd6df4f9e7
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupResourceVaultConfigs_Patch.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "enhancedSecurityState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
+ "name": "vaultconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupconfig",
+ "properties": {
+ "enhancedSecurityState": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupResourceVaultConfigs_Put.json
new file mode 100644
index 000000000000..f8f1b2900bc6
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupResourceVaultConfigs_Put.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "enhancedSecurityState": "Enabled",
+ "softDeleteFeatureState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
+ "name": "vaultconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupconfig",
+ "properties": {
+ "enhancedSecurityState": "Enabled",
+ "softDeleteFeatureState": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupSecurityPin_Get.json
new file mode 100644
index 000000000000..85211b05972b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupSecurityPin_Get.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "token": "200432",
+ "expiryTimeInUtcTicks": 636495150137443121,
+ "securityPIN": "200432"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupStorageConfig_Get.json
new file mode 100644
index 000000000000..245d7eeaadf3
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupStorageConfig_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig",
+ "name": "vaultstorageconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig",
+ "properties": {
+ "storageModelType": "GeoRedundant",
+ "storageType": "GeoRedundant",
+ "storageTypeState": "Locked"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupStorageConfig_Patch.json
new file mode 100644
index 000000000000..e0d832341a1a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupStorageConfig_Patch.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupStorageConfig_Put.json
new file mode 100644
index 000000000000..5720a9440c4b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/BackupStorageConfig_Put.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig",
+ "name": "vaultstorageconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig",
+ "properties": {
+ "storageModelType": "LocallyRedundant",
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/CancelJobOperationResult.json
new file mode 100644
index 000000000000..9e0848fb7f91
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/CancelJobOperationResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "204": {},
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ExportJobsOperationResult.json
new file mode 100644
index 000000000000..dce2bbe098ca
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ExportJobsOperationResult.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo",
+ "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000",
+ "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r"
+ },
+ "headers": {}
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 60,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ },
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo"
+ },
+ "headers": {
+ "Location": [
+ "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ ],
+ "Retry-After": [
+ "60"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/GetJobDetails.json
new file mode 100644
index 000000000000..0b5d444de779
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/GetJobDetails.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT9.8782791S",
+ "virtualMachineVersion": "Compute",
+ "extendedInfo": {
+ "tasksList": [
+ {
+ "taskId": "Take Snapshot",
+ "duration": "PT0S",
+ "status": "InProgress"
+ },
+ {
+ "taskId": "Transfer data to vault",
+ "duration": "PT0S",
+ "status": "NotStarted"
+ }
+ ],
+ "propertyBag": {
+ "VM Name": "testvm"
+ }
+ },
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ListJobs.json
new file mode 100644
index 000000000000..32bfda7353b2
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ListJobs.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ListJobsWithAllSupportedFilters.json
new file mode 100644
index 000000000000..45746d2f6566
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ListJobsWithAllSupportedFilters.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-08-01",
+ "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
new file mode 100644
index 000000000000..6deabbb19b4b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-08-01",
+ "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ProtectedItem_Delete.json
new file mode 100644
index 000000000000..97cf1048a774
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ProtectedItem_Delete.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ProtectedItem_Delete_OperationResult.json
new file mode 100644
index 000000000000..9803f4d48b35
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ProtectedItem_Delete_OperationResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ProtectedItem_Delete_OperationStatus.json
new file mode 100644
index 000000000000..78f92cf1d08d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/ProtectedItem_Delete_OperationStatus.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "status": "InProgress",
+ "startTime": "2017-08-03T06:52:53.886027Z",
+ "endTime": "0001-01-01T00:00:00.00000Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/RefreshContainers.json
new file mode 100644
index 000000000000..6df738bf21c8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/RefreshContainers.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/RefreshContainers_OperationResults.json
new file mode 100644
index 000000000000..e52b411adbf0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/RefreshContainers_OperationResults.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/TriggerBackup_Post.json
new file mode 100644
index 000000000000..22aa872e1a88
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/TriggerBackup_Post.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "linuxRsVaultRG",
+ "vaultName": "linuxRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r",
+ "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMBackupRequest"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/TriggerCancelJob.json
new file mode 100644
index 000000000000..d2c91c161e78
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/TriggerCancelJob.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/TriggerExportJobs.json
new file mode 100644
index 000000000000..ea87bf7697bc
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Common/TriggerExportJobs.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Dpm/BackupEngines_Get.json
new file mode 100644
index 000000000000..44d32d98e895
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Dpm/BackupEngines_Get.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "backupEngineName": "testServer",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer",
+ "name": "testServer",
+ "type": "Microsoft.RecoveryServices/vaults/backupEngines",
+ "properties": {
+ "backupEngineType": "DpmBackupEngine",
+ "dpmVersion": "5.1.348.0",
+ "isDpmUpgradeAvailable": false,
+ "azureBackupAgentVersion": "2.0.9532.0",
+ "isAzureBackupAgentUpgradeAvailable": false,
+ "registrationStatus": "Registered",
+ "backupEngineState": "Active",
+ "friendlyName": "testServer",
+ "extendedInfo": {
+ "protectedItemsCount": 35,
+ "protectedServersCount": 21,
+ "diskCount": 5,
+ "availableDiskSpace": 50,
+ "usedDiskSpace": 20
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Dpm/BackupEngines_List.json
new file mode 100644
index 000000000000..c6dfc9dccf50
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Dpm/BackupEngines_List.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1",
+ "name": "testServer1",
+ "type": "Microsoft.RecoveryServices/vaults/backupEngines",
+ "properties": {
+ "backupEngineType": "DpmBackupEngine",
+ "dpmVersion": "5.1.348.0",
+ "isDpmUpgradeAvailable": false,
+ "azureBackupAgentVersion": "2.0.9532.0",
+ "isAzureBackupAgentUpgradeAvailable": false,
+ "registrationStatus": "Registered",
+ "backupEngineState": "Active",
+ "friendlyName": "testServer1",
+ "extendedInfo": {
+ "protectedItemsCount": 35,
+ "protectedServersCount": 21,
+ "diskCount": 5,
+ "availableDiskSpace": 50,
+ "usedDiskSpace": 20
+ }
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5",
+ "name": "testServer5",
+ "type": "Microsoft.RecoveryServices/vaults/backupEngines",
+ "properties": {
+ "backupEngineType": "DpmBackupEngine",
+ "dpmVersion": "5.1.348.0",
+ "isDpmUpgradeAvailable": false,
+ "azureBackupAgentVersion": "2.0.9530.0",
+ "isAzureBackupAgentUpgradeAvailable": false,
+ "registrationStatus": "Registered",
+ "backupEngineState": "Active",
+ "friendlyName": "testServer5",
+ "extendedInfo": {
+ "protectedItemsCount": 35,
+ "protectedServersCount": 21,
+ "diskCount": 5,
+ "availableDiskSpace": 50,
+ "usedDiskSpace": 20
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListOperations.json
new file mode 100644
index 000000000000..3943bad7c591
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ListOperations.json
@@ -0,0 +1,463 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "microsoft.recoveryservices/vaults/usages/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Usage",
+ "operation": "Recovery Services Vault usage details.",
+ "description": "Returns usage details for a Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Usages Summaries",
+ "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.",
+ "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/storageConfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Get Resource Storage Config",
+ "description": "Returns Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/storageConfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Write Resource Storage Config",
+ "description": "Updates Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Get Resource Config",
+ "description": "Returns Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Update Resource Config",
+ "description": "Updates Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/tokenInfo/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Token Info",
+ "operation": "Get Vault Token Info",
+ "description": "Returns token information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "SecurityPINInfo",
+ "operation": "Get Security PIN Info",
+ "description": "Returns Security PIN Information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Management Metadata",
+ "operation": "Get Backup Management Metadata",
+ "description": "Returns Backup Management Metadata for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupOperationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupOperations/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobs/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Get Jobs",
+ "description": "Returns all Job Objects"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Cancel Jobs",
+ "description": "Cancel the Job"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs",
+ "operation": "Export Jobs",
+ "description": "Export Jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs Operation Results",
+ "operation": "Get Job Operation Result",
+ "description": "Returns the Result of Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs Operation Results",
+ "operation": "Get Export Job Operation Result",
+ "description": "Returns the Result of Export Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Get Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Restore Recovery Points",
+ "description": "Restore Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Provision Instant Item Recovery for Protected Item",
+ "description": "Provision Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Revoke Instant Item Recovery for Protected Item",
+ "description": "Revoke Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Get Protection Policy",
+ "description": "Returns all Protection Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Create Protection Policy",
+ "description": "Creates Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Delete Protection Policy",
+ "description": "Delete a Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Results",
+ "operation": "Get Policy Operation Results",
+ "description": "Get Results of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Status",
+ "operation": "Get Policy Operation Status",
+ "description": "Get Status of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get Protected Item Details",
+ "description": "Returns object details of the Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get All Protected Items",
+ "description": "Returns the list of all Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Create Backup Protected Item",
+ "description": "Create a backup Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Deletes Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Results",
+ "operation": "Get Protected Items Operation Results",
+ "description": "Gets Result of Operation Performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Status",
+ "operation": "Get Protected Items operation status",
+ "description": "Returns the status of Operation performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Backup Protected Item",
+ "description": "Performs Backup for Protected Item."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protectable Items",
+ "operation": "Get Protectable Items",
+ "description": "Returns list of all Protectable Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/refreshContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers",
+ "operation": "Refresh container",
+ "description": "Refreshes the container list"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers Operation Results",
+ "operation": "Get Operation Results",
+ "description": "Returns status of the operation"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protection Containers",
+ "operation": "Get Containers In Subscription",
+ "description": "Returns all containers belonging to the subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers",
+ "operation": "Get Registered Container",
+ "description": "Returns all registered containers"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Operation Results",
+ "operation": "Get Container Operation Results",
+ "description": "Gets result of Operation performed on Protection Container."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupEngines",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Engines",
+ "operation": "List of backup management servers.",
+ "description": "Returns all the backup management servers registered with vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupStatus",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "PreValidate Protection",
+ "operation": "Pre Validate Enable Protection",
+ "description": ""
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupValidateFeatures",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Validate Features",
+ "operation": "Validate Features",
+ "description": "Validate Features"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Intent",
+ "operation": "Create backup Protection Intent",
+ "description": "Create a backup Protection Intent"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Workload Items",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Inquire",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..73a3d0ad7f52
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "vaultName": "gaallavaultbvtd2msi",
+ "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi",
+ "Retry-After": "60"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..d326cd8146fa
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "vaultName": "gaallavaultbvtd2msi",
+ "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@company.com"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json
new file mode 100644
index 000000000000..4a3577d86329
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b",
+ "vaultName": "gaallavaultbvtd2msi",
+ "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "name": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "status": "Succeeded",
+ "startTime": "2020-02-27T11:59:47.5901592Z",
+ "endTime": "2020-02-27T11:59:47.5901592Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json
new file mode 100644
index 000000000000..9884ce9ef74a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "vaultName": "gaallavaultbvtd2msi",
+ "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@company.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@company.com"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@company.com"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json
new file mode 100644
index 000000000000..22a905ffc46f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json
new file mode 100644
index 000000000000..bb5130a5afdb
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "resourceGuardOperationDetails": [
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/resourceguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default"
+ }
+ ],
+ "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z",
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json
new file mode 100644
index 000000000000..a8294d113856
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "resourceGuardOperationDetails": [
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default"
+ }
+ ],
+ "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z",
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json
new file mode 100644
index 000000000000..e428220ba988
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.RecoveryServicesBVTD2/vaults/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "resourceGuardOperationDetails": [
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default"
+ }
+ ],
+ "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z",
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json
new file mode 100644
index 000000000000..520098ea8c93
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "resourceGuardOperationRequests": [
+ "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteProtectedItemRequests/default"
+ ],
+ "resourceToBeDeleted": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/MercuryCrrVault/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;crrtestrg;crrtestvm/protectedItems/SQLDataBase;mssqlserver;testdb"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "unlockDeleteExpiryTime": "2021-02-11T13:12:27.7870742Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/TriggerRecoveryPointMove_Post.json
new file mode 100644
index 000000000000..b70beef18ae8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/TriggerRecoveryPointMove_Post.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "objectType": "MoveRPAcrossTiersRequest",
+ "sourceTierType": "HardenedRP",
+ "targetTierType": "ArchivedRP"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md
index ba201864dc14..c02c6e79cb29 100644
--- a/specification/recoveryservicesbackup/resource-manager/readme.md
+++ b/specification/recoveryservicesbackup/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the RecoveryServicesBackup API.
title: Recovery Services Backup Client
description: Open API 2.0 Specs for Azure RecoveryServices Backup service
openapi-type: arm
-tag: package-2021-07
+tag: package-2021-08
csharp-sdks-folder: ./Generated/CSharp
python-sdks-folder: ./Generated/Python
go-sdk-folder: ./Generated/Golang
@@ -45,24 +45,37 @@ model-validator: true
semantic-validator: true
message-format: json
```
+
+
+### Tag: package-2021-08
+
+These settings apply only when `--tag=package-2021-08` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-08'
+input-file:
+ - Microsoft.RecoveryServices/stable/2021-08-01/bms.json
+ - Microsoft.RecoveryServices/stable/2018-12-20/bms.json
+```
### Tag: package-2021-07
These settings apply only when `--tag=package-2021-07` is specified on the command line.
-```yaml $(tag) == 'package-2021-07'
+``` yaml $(tag) == 'package-2021-07'
input-file:
- Microsoft.RecoveryServices/stable/2021-07-01/bms.json
- Microsoft.RecoveryServices/stable/2018-12-20/bms.json
```
+
### Tag: package-2021-06
These settings apply only when `--tag=package-2021-06` is specified on the command line.
-```yaml $(tag) == 'package-2021-06'
+``` yaml $(tag) == 'package-2021-06'
input-file:
- Microsoft.RecoveryServices/stable/2021-06-01/bms.json
- Microsoft.RecoveryServices/stable/2018-12-20/bms.json
```
+
### Tag: package-2021-04
These settings apply only when `--tag=package-2021-04` is specified on the command line.
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/MigrationRecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/MigrationRecoveryPoints_Get.json
new file mode 100644
index 000000000000..c261f1592c71
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/MigrationRecoveryPoints_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationRecoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints",
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json
new file mode 100644
index 000000000000..1bacc16057c3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "648336ef-2d70-4d98-b100-8c299f97cd41",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints",
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/648336ef-2d70-4d98-b100-8c299f97cd41",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ },
+ {
+ "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints",
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T07:37:30.9722019Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Operations_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Operations_List.json
new file mode 100644
index 000000000000..e01a036c8369
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/Operations_List.json
@@ -0,0 +1,1225 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Vault Token",
+ "description": "The Vault Token operation can be used to get Vault Token for vault level backend operations."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Register Service Container",
+ "description": "The Register Service Container operation can be used to register a container with Recovery Service."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Operation Results",
+ "description": "The Get Operation Results operation can be used get the operation status and result for the asynchronously submitted operation"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Containers",
+ "description": "The Get Containers operation can be used get the containers registered for a resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Unregister Service Container",
+ "description": "The UnRegister Container operation can be used to unregister a container."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/certificates/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Update Resource Certificate",
+ "description": "The Update Resource Certificate operation updates the resource/vault credential certificate."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Alerts Settings",
+ "operation": "Read Alerts Settings",
+ "description": "Read Any Alerts Settings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Alerts Settings",
+ "operation": "Create or Update Alerts Settings",
+ "description": "Create or Update Any Alerts Settings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationEvents/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Events",
+ "operation": "Read Events",
+ "description": "Read Any Events"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Networks",
+ "operation": "Read Networks",
+ "description": "Read Any Networks"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Network Mappings",
+ "operation": "Read Network Mappings",
+ "description": "Read Any Network Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Network Mappings",
+ "operation": "Create or Update Network Mappings",
+ "description": "Create or Update Any Network Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Network Mappings",
+ "operation": "Delete Network Mappings",
+ "description": "Delete Any Network Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protectable Items",
+ "operation": "Read Protectable Items",
+ "description": "Read Any Protectable Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Read Protection Container Mappings",
+ "description": "Read Any Protection Container Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Create or Update Protection Container Mappings",
+ "description": "Create or Update Any Protection Container Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Remove Protection Container Mapping",
+ "description": "Remove Protection Container Mapping"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Delete Protection Container Mappings",
+ "description": "Delete Any Protection Container Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Replication Recovery Points",
+ "operation": "Read Replication Recovery Points",
+ "description": "Read Any Replication Recovery Points"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Read Protected Items",
+ "description": "Read Any Protected Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Create or Update Protected Items",
+ "description": "Create or Update Any Protected Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Delete Any Protected Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Remove Protected Item",
+ "description": "Remove Protected Item"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Planned Failover",
+ "description": "Planned Failover"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Failover",
+ "description": "Failover"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Test Failover",
+ "description": "Test Failover"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Test Failover Cleanup",
+ "description": "Test Failover Cleanup"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Failover Commit",
+ "description": "Failover Commit"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "ReProtect Protected Item",
+ "description": "ReProtect Protected Item"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Update Mobility Service",
+ "description": "Update Mobility Service"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Repair replication",
+ "description": "Repair replication"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Apply Recovery Point",
+ "description": "Apply Recovery Point"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Read Jobs",
+ "description": "Read Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/cancel/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Cancel Job",
+ "description": "Cancel Job"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/restart/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Restart job",
+ "description": "Restart job"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/resume/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Resume Job",
+ "description": "Resume Job"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Read Protection Containers",
+ "description": "Read Any Protection Containers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/discoverProtectableItem/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Discover Protectable Item",
+ "description": "Discover Protectable Item"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Create or Update Protection Containers",
+ "description": "Create or Update Any Protection Containers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Remove Protection Container",
+ "description": "Remove Protection Container"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Switch Protection Container",
+ "description": "Switch Protection Container"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Policies",
+ "operation": "Read Policies",
+ "description": "Read Any Policies"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Policies",
+ "operation": "Create or Update Policies",
+ "description": "Create or Update Any Policies"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Policies",
+ "operation": "Delete Policies",
+ "description": "Delete Any Policies"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Read Recovery Plans",
+ "description": "Read Any Recovery Plans"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Create or Update Recovery Plans",
+ "description": "Create or Update Any Recovery Plans"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Delete Recovery Plans",
+ "description": "Delete Any Recovery Plans"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Planned Failover Recovery Plan",
+ "description": "Planned Failover Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Failover Recovery Plan",
+ "description": "Failover Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Test Failover Recovery Plan",
+ "description": "Test Failover Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Test Failover Cleanup Recovery Plan",
+ "description": "Test Failover Cleanup Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Failover Commit Recovery Plan",
+ "description": "Failover Commit Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "ReProtect Recovery Plan",
+ "description": "ReProtect Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Read Recovery Services Providers",
+ "description": "Read Any Recovery Services Providers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Remove Recovery Services Provider",
+ "description": "Remove Recovery Services Provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Delete Recovery Services Providers",
+ "description": "Delete Any Recovery Services Providers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Refresh Provider",
+ "description": "Refresh Provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Read Fabrics",
+ "description": "Read Any Fabrics"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Create or Update Fabrics",
+ "description": "Create or Update Any Fabrics"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Remove Fabric",
+ "description": "Remove Fabric"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Checks Consistency of the Fabric",
+ "description": "Checks Consistency of the Fabric"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Delete Fabrics",
+ "description": "Delete Any Fabrics"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Renew Certificate for Fabric",
+ "description": "Renew Certificate for Fabric"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/deployProcessServerImage/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Deploy Process Server Image",
+ "description": "Deploy Process Server Image"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Reassociate Gateway",
+ "description": "Reassociate Gateway"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classifications",
+ "operation": "Read Storage Classifications",
+ "description": "Read Any Storage Classifications"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classification Mappings",
+ "operation": "Read Storage Classification Mappings",
+ "description": "Read Any Storage Classification Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classification Mappings",
+ "operation": "Create or Update Storage Classification Mappings",
+ "description": "Create or Update Any Storage Classification Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classification Mappings",
+ "operation": "Delete Storage Classification Mappings",
+ "description": "Delete Any Storage Classification Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/usages/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Vault Usages",
+ "operation": "Read Vault Usages",
+ "description": "Read Any Vault Usages"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Read Jobs",
+ "description": "Read Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Create or Update Jobs",
+ "description": "Create or Update Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Delete Jobs",
+ "description": "Delete Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/usages/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Usage",
+ "operation": "Recovery Services Vault usage details.",
+ "description": "Returns usage details for a Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Usages Summaries",
+ "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.",
+ "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/storageConfig/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Storage Config",
+ "operation": "Get Resource Storage Config",
+ "description": "Returns Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/storageConfig/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Storage Config",
+ "operation": "Write Resource Storage Config",
+ "description": "Updates Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Config",
+ "operation": "Get Resource Config",
+ "description": "Returns Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Config",
+ "operation": "Update Resource Config",
+ "description": "Updates Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/tokenInfo/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Token Info",
+ "operation": "Get Vault Token Info",
+ "description": "Returns token information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupSecurityPIN/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "SecurityPINInfo",
+ "operation": "Get Security PIN Info",
+ "description": "Returns Security PIN Information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupManagementMetaData/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Management Metadata",
+ "operation": "Get Backup Management Metadata",
+ "description": "Returns Backup Management Metadata for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupOperationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupOperations/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Jobs",
+ "operation": "Get Jobs",
+ "description": "Returns all Job Objects"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/cancel/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Jobs",
+ "operation": "Cancel Jobs",
+ "description": "Cancel the Job"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Export Backup Jobs",
+ "operation": "Export Jobs",
+ "description": "Export Jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Jobs Operation Results",
+ "operation": "Get Job Operation Result",
+ "description": "Returns the Result of Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Export Backup Jobs Operation Results",
+ "operation": "Get Export Job Operation Result",
+ "description": "Returns the Result of Export Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Get Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Restore Recovery Points",
+ "description": "Restore Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Provision Instant Item Recovery for Protected Item",
+ "description": "Provision Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Revoke Instant Item Recovery for Protected Item",
+ "description": "Revoke Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policies",
+ "operation": "Get Protection Policy",
+ "description": "Returns all Protection Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policies",
+ "operation": "Create Protection Policy",
+ "description": "Creates Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policies",
+ "operation": "Delete Protection Policy",
+ "description": "Delete a Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policy Operation Results",
+ "operation": "Get Policy Operation Results",
+ "description": "Get Results of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policy Operation Status",
+ "operation": "Get Policy Operation Status",
+ "description": "Get Status of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Get Protected Item Details",
+ "description": "Returns object details of the Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupProtectedItems/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Get All Protected Items",
+ "description": "Returns the list of all Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Create Backup Protected Item",
+ "description": "Create a backup Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Deletes Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Item Operation Results",
+ "operation": "Get Protected Items Operation Results",
+ "description": "Gets Result of Operation Performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Item Operation Status",
+ "operation": "Get Protected Items operation status",
+ "description": "Returns the status of Operation performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Backup Protected Item",
+ "description": "Performs Backup for Protected Item."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupProtectableItems/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Protectable Items",
+ "operation": "Get Protectable Items",
+ "description": "Returns list of all Protectable Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/refreshContainers/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Refresh Containers",
+ "operation": "Refresh container",
+ "description": "Refreshes the container list"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Refresh Containers Operation Results",
+ "operation": "Get Operation Results",
+ "description": "Returns status of the operation"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Protection Containers",
+ "operation": "Get Containers In Subscription",
+ "description": "Returns all containers belonging to the subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protection Containers",
+ "operation": "Get Registered Container",
+ "description": "Returns all registered containers"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protection Containers Operation Results",
+ "operation": "Get Container Operation Results",
+ "description": "Gets result of Operation performed on Protection Container."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupEngines",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Engines",
+ "operation": "List of backup management servers.",
+ "description": "Returns all the backup management servers registered with vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupStatus",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Create Vault",
+ "description": "Create Vault operation creates an Azure resource of type 'vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Vault",
+ "description": "The Get Vault operation gets an object representing the Azure resource of type 'vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Delete Vault",
+ "description": "The Delete Vault operation deletes the specified Azure resource of type 'vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Extended Info",
+ "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Extended Info",
+ "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Extended Info",
+ "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/locations/allocatedStamp/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "locations/allocatedStamp",
+ "operation": "Get Allocated Stamp",
+ "description": "GetAllocatedStamp is internal operation used by service"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/locations/allocateStamp/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "locations/allocateStamp",
+ "operation": "Allocated Stamp Action",
+ "description": "AllocateStamp is internal operation used by service"
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/RecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/RecoveryPoints_Get.json
new file mode 100644
index 000000000000..40f83b41bab9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/RecoveryPoints_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json
new file mode 100644
index 000000000000..3d9d65a89b68
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ },
+ {
+ "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T07:37:30.9722019Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationAlertSettings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationAlertSettings_Create.json
new file mode 100644
index 000000000000..2d171d16ba67
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationAlertSettings_Create.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "alertSettingName": "defaultAlertSetting",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "request": {
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
+ "name": "defaultAlertSetting",
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": "en-US"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationAlertSettings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationAlertSettings_Get.json
new file mode 100644
index 000000000000..02b5c6703635
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationAlertSettings_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "alertSettingName": "defaultAlertSetting",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
+ "name": "defaultAlertSetting",
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": "en-US"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationAlertSettings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationAlertSettings_List.json
new file mode 100644
index 000000000000..15c7a395fd2d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationAlertSettings_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
+ "name": "defaultAlertSetting",
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": "en-US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEligibilityResults_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEligibilityResults_Get.json
new file mode 100644
index 000000000000..940cd286a9e1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEligibilityResults_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "virtualMachineName": "testVm1",
+ "resourceGroupName": "testRg1",
+ "subscriptionId": "d90d145a-4cdd-45a3-b2c4-971d69775278"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/replicationEligibilityResults",
+ "id": "/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm1/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default",
+ "properties": {
+ "clientRequestId": "7d72ade7-b9f7-4d9b-8a19-15d9728c6190",
+ "errors": [
+ {
+ "code": "A2AOperatingSystemNotSupported",
+ "message": "The A2A operation could not be completed as the virtual machine is running OS 'ubuntu' with version '18.04' which is not supported for replication.",
+ "possibleCauses": "OS version not supported.",
+ "recommendedAction": "The virtual machine is running unsupported Operating system. Refer to the documentation for supported OS versions - https://aka.ms/a2a-os-support-matrix.",
+ "status": "Error"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEligibilityResults_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEligibilityResults_List.json
new file mode 100644
index 000000000000..a210817312d5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEligibilityResults_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "virtualMachineName": "testVm2",
+ "resourceGroupName": "testRg1",
+ "subscriptionId": "d90d145a-4cdd-45a3-b2c4-971d69775278"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/replicationEligibilityResults",
+ "id": "/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm2/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default",
+ "properties": {
+ "clientRequestId": "a62c81df-e26e-47ea-ab4b-f1fcc1e5b135",
+ "errors": [
+ {
+ "code": "AzureVmIsNotInDesiredProvisioningState",
+ "message": "Azure virtual machine with Id (/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm2) is with provisioning state 'failed'. To enable replication, VM's provisioning state should be 'succeeded'.",
+ "possibleCauses": "Virtual machine is not in desired state.",
+ "recommendedAction": "\n Ensure that the VM's provisioning state is 'succeeded'.\n Refer to https://aka.ms/a2a-vm-state-issues to troubleshoot VM provisioning state issues.\n ",
+ "status": "Error"
+ },
+ {
+ "code": "AzureVmIsNotInDesiredPowerState",
+ "message": "Azure virtual machine with Id (/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm2) is with power status 'deallocated'. To enable replication, VM's power status should be 'running'.",
+ "possibleCauses": "Virtual machine is not in desired state.",
+ "recommendedAction": "\n Ensure that the VM's power status is 'running'.\n You can check the power status in 'VM > Settings > Properties > Status' in Azure portal.\n ",
+ "status": "Error"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEvents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEvents_Get.json
new file mode 100644
index 000000000000..df7a261771af
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEvents_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "eventName": "654b71d0-b2ce-4e6e-a861-98528d4bd375",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationEvents",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "properties": {
+ "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47",
+ "description": "Virtual machine health is OK",
+ "eventType": "VmHealth",
+ "affectedObjectFriendlyName": "vm1",
+ "severity": "OK",
+ "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z",
+ "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "eventSpecificDetails": {
+ "instanceType": "JobStatus"
+ },
+ "healthErrors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEvents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEvents_List.json
new file mode 100644
index 000000000000..04b751c24986
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationEvents_List.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationEvents",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814",
+ "name": "JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814",
+ "properties": {
+ "eventCode": "d32574f6-f59e-4545-b5ac-bc88d545f089",
+ "description": "TestFailover - Failed",
+ "eventType": "JobStatus",
+ "affectedObjectFriendlyName": "vm1",
+ "severity": "Critical",
+ "timeOfOccurrence": "2017-05-02T16:00:33.0705652Z",
+ "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "eventSpecificDetails": {
+ "instanceType": "JobStatus"
+ },
+ "healthErrors": [
+ {
+ "errorCode": "499",
+ "errorMessage": "An internal error occurred.",
+ "possibleCauses": "The operation failed due to an internal error.",
+ "recommendedAction": "Retry the last action. If the issue persists, contact Support."
+ }
+ ]
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationEvents",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "properties": {
+ "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47",
+ "description": "Virtual machine health is OK",
+ "eventType": "VmHealth",
+ "affectedObjectFriendlyName": "vm1",
+ "severity": "OK",
+ "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z",
+ "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "eventSpecificDetails": {
+ "instanceType": "JobStatus"
+ },
+ "healthErrors": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_CheckConsistency.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_CheckConsistency.json
new file mode 100644
index 000000000000..fc7e4101eb73
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_CheckConsistency.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Create.json
new file mode 100644
index 000000000000..7d611e638229
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Create.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "customDetails": {
+ "instanceType": "FabricSpecificCreationInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Delete.json
new file mode 100644
index 000000000000..ec6c06620401
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Get.json
new file mode 100644
index 000000000000..52f0bc484642
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_List.json
new file mode 100644
index 000000000000..a458a97e1168
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_MigrateToAad.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_MigrateToAad.json
new file mode 100644
index 000000000000..ec6c06620401
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_MigrateToAad.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Purge.json
new file mode 100644
index 000000000000..ec6c06620401
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_Purge.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_ReassociateGateway.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_ReassociateGateway.json
new file mode 100644
index 000000000000..9e805b179c3b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_ReassociateGateway.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "fabricName": "GRACE-V2A-1",
+ "api-version": "2021-08-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "failoverProcessServerRequest": {
+ "properties": {
+ "containerName": "cloud_1f3c15af-2256-4568-9e06-e1ef4f728f75",
+ "sourceProcessServerId": "AFA0EC54-1894-4E44-9CAB02DB8854B117",
+ "targetProcessServerId": "5D3ED340-85AE-C646-B338641E015DA405",
+ "vmsToMigrate": [
+ "Vm1",
+ "Vm2"
+ ],
+ "updateType": "ServerLevel"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56",
+ "properties": {
+ "friendlyName": "GRACE-V2A-1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "1f3c15af-2256-4568-9e06-e1ef4f728f75",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "VMware"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_RenewCertificate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_RenewCertificate.json
new file mode 100644
index 000000000000..69f4ba39ecaf
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationFabrics_RenewCertificate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "renewCertificate": {
+ "properties": {
+ "renewCertificateType": "Cloud"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Cancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Cancel.json
new file mode 100644
index 000000000000..f2272bb0dec3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Cancel.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "jobName": "2653c648-fc72-4316-86f3-fdf8eaa0066b",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2653c648-fc72-4316-86f3-fdf8eaa0066b",
+ "name": "2653c648-fc72-4316-86f3-fdf8eaa0066b",
+ "properties": {
+ "activityId": "bfbbf6dd-9cbb-4cbc-98a6-faecc8891579 ActivityId: 07cc35ca-b63f-4e42-83c9-81ae0191c322",
+ "scenarioName": "PlannedFailover",
+ "friendlyName": "Planned failover",
+ "state": "Cancelling",
+ "stateDescription": "Cancelling",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-03T06:16:06.3235186Z",
+ "allowedActions": [],
+ "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "targetObjectName": "vm1",
+ "targetInstanceType": "ProtectionEntity",
+ "customDetails": {
+ "instanceType": "AsrJobDetails",
+ "affectedObjectDetails": {
+ "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "PrimaryVmName": "vm1",
+ "RecoveryVmId": "",
+ "RecoveryVmName": "vm1",
+ "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
+ "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryCloudName": "cloud1",
+ "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478",
+ "RecoveryCloudName": "Microsoft Azure",
+ "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryVmmName": "cloud1",
+ "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
+ "RecoveryVmmName": "Microsoft Azure",
+ "PrimaryFabricProviderId": "HyperVSite",
+ "RecoveryFabricProviderId": "Azure"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Export.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Export.json
new file mode 100644
index 000000000000..5d2723688ba5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Export.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "jobQueryParameter": {
+ "startTime": "2017-04-27T14:26:51.9161395Z",
+ "endTime": "2017-05-04T14:26:51.9161395Z",
+ "affectedObjectTypes": "",
+ "jobStatus": ""
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/37e0fc2b-13f2-4817-aafa-0cd807d46842",
+ "name": "37e0fc2b-13f2-4817-aafa-0cd807d46842",
+ "properties": {
+ "activityId": "36841d27-34f6-49ad-b572-e7dc263f100b-2017-05-04 14:26:47Z-Ibz ActivityId: c124df21-7661-4541-b32a-3c723ebbb045",
+ "scenarioName": "ExportJobs",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-04T14:33:42.2765562Z",
+ "endTime": "2017-05-04T14:33:43Z",
+ "allowedActions": [],
+ "targetObjectId": "",
+ "targetObjectName": "",
+ "targetInstanceType": "Other",
+ "customDetails": {
+ "blobUri": "",
+ "sasToken": "",
+ "instanceType": "ExportJobDetails",
+ "affectedObjectDetails": {}
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Get.json
new file mode 100644
index 000000000000..69326b6383ce
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Get.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/32ea4b9e-de62-49a1-b062-7864d5c3b897",
+ "name": "32ea4b9e-de62-49a1-b062-7864d5c3b897",
+ "properties": {
+ "activityId": "fc8e9c8f-0e76-4b6b-8e7e-d37c1b31eba0 ActivityId: c506b6ba-0711-411e-8b09-1f3f4dcb824b",
+ "scenarioName": "DeleteRecoveryPlan",
+ "friendlyName": "Delete a recovery plan",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [
+ {
+ "taskId": "763326a2-01c9-4257-b2a1-0aac56465014",
+ "name": "DeleteRecoveryPlanTask",
+ "startTime": "2017-04-27T11:25:57.3029434Z",
+ "endTime": "2017-04-27T11:25:57.318574Z",
+ "allowedActions": [],
+ "friendlyName": "Delete a recovery plan task",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "taskType": "TaskDetails",
+ "customDetails": {
+ "instanceType": "ManualActionTaskDetails"
+ },
+ "errors": []
+ }
+ ],
+ "errors": [],
+ "startTime": "2017-04-27T11:25:56.800358Z",
+ "endTime": "2017-04-27T11:25:57Z",
+ "allowedActions": [],
+ "targetObjectId": "966c33bb-66e7-4567-9786-f80b0694f5f9",
+ "targetObjectName": "RPtest1",
+ "targetInstanceType": "RecoveryPlan",
+ "customDetails": {
+ "instanceType": "AsrJobDetails",
+ "affectedObjectDetails": {
+ "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryVmmName": "cloud1",
+ "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
+ "PrimaryFabricProviderId": "HyperVSite",
+ "RecoveryFabricProviderId": "Azure"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_List.json
new file mode 100644
index 000000000000..a5124af20694
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/1557d73f-6244-491e-8f0b-d300f752240b",
+ "name": "1557d73f-6244-491e-8f0b-d300f752240b",
+ "properties": {
+ "scenarioName": "AddProtectionProfile",
+ "friendlyName": "Create replication policy",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-04-27T12:46:04.641851Z",
+ "endTime": "2017-04-27T12:46:11Z",
+ "allowedActions": [],
+ "targetObjectId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
+ "targetObjectName": "protectionprofile1",
+ "targetInstanceType": "ProtectionProfile"
+ }
+ },
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/0236416a-7573-4913-a4a1-6a286fbb1ceb",
+ "name": "0236416a-7573-4913-a4a1-6a286fbb1ceb",
+ "properties": {
+ "scenarioName": "RegisterDra",
+ "friendlyName": "Register the Azure Site Recovery Provider",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-02T14:07:19.2784338Z",
+ "endTime": "2017-05-02T14:07:21Z",
+ "allowedActions": [],
+ "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "targetObjectName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "targetInstanceType": "Server"
+ }
+ },
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2438d560-80f0-420b-839e-5c8ee0af90a1",
+ "name": "2438d560-80f0-420b-839e-5c8ee0af90a1",
+ "properties": {
+ "scenarioName": "CreateSite",
+ "friendlyName": "Create a site",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-02T05:56:14.569095Z",
+ "endTime": "2017-05-02T05:56:16Z",
+ "allowedActions": [],
+ "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "targetObjectName": "cloud1",
+ "targetInstanceType": "Server"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Restart.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Restart.json
new file mode 100644
index 000000000000..929847cd5d5b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Restart.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "jobName": "0664564c-353e-401a-ab0c-722257c10e25",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/42c7d13b-790c-4609-8e0b-0936f1c5e5fb",
+ "name": "42c7d13b-790c-4609-8e0b-0936f1c5e5fb",
+ "properties": {
+ "activityId": "2443a5b4-e675-499f-8983-4126ea0e232c ActivityId: 2a776896-5e56-470b-af55-3c981283c4bc",
+ "scenarioName": "RestartJob",
+ "friendlyName": "Restart job",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [
+ {
+ "taskId": "RemediateWfTask",
+ "name": "RemediateTask",
+ "startTime": "2017-05-03T10:45:13.5677237Z",
+ "endTime": "2017-05-03T10:45:13.6458467Z",
+ "allowedActions": [],
+ "friendlyName": "Restarting job",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "taskType": "TaskDetails",
+ "customDetails": {
+ "instanceType": "ManualActionTaskDetails"
+ },
+ "errors": []
+ }
+ ],
+ "errors": [],
+ "startTime": "2017-05-03T10:45:12.1320757Z",
+ "endTime": "2017-05-03T10:45:14Z",
+ "allowedActions": [],
+ "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "targetObjectName": "vm1",
+ "targetInstanceType": "ProtectionEntity",
+ "customDetails": {
+ "instanceType": "AsrJobDetails",
+ "affectedObjectDetails": {}
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Resume.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Resume.json
new file mode 100644
index 000000000000..37640c693e47
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationJobs_Resume.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "resumeJobParams": {
+ "properties": {
+ "comments": " "
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/58776d0b-3141-48b2-a377-9ad863eb160d",
+ "name": "58776d0b-3141-48b2-a377-9ad863eb160d",
+ "properties": {
+ "activityId": "1b808dfe-0451-44ac-894c-c7270711cd8c ActivityId: 9f6f849e-922a-43ec-a7a6-0be45fc85c56",
+ "scenarioName": "TestFailover",
+ "friendlyName": "Test failover",
+ "state": "Suspended",
+ "stateDescription": "WaitingForStopTestFailover",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-04-25T09:57:57.0357829Z",
+ "allowedActions": [
+ "Cancel",
+ "Resume"
+ ],
+ "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "targetObjectName": "vm1",
+ "targetInstanceType": "ProtectionEntity",
+ "customDetails": {
+ "instanceType": "TestFailoverJobDetails",
+ "testFailoverStatus": "Completed",
+ "comments": " ",
+ "networkName": "vnetavrai",
+ "networkFriendlyName": "vnetavrai",
+ "networkType": "VmNetworkAsInput",
+ "protectedItemDetails": [
+ {
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "friendlyName": "vm1",
+ "testVmName": "vm1-test",
+ "testVmFriendlyName": "vm1-test",
+ "networkConnectionStatus": "Connected",
+ "networkFriendlyName": "vnetavrai",
+ "subnet": "Subnet1"
+ }
+ ],
+ "affectedObjectDetails": {
+ "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "PrimaryVmName": "vm1",
+ "RecoveryVmId": "",
+ "RecoveryVmName": "vm1",
+ "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
+ "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryCloudName": "cloud1",
+ "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478",
+ "RecoveryCloudName": "Microsoft Azure",
+ "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryVmmName": "cloud1",
+ "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
+ "RecoveryVmmName": "Microsoft Azure",
+ "PrimaryFabricProviderId": "HyperVSite",
+ "RecoveryFabricProviderId": "Azure"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationLogicalNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationLogicalNetworks_Get.json
new file mode 100644
index 000000000000..6612d2bf89e6
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationLogicalNetworks_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "logicalNetworkName": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d",
+ "name": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "properties": {
+ "friendlyName": "corp",
+ "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled",
+ "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
+ "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..9bd9b66cbe23
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d",
+ "name": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "properties": {
+ "friendlyName": "corp",
+ "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled",
+ "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
+ "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/87ab394f-165f-4aa9-bd84-b018500b4509",
+ "name": "53f5a278-ae85-4001-bd5f-f6a02e1f579d",
+ "properties": {
+ "friendlyName": "LN-VLANNetwork-4",
+ "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled",
+ "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
+ "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsIsolated"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Create.json
new file mode 100644
index 000000000000..2d98b0dea5e8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Create.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "input": {
+ "properties": {
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt",
+ "disksToInclude": [
+ {
+ "diskId": "disk1",
+ "isOSDisk": "true",
+ "logStorageAccountId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Storage/storageAccounts/logStorageAccount1",
+ "logStorageAccountSasSecretName": "logStorageSas"
+ }
+ ],
+ "vmwareMachineId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/machines/virtualmachine1",
+ "targetNetworkId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1",
+ "targetResourceGroupId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1",
+ "snapshotRunAsAccountId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/runasaccounts/snapshotRunAsAccount1",
+ "dataMoverRunAsAccountId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/runasaccounts/dataMoverRunAsAccount1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Delete.json
new file mode 100644
index 000000000000..f218a0985d53
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Get.json
new file mode 100644
index 000000000000..ab00f197e2bf
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Get.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_List.json
new file mode 100644
index 000000000000..f10b759b4c5d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_List.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..2ab1b2278b7e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Migrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Migrate.json
new file mode 100644
index 000000000000..5ed3854bc90a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Migrate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "migrateInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt",
+ "performShutdown": "true"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Resync.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Resync.json
new file mode 100644
index 000000000000..8de170d27ebd
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Resync.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "input": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt",
+ "skipCbtReset": "true"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_TestMigrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_TestMigrate.json
new file mode 100644
index 000000000000..2e000b2647e5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_TestMigrate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "testMigrateInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt",
+ "recoveryPointId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/9e737191-317e-43d0-8c83-e32ac3b34686",
+ "networkId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json
new file mode 100644
index 000000000000..96f9385b4672
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "testMigrateCleanupInput": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Update.json
new file mode 100644
index 000000000000..c40cbf0e65f1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationMigrationItems_Update.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "input": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Create.json
new file mode 100644
index 000000000000..e855e1514c6a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Create.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2021-08-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap",
+ "input": {
+ "properties": {
+ "recoveryFabricName": "Microsoft Azure",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "fabricSpecificDetails": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Delete.json
new file mode 100644
index 000000000000..080260fb59b4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2021-08-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Get.json
new file mode 100644
index 000000000000..3720efad956a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2021-08-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_List.json
new file mode 100644
index 000000000000..580d978d5710
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServicesBVTD2/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
new file mode 100644
index 000000000000..b147320f032e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2021-08-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Update.json
new file mode 100644
index 000000000000..42768f269b1f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworkMappings_Update.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2021-08-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap",
+ "input": {
+ "properties": {
+ "recoveryFabricName": "Microsoft Azure",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2",
+ "fabricSpecificDetails": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai2",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworks_Get.json
new file mode 100644
index 000000000000..3312b1ce2600
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworks_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2021-08-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "93ce99d7-1219-4914-aa61-73fe5023988e"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
+ "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_VLan",
+ "networkType": "NoIsolation"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworks_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworks_List.json
new file mode 100644
index 000000000000..e07918f8e7c7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworks_List.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
+ "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_VLan",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_NoIso",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "corp",
+ "networkType": "NoIsolation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworks_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..cb598ea93925
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationNetworks_ListByReplicationFabrics.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2021-08-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
+ "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_VLan",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_NoIso",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "corp",
+ "networkType": "NoIsolation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Create.json
new file mode 100644
index 000000000000..85582a883b53
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Create.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "providerSpecificInput": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Delete.json
new file mode 100644
index 000000000000..d45a5833bb55
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Get.json
new file mode 100644
index 000000000000..5dbd1413c6b2
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_List.json
new file mode 100644
index 000000000000..3d966e99e4ac
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Update.json
new file mode 100644
index 000000000000..4315c737b703
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationPolicies_Update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "replicationProviderSettings": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_Get.json
new file mode 100644
index 000000000000..8f64ec542acd
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "protectableItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems",
+ "properties": {
+ "friendlyName": "vm2",
+ "protectionStatus": "Unprotected",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "protectionReadinessErrors": [],
+ "supportedReplicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "customDetails": {
+ "instanceType": "HyperVVirtualMachine"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..eb4f70c58ee0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems",
+ "properties": {
+ "friendlyName": "vm2",
+ "protectionStatus": "Unprotected",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "protectionReadinessErrors": [],
+ "supportedReplicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "customDetails": {
+ "instanceType": "HyperVVirtualMachine"
+ }
+ }
+ },
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectionStatus": "Unprotected",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "protectionReadinessErrors": [],
+ "supportedReplicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "customDetails": {
+ "instanceType": "HyperVVirtualMachine"
+ }
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems?api-version=2021-06-01&%24skipToken=ReplicationGroup%3aBegin"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_AddDisks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_AddDisks.json
new file mode 100644
index 000000000000..70f178b0f043
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_AddDisks.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "addDisksInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "vmDisks": [
+ {
+ "diskUri": "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd",
+ "recoveryAzureStorageAccountId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/recoveryResource/providers/Microsoft.Storage/storageAccounts/recoverystorage",
+ "primaryStagingAzureStorageAccountId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/primaryResource/providers/Microsoft.Storage/storageAccounts/vmcachestorage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectedItemType": "",
+ "protectableItemId": null,
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf",
+ "primaryFabricFriendlyName": "cloud1",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "cloud2",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "primaryProtectionContainerFriendlyName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "recoveryProtectionContainerFriendlyName": "cloud_81224fc6-f326-5d35-96de-fbf51efb3188",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "RepairReplication",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "failoverHealth": "Normal",
+ "healthErrors": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy",
+ "policyFriendlyName": "A2APolicy",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1752-12-31T19:31:01Z"
+ },
+ "failoverRecoveryPointId": null,
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
new file mode 100644
index 000000000000..477ea9f6da01
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "applyRecoveryPointInput": {
+ "properties": {
+ "recoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "UnplannedFailoverCommitPendingStatesBegin",
+ "protectionStateDescription": "Failover completed",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Critical",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Create.json
new file mode 100644
index 000000000000..9ecb28177aa6
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Create.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Delete.json
new file mode 100644
index 000000000000..0760209acea8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Delete.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "disableProtectionInput": {
+ "properties": {
+ "replicationProviderInput": {
+ "instanceType": "DisableProtectionProviderSpecificInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_FailoverCancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_FailoverCancel.json
new file mode 100644
index 000000000000..d28a1527ac19
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_FailoverCancel.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "cloud1",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "DisableProtection"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2021-02-24T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "1601-01-01T00:00:00.0000000Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "2021-02-24T07:17:23.1358752Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "InMageRcmFailback"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_FailoverCommit.json
new file mode 100644
index 000000000000..5eec26d66049
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_FailoverCommit.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "PlannedFailoverStatesBegin",
+ "protectionStateDescription": "Planned failover committed",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "DisableProtection",
+ "Failback"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Get.json
new file mode 100644
index 000000000000..32949ab42cfe
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Get.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_List.json
new file mode 100644
index 000000000000..151fc40f131e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_List.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..d1e062c2d461
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_PlannedFailover.json
new file mode 100644
index 000000000000..55c265062105
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_PlannedFailover.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "failoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "PlannedFailoverCommitRequired",
+ "protectionStateDescription": "Planned failover finished",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Purge.json
new file mode 100644
index 000000000000..e9fa50da006e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Purge.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_RemoveDisks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_RemoveDisks.json
new file mode 100644
index 000000000000..8579977b854f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_RemoveDisks.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "removeDisksInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "vmDisksUris": [
+ "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectedItemType": "",
+ "protectableItemId": null,
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf",
+ "primaryFabricFriendlyName": "cloud1",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "cloud2",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "primaryProtectionContainerFriendlyName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "recoveryProtectionContainerFriendlyName": "cloud_81224fc6-f326-5d35-96de-fbf51efb3188",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "RepairReplication",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "failoverHealth": "Normal",
+ "healthErrors": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy",
+ "policyFriendlyName": "A2APolicy",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1752-12-31T19:31:01Z"
+ },
+ "failoverRecoveryPointId": null,
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_RepairReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_RepairReplication.json
new file mode 100644
index 000000000000..4e2aed4cd143
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_RepairReplication.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Reprotect.json
new file mode 100644
index 000000000000..4b8271619938
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Reprotect.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "reprotectInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json
new file mode 100644
index 000000000000..581e31408ab7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "resolveHealthInput": {
+ "properties": {
+ "healthErrors": [
+ {
+ "healthErrorId": "3:8020"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectedItemType": "",
+ "protectableItemId": null,
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf",
+ "primaryFabricFriendlyName": "cloud1",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "cloud2",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "primaryProtectionContainerFriendlyName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "recoveryProtectionContainerFriendlyName": "cloud_81224fc6-f326-5d35-96de-fbf51efb3188",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "RepairReplication",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "failoverHealth": "Normal",
+ "healthErrors": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy",
+ "policyFriendlyName": "A2APolicy",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1752-12-31T19:31:01Z"
+ },
+ "failoverRecoveryPointId": null,
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_TestFailover.json
new file mode 100644
index 000000000000..0e7ea54780e1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_TestFailover.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "testfailoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "networkType": "VmNetworkAsInput",
+ "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Cleanup test failover pending",
+ "activeLocation": "Primary",
+ "testFailoverState": "WaitingForCompletion",
+ "testFailoverStateDescription": "Waiting for user input",
+ "allowedOperations": [
+ "TestFailoverCleanup"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "TestFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2838f9b4-2609-4f76-a7e9-07e6387c5e98",
+ "startTime": "2017-04-25T09:57:57.0357829Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/0689d0d0-3518-4793-8c98-c26bf94526f6",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json
new file mode 100644
index 000000000000..bbbc65641b9d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "cleanupInput": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_UnplannedFailover.json
new file mode 100644
index 000000000000..0e7362b76b0b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_UnplannedFailover.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "failoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "sourceSiteOperations": "NotRequired",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "UnplannedFailoverCommitPendingStatesBegin",
+ "protectionStateDescription": "Failover completed",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b2c7b208-0999-40a4-804f-8ee1019c8f76",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Update.json
new file mode 100644
index 000000000000..12d06667ce1a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_Update.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "updateProtectionInput": {
+ "properties": {
+ "recoveryAzureVMName": "vm1",
+ "recoveryAzureVMSize": "Basic_A0",
+ "selectedRecoveryAzureNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "vmNics": [
+ {
+ "nicId": "TWljcm9zb2Z0OkY4NDkxRTRGLTgxN0EtNDBERC1BOTBDLUFGNzczOTc4Qzc1Qlw3NjAwMzMxRS03NDk4LTQ0QTQtQjdDNy0xQjY1NkJDREQ1MkQ=",
+ "selectionType": "SelectedByUser",
+ "ipConfigs": [
+ {
+ "ipConfigName": "ipconfig1",
+ "isPrimary": true,
+ "recoverySubnetName": "subnet1",
+ "recoveryStaticIPAddress": "10.0.2.46"
+ }
+ ]
+ }
+ ],
+ "licenseType": "WindowsServer",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_UpdateAppliance.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_UpdateAppliance.json
new file mode 100644
index 000000000000..e5bdb258c654
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_UpdateAppliance.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f",
+ "protectionContainerName": "Ayan-0106-SA-Vaultreplicationcontainer",
+ "fabricName": "Ayan-0106-SA-Vaultreplicationfabric",
+ "resourceName": "Ayan-0106-SA-Vault",
+ "resourceGroupName": "Ayan-0106-SA-RG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "applianceUpdateInput": {
+ "properties": {
+ "targetApplianceId": "",
+ "providerSpecificDetails": {
+ "instanceType": "InMageRcm",
+ "runAsAccountId": ""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationFabrics/Ayan-0106-SA-Vaultreplicationfabric/replicationProtectionContainers/Ayan-0106-SA-Vaultreplicationcontainer/replicationProtectedItems/idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f",
+ "name": "idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "Ayan-RHEL7-Test2",
+ "protectedItemType": "",
+ "protectableItemId": null,
+ "recoveryServicesProviderId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationFabrics/Ayan-0106-SA-Vaultreplicationfabric/replicationRecoveryServicesProviders/a552cf2d-bbb3-4d78-8145-e1992ecb31d1",
+ "primaryFabricFriendlyName": "Ayan-0106-SA-Vaultreplicationfabric",
+ "primaryFabricProvider": "InMageRcmFabric",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "Ayan-0106-SA-Vaultreplicationcontainer",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "failoverHealth": "Normal",
+ "healthErrors": [],
+ "policyId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationPolicies/24-hour-replication-policy",
+ "policyFriendlyName": "24-hour-replication-policy",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": null,
+ "providerSpecificDetails": {
+ "instanceType": "InMageRcm"
+ },
+ "recoveryContainerId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
+ "eventCorrelationId": "fb40d161-cffd-44d9-a252-0b7978e1f73c"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_UpdateMobilityService.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_UpdateMobilityService.json
new file mode 100644
index 000000000000..f78d8329e2d8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectedItems_UpdateMobilityService.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicationProtectedItemName": "79dd20ab-2b40-11e7-9791-0050568f387e",
+ "protectionContainerName": "cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0",
+ "fabricName": "WIN-JKKJ31QI8U2",
+ "resourceName": "WCUSVault",
+ "resourceGroupName": "wcusValidations",
+ "subscriptionId": "b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c",
+ "updateMobilityServiceRequest": {
+ "properties": {
+ "runAsAccountId": "2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "79dd20ab-2b40-11e7-9791-0050568f387e",
+ "id": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectedItems/79dd20ab-2b40-11e7-9791-0050568f387e",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "MMR-LIN-V2A-3",
+ "protectedItemType": "",
+ "protectableItemId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectableItems/79dd20ab-2b40-11e7-9791-0050568f387e",
+ "recoveryServicesProviderId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationRecoveryServicesProviders/c6780228-83bd-4f3e-a70e-cb46b7da33a0",
+ "primaryFabricFriendlyName": "WIN-JKKJ31QI8U2",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "WIN-JKKJ31QI8U2",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationPolicies/MadhaviPolicyNew",
+ "policyFriendlyName": "MadhaviPolicyNew",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "InMageAzureV2"
+ },
+ "recoveryContainerId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Create.json
new file mode 100644
index 000000000000..3802b1554e2f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Create.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "creationInput": {
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "providerSpecificInput": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Delete.json
new file mode 100644
index 000000000000..2ab9376f6a6f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Delete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "removalInput": {
+ "properties": {
+ "providerSpecificInput": {}
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Get.json
new file mode 100644
index 000000000000..fede96a82477
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_List.json
new file mode 100644
index 000000000000..8896971f8e52
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..96c13384c46f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Purge.json
new file mode 100644
index 000000000000..118405490299
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Purge.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Update.json
new file mode 100644
index 000000000000..1c2f0e1ba019
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainerMappings_Update.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "updateInput": {
+ "properties": {
+ "providerSpecificInput": {
+ "instanceType": "A2A",
+ "agentAutoUpdateStatus": "Enabled",
+ "automationAccountArmId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/automationrg1/providers/Microsoft.Automation/automationAccounts/automationaccount1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "agentAutoUpdateStatus": "Enabled",
+ "automationAccountArmId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/automationrg1/providers/Microsoft.Automation/automationAccounts/automationaccount1",
+ "scheduleName": "cloud1protectionprofile1_a85ea38f-62a8-471b-93cc-69b74fd9578c",
+ "jobScheduleName": "ffd503ec-5f88-4b58-97c8-841466e7aa47"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_Create.json
new file mode 100644
index 000000000000..a9eb7c13b599
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_Create.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "creationInput": {
+ "properties": {
+ "providerSpecificInput": [
+ {
+ "instanceType": "ReplicationProviderSpecificContainerCreationInput"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_Delete.json
new file mode 100644
index 000000000000..a015660e94da
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
new file mode 100644
index 000000000000..d73517733e82
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "protectionContainerName": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ "fabricName": "V2A-W2K12-660",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "discoverProtectableItemRequest": {
+ "properties": {
+ "friendlyName": "Test",
+ "ipAddress": "10.150.2.3",
+ "osType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationProtectionContainers/cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ "name": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "V2A-W2K12-660",
+ "friendlyName": "V2A-W2K12-660",
+ "fabricType": "VMware",
+ "protectedItemCount": 2,
+ "pairingStatus": "Paired",
+ "role": "Primary"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_Get.json
new file mode 100644
index 000000000000..be683e9ffb9c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_List.json
new file mode 100644
index 000000000000..f6610ec9c201
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..e57901fe40a0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_SwitchProtection.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_SwitchProtection.json
new file mode 100644
index 000000000000..982c15dfd556
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionContainers_SwitchProtection.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "protectionContainerName": "CentralUSCancloud",
+ "fabricName": "CentralUSCanSite",
+ "resourceName": "priyanponeboxvault",
+ "resourceGroupName": "priyanprg",
+ "subscriptionId": "42195872-7e70-4f8a-837f-84b28ecbb78b",
+ "switchInput": {
+ "properties": {
+ "replicationProtectedItemName": "a2aSwapOsVm",
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/42195872-7e70-4f8a-837f-84b28ecbb78b/resourceGroups/priyanprg/providers/Microsoft.RecoveryServices/vaults/priyanponeboxvault/replicationFabrics/EUSCanSite/replicationProtectionContainers/euscancloud",
+ "name": "euscancloud",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "East US 2 EUAP",
+ "friendlyName": "euscancloud",
+ "fabricType": "Azure",
+ "protectedItemCount": 0,
+ "pairingStatus": "Paired",
+ "role": "Primary"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionIntents_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionIntents_Create.json
new file mode 100644
index 000000000000..3f2071721af5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionIntents_Create.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "intentObjectName": "vm1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "509099b2-9d2c-4636-b43e-bd5cafb6be69",
+ "input": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5",
+ "primaryLocation": "eastUs2",
+ "recoveryLocation": "westus2",
+ "recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640",
+ "recoveryAvailabilityType": "Single",
+ "recoveryResourceGroupId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne-asr"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1",
+ "name": "vm1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents",
+ "properties": {
+ "friendlyName": "vm1",
+ "jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867",
+ "jobState": "InProgress",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "recoveryAvailabilityType": "Single"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionIntents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionIntents_Get.json
new file mode 100644
index 000000000000..dffda4469e83
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionIntents_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "intentObjectName": "vm1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "509099b2-9d2c-4636-b43e-bd5cafb6be69"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1",
+ "name": "vm1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents",
+ "properties": {
+ "friendlyName": "vm1",
+ "jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867",
+ "jobState": "InProgress",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5",
+ "primaryLocation": "eastUs2",
+ "recoveryLocation": "westus2",
+ "recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640",
+ "recoveryAvailabilityType": "Single"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionIntents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionIntents_List.json
new file mode 100644
index 000000000000..4709691ef239
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationProtectionIntents_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "2007vttp",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "509099b2-9d2c-4636-b43e-bd5cafb6be69"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1",
+ "name": "vm1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents",
+ "properties": {
+ "friendlyName": "vm1",
+ "jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867",
+ "jobState": "InProgress",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5",
+ "primaryLocation": "eastUs2",
+ "recoveryLocation": "westus2",
+ "recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640",
+ "recoveryAvailabilityType": "Single"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Create.json
new file mode 100644
index 000000000000..4c7152efb4b8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Create.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "groups": [
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Delete.json
new file mode 100644
index 000000000000..639361f9beb4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_FailoverCancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_FailoverCancel.json
new file mode 100644
index 000000000000..d90ade8b3537
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_FailoverCancel.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "recoveryFabricFriendlyName": "cloud1",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "InMageRcmFailback"
+ ],
+ "allowedOperations": [
+ "PlannedFailover"
+ ],
+ "lastPlannedFailoverTime": "2021-02-24T07:33:49.1372448Z",
+ "lastTestFailoverTime": "1601-01-01T00:00:00.0000000Z",
+ "currentScenario": {
+ "scenarioName": "CancelFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/5276a7bc-12a3-43a1-bc53-9bf80e0be87b",
+ "startTime": "2021-02-24T08:52:42.1587592Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": []
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_FailoverCommit.json
new file mode 100644
index 000000000000..bd83d76e7aa8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_FailoverCommit.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "CommitFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/5276a7bc-12a3-43a1-bc53-9bf80e0be87b",
+ "startTime": "2017-04-27T08:52:42.1587592Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Get.json
new file mode 100644
index 000000000000..d373aa58b66e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Get.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_List.json
new file mode 100644
index 000000000000..617832e5d405
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_PlannedFailover.json
new file mode 100644
index 000000000000..301c2a12c837
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_PlannedFailover.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "providerSpecificDetails": [
+ {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover",
+ "Commit"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "PlannedFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d4821a53-90da-4fcb-bc11-a280d13e3350",
+ "startTime": "2017-04-27T07:34:02.6176524Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Reprotect.json
new file mode 100644
index 000000000000..5e55936c4a61
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Reprotect.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "ReverseReplication",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/edf01dfb-b649-4802-91e4-3d55ce3bebf0",
+ "startTime": "2017-04-27T09:52:16.9818841Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_TestFailover.json
new file mode 100644
index 000000000000..3e04a37762e2
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_TestFailover.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "networkType": "VmNetworkAsInput",
+ "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "providerSpecificDetails": [
+ {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "TestFailoverCleanup"
+ ],
+ "currentScenario": {
+ "scenarioName": "TestFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d40bfb40-aaaa-4c0d-87d3-41b15439a84b",
+ "startTime": "2017-04-27T07:00:58.8191916Z"
+ },
+ "currentScenarioStatus": "Suspended",
+ "currentScenarioStatusDescription": "WaitingForStopTestFailover",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
new file mode 100644
index 000000000000..1b38ec69405f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "TestFailoverCleanup",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/4ae8eaa8-a384-42cb-9768-152cb5b8a1ff",
+ "startTime": "2017-04-27T07:10:52.8424747Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json
new file mode 100644
index 000000000000..1a4636a63102
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "sourceSiteOperations": "Required",
+ "providerSpecificDetails": [
+ {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover",
+ "Commit"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "UnplannedFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/60b84068-9adb-4867-a49d-88be40bff14b",
+ "startTime": "2017-04-27T10:03:03.2206946Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Update.json
new file mode 100644
index 000000000000..01ca45b1e6f8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryPlans_Update.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Create.json
new file mode 100644
index 000000000000..577713bc1697
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Create.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "providerName": "vmwareprovider1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "addProviderInput": {
+ "properties": {
+ "machineName": "vmwareprovider1",
+ "authenticationIdentityInput": {
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "applicationId": "f66fce08-c0c6-47a1-beeb-0ede5ea94f90",
+ "objectId": "141360b8-5686-4240-a027-5e24e6affeba",
+ "audience": "https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874",
+ "aadAuthority": "https://login.microsoftonline.com"
+ },
+ "resourceAccessIdentityInput": {
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "applicationId": "f66fce08-c0c6-47a1-beeb-0ede5ea94f90",
+ "objectId": "141360b8-5686-4240-a027-5e24e6affeba",
+ "audience": "https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874",
+ "aadAuthority": "https://login.microsoftonline.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/vmwareprovider1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "vmwareprovider1",
+ "properties": {
+ "fabricType": "VMwareV2",
+ "friendlyName": "vmwareprovider1",
+ "providerVersion": "5.1.3688.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "vmwarefabric1",
+ "lastHeartBeat": "2017-04-27T09:16:04.9405768Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Delete.json
new file mode 100644
index 000000000000..6e132d21e489
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Get.json
new file mode 100644
index 000000000000..76af1fbf73f2
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:16:04.9405768Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_List.json
new file mode 100644
index 000000000000..839afaeeb152
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_List.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:06:38.2728455Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..ed69472e7618
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:06:38.2728455Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Purge.json
new file mode 100644
index 000000000000..6e132d21e489
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_Purge.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
new file mode 100644
index 000000000000..1aa0ef833216
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:48:36.6528303Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_Create.json
new file mode 100644
index 000000000000..614416b40fa4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_Create.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "storageClassificationMappingName": "testStorageMapping",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "pairingInput": {
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_Delete.json
new file mode 100644
index 000000000000..a082aa1cf027
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "storageClassificationMappingName": "testStorageMapping",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_Get.json
new file mode 100644
index 000000000000..c5f481d828eb
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "storageClassificationMappingName": "testStorageMapping",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_List.json
new file mode 100644
index 000000000000..79f138b259f5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
new file mode 100644
index 000000000000..9b80e0ab009a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassifications_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassifications_Get.json
new file mode 100644
index 000000000000..ccdaf2c07818
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassifications_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications",
+ "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "properties": {
+ "friendlyName": "testStorageClassification"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassifications_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassifications_List.json
new file mode 100644
index 000000000000..c1de24def978
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassifications_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications",
+ "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "properties": {
+ "friendlyName": "testStorageClassification"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..bc09655f5a6a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications",
+ "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "properties": {
+ "friendlyName": "testStorageClassification"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultHealth_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultHealth_Get.json
new file mode 100644
index 000000000000..4a6d31490850
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultHealth_Get.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default",
+ "properties": {
+ "vaultErrors": [],
+ "protectedItemsHealth": {
+ "resourceCount": 6,
+ "issues": [
+ {
+ "summaryCode": "10008",
+ "category": "Replication",
+ "severity": "Error",
+ "summaryMessage": "RPO Throttled",
+ "affectedResourceType": "replicationProtectedItems",
+ "affectedResourceSubtype": "",
+ "affectedResourceCorrelationIds": [
+ "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "c183865e-6077-46f2-a3b1-ceb0a4c3751e"
+ ]
+ }
+ ]
+ },
+ "fabricsHealth": {
+ "resourceCount": 1,
+ "issues": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultHealth_Refresh.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultHealth_Refresh.json
new file mode 100644
index 000000000000..1a030e720311
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultHealth_Refresh.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default",
+ "properties": {
+ "vaultErrors": [],
+ "protectedItemsHealth": {
+ "resourceCount": 2,
+ "issues": []
+ },
+ "fabricsHealth": {
+ "resourceCount": 1,
+ "issues": []
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultSetting_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultSetting_Create.json
new file mode 100644
index 000000000000..c4869f2e3537
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultSetting_Create.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "vaultSettingName": "default",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultSettings/default",
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultSettings",
+ "properties": {
+ "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultSetting_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultSetting_Get.json
new file mode 100644
index 000000000000..b15a8922efce
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultSetting_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "vaultSettingName": "default",
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultSettings/default",
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultSettings",
+ "properties": {
+ "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultSetting_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultSetting_List.json
new file mode 100644
index 000000000000..fafd28506ce9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationVaultSetting_List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultSettings/default",
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultSettings",
+ "properties": {
+ "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Create.json
new file mode 100644
index 000000000000..4c37bb332c1b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Create.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "vcenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2021-08-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "addVCenterRequest": {
+ "properties": {
+ "friendlyName": "esx-78",
+ "ipAddress": "inmtest78",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "port": "443",
+ "runAsAccountId": "2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Delete.json
new file mode 100644
index 000000000000..aa63346a6368
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "vcenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2021-08-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Get.json
new file mode 100644
index 000000000000..c80d916768d8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "vcenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2021-08-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_List.json
new file mode 100644
index 000000000000..15026529764e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..e8ade93bbc19
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_ListByReplicationFabrics.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "fabricName": "MadhaviFabric",
+ "api-version": "2021-08-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Update.json
new file mode 100644
index 000000000000..3d9bf690d89b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/ReplicationvCenters_Update.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "vcenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2021-08-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "updateVCenterRequest": {
+ "properties": {
+ "ipAddress": "10.150.109.25"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "10.150.109.25",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/SupportedOperatingSystems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/SupportedOperatingSystems_Get.json
new file mode 100644
index 000000000000..b2a8bd0b5829
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/SupportedOperatingSystems_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationSupportedOperatingSystems",
+ "id": "/Subscriptions/bc403605-c2b0-43dd-abe9-0162124b1ee1/resourceGroups/oneBoxRG/providers/Microsoft.RecoveryServices/vaults/oneBoxRSVault/replicationSupportedOperatingSystems/Default",
+ "properties": {
+ "supportedOsList": [
+ {
+ "instanceType": "A2A",
+ "supportedOs": [
+ {
+ "osName": "centos",
+ "osType": "linux",
+ "osVersions": [
+ {
+ "version": "6.0"
+ }
+ ]
+ },
+ {
+ "osName": "Windows Server 2008 R2 Datacenter",
+ "osType": "windows",
+ "osVersions": [
+ {
+ "version": "6.1",
+ "servicePack": "1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
new file mode 100644
index 000000000000..485536299c8c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "replicatedProtectedItemName": "468c912d-b1ab-4ea2-97eb-4b5095155db2",
+ "protectionContainerName": "asr-a2a-default-centraluseuap-container",
+ "fabricName": "asr-a2a-default-centraluseuap",
+ "resourceName": "avraiMgDiskVault",
+ "resourceGroupName": "avraiMgDiskVaultRG",
+ "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Basic_A0",
+ "name": "Basic_A0",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes",
+ "properties": {
+ "name": "Basic_A0",
+ "friendlyName": "Basic_A0",
+ "cpuCoresCount": 1,
+ "memoryInGB": 0.75,
+ "maxDataDiskCount": 1,
+ "maxNicsCount": 2,
+ "errors": null,
+ "highIopsSupported": "NotSupported"
+ }
+ },
+ {
+ "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Standard_A0",
+ "name": "Standard_A0",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes",
+ "properties": {
+ "name": "Standard_A0",
+ "friendlyName": "Standard_A0",
+ "cpuCoresCount": 1,
+ "vCPUsAvailable": 1,
+ "memoryInGB": 0.75,
+ "maxDataDiskCount": 1,
+ "maxNicsCount": 2,
+ "errors": null,
+ "highIopsSupported": "NotSupported",
+ "hyperVGenerations": [
+ "V1"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/service.json
new file mode 100644
index 000000000000..045260a87a25
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-08-01/service.json
@@ -0,0 +1,23879 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-01",
+ "title": "SiteRecoveryManagementClient",
+ "x-ms-code-generation-settings": {
+ "header": "MICROSOFT_MIT_NO_VERSION"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Returns the list of available operations.",
+ "description": "Operation to return the list of available operations.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsDiscoveryCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Returns the list of available operations.": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": {
+ "get": {
+ "tags": [
+ "ReplicationAlertSettings"
+ ],
+ "summary": "Gets the list of configured email notification(alert) configurations.",
+ "description": "Gets the list of email notification(alert) configurations for the vault.",
+ "operationId": "ReplicationAlertSettings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AlertCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of configured email notification(alert) configurations.": {
+ "$ref": "./examples/ReplicationAlertSettings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": {
+ "get": {
+ "tags": [
+ "ReplicationAlertSettings"
+ ],
+ "summary": "Gets an email notification(alert) configuration.",
+ "description": "Gets the details of the specified email notification(alert) configuration.",
+ "operationId": "ReplicationAlertSettings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "alertSettingName",
+ "in": "path",
+ "description": "The name of the email notification configuration.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets an email notification(alert) configuration.": {
+ "$ref": "./examples/ReplicationAlertSettings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationAlertSettings"
+ ],
+ "summary": "Configures email notifications for this vault.",
+ "description": "Create or update an email notification(alert) configuration.",
+ "operationId": "ReplicationAlertSettings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "alertSettingName",
+ "in": "path",
+ "description": "The name of the email notification(alert) configuration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "description": "The input to configure the email notification(alert).",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigureAlertRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Configures email notifications for this vault.": {
+ "$ref": "./examples/ReplicationAlertSettings_Create.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults": {
+ "get": {
+ "tags": [
+ "ReplicationEligibilityResults"
+ ],
+ "summary": "Gets the validation errors in case the VM is unsuitable for protection.",
+ "description": "Validates whether a given VM can be protected or not in which case returns list of errors.",
+ "operationId": "ReplicationEligibilityResults_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "virtualMachineName",
+ "in": "path",
+ "description": "Virtual Machine name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationEligibilityResultsCollection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the validation errors in case the VM is unsuitable for protection.": {
+ "$ref": "./examples/ReplicationEligibilityResults_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default": {
+ "get": {
+ "tags": [
+ "ReplicationEligibilityResults"
+ ],
+ "summary": "Gets the validation errors in case the VM is unsuitable for protection.",
+ "description": "Validates whether a given VM can be protected or not in which case returns list of errors.",
+ "operationId": "ReplicationEligibilityResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "virtualMachineName",
+ "in": "path",
+ "description": "Virtual Machine name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationEligibilityResults"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the validation errors in case the VM is unsuitable for protection.": {
+ "$ref": "./examples/ReplicationEligibilityResults_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": {
+ "get": {
+ "tags": [
+ "ReplicationEvents"
+ ],
+ "summary": "Gets the list of Azure Site Recovery events.",
+ "description": "Gets the list of Azure Site Recovery events for the vault.",
+ "operationId": "ReplicationEvents_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/EventQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of Azure Site Recovery events.": {
+ "$ref": "./examples/ReplicationEvents_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}": {
+ "get": {
+ "tags": [
+ "ReplicationEvents"
+ ],
+ "summary": "Get the details of an Azure Site recovery event.",
+ "description": "The operation to get the details of an Azure Site recovery event.",
+ "operationId": "ReplicationEvents_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "eventName",
+ "in": "path",
+ "description": "The name of the Azure Site Recovery event.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Event"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get the details of an Azure Site recovery event.": {
+ "$ref": "./examples/ReplicationEvents_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": {
+ "get": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Gets the list of ASR fabrics.",
+ "description": "Gets a list of the Azure Site Recovery fabrics in the vault.",
+ "operationId": "ReplicationFabrics_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FabricCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of ASR fabrics.": {
+ "$ref": "./examples/ReplicationFabrics_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": {
+ "get": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Gets the details of an ASR fabric.",
+ "description": "Gets the details of an Azure Site Recovery fabric.",
+ "operationId": "ReplicationFabrics_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/FabricQueryParameter",
+ "x-ms-examples": {
+ "Gets the details of an ASR fabric.": {
+ "$ref": "./examples/ReplicationFabrics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Creates an Azure Site Recovery fabric.",
+ "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site).",
+ "operationId": "ReplicationFabrics_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the ASR fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Fabric creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FabricCreationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates an Azure Site Recovery fabric.": {
+ "$ref": "./examples/ReplicationFabrics_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Purges the site.",
+ "description": "The operation to purge(force delete) an Azure Site Recovery fabric.",
+ "operationId": "ReplicationFabrics_Purge",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "ASR fabric to purge.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purges the site.": {
+ "$ref": "./examples/ReplicationFabrics_Purge.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Checks the consistency of the ASR fabric.",
+ "description": "The operation to perform a consistency check on the fabric.",
+ "operationId": "ReplicationFabrics_CheckConsistency",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Checks the consistency of the ASR fabric.": {
+ "$ref": "./examples/ReplicationFabrics_CheckConsistency.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Migrates the site to AAD.",
+ "description": "The operation to migrate an Azure Site Recovery fabric to AAD.",
+ "operationId": "ReplicationFabrics_MigrateToAad",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "ASR fabric to migrate.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Migrates the site to AAD.": {
+ "$ref": "./examples/ReplicationFabrics_MigrateToAad.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Perform failover of the process server.",
+ "description": "The operation to move replications from a process server to another process server.",
+ "operationId": "ReplicationFabrics_ReassociateGateway",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric containing the process server.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverProcessServerRequest",
+ "in": "body",
+ "description": "The input to the failover process server operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverProcessServerRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Perform failover of the process server.": {
+ "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Deletes the site.",
+ "description": "The operation to delete or remove an Azure Site Recovery fabric.",
+ "operationId": "ReplicationFabrics_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "ASR fabric to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes the site.": {
+ "$ref": "./examples/ReplicationFabrics_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Renews certificate for the fabric.",
+ "description": "Renews the connection certificate for the ASR replication fabric.",
+ "operationId": "ReplicationFabrics_RenewCertificate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "fabric name to renew certs for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "renewCertificate",
+ "in": "body",
+ "description": "Renew certificate input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RenewCertificateInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Renews certificate for the fabric.": {
+ "$ref": "./examples/ReplicationFabrics_RenewCertificate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": {
+ "get": {
+ "tags": [
+ "ReplicationLogicalNetworks"
+ ],
+ "summary": "Gets the list of logical networks under a fabric.",
+ "description": "Lists all the logical networks of the Azure Site Recovery fabric.",
+ "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Server Id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworkCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of logical networks under a fabric.": {
+ "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": {
+ "get": {
+ "tags": [
+ "ReplicationLogicalNetworks"
+ ],
+ "summary": "Gets a logical network with specified server id and logical network name.",
+ "description": "Gets the details of a logical network.",
+ "operationId": "ReplicationLogicalNetworks_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Server Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "logicalNetworkName",
+ "in": "path",
+ "description": "Logical network name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetwork"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a logical network with specified server id and logical network name.": {
+ "$ref": "./examples/ReplicationLogicalNetworks_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": {
+ "get": {
+ "tags": [
+ "ReplicationNetworks"
+ ],
+ "summary": "Gets the list of networks under a fabric.",
+ "description": "Lists the networks available for a fabric.",
+ "operationId": "ReplicationNetworks_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of networks under a fabric.": {
+ "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": {
+ "get": {
+ "tags": [
+ "ReplicationNetworks"
+ ],
+ "summary": "Gets a network with specified server id and network name.",
+ "description": "Gets the details of a network.",
+ "operationId": "ReplicationNetworks_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Server Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Network"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a network with specified server id and network name.": {
+ "$ref": "./examples/ReplicationNetworks_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": {
+ "get": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Gets all the network mappings under a network.",
+ "description": "Lists all ASR network mappings for the specified network.",
+ "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all the network mappings under a network.": {
+ "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": {
+ "get": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Gets network mapping by name.",
+ "description": "Gets the details of an ASR network mapping.",
+ "operationId": "ReplicationNetworkMappings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "Network mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets network mapping by name.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Creates network mapping.",
+ "description": "The operation to create an ASR network mapping.",
+ "operationId": "ReplicationNetworkMappings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "Network mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Create network mapping input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateNetworkMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates network mapping.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Delete network mapping.",
+ "description": "The operation to delete a network mapping.",
+ "operationId": "ReplicationNetworkMappings_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "ARM Resource Name for network mapping.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete network mapping.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Updates network mapping.",
+ "description": "The operation to update an ASR network mapping.",
+ "operationId": "ReplicationNetworkMappings_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "Network mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update network mapping input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateNetworkMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates network mapping.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Gets the list of protection container for a fabric.",
+ "description": "Lists the protection containers in the specified fabric.",
+ "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of protection container for a fabric.": {
+ "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Gets the protection container details.",
+ "description": "Gets the details of a protection container.",
+ "operationId": "ReplicationProtectionContainers_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the protection container details.": {
+ "$ref": "./examples/ReplicationProtectionContainers_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Create a protection container.",
+ "description": "Operation to create a protection container.",
+ "operationId": "ReplicationProtectionContainers_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric ARM name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Unique protection container ARM name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "creationInput",
+ "in": "body",
+ "description": "Creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProtectionContainerInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainers_Create.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Adds a protectable item to the replication protection container.",
+ "description": "The operation to a add a protectable item to a protection container(Add physical server).",
+ "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The name of the protection container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "discoverProtectableItemRequest",
+ "in": "body",
+ "description": "The request object to add a protectable item.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiscoverProtectableItemRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Adds a protectable item to the replication protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Removes a protection container.",
+ "description": "Operation to remove a protection container.",
+ "operationId": "ReplicationProtectionContainers_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric ARM name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Unique protection container ARM name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Removes a protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainers_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems": {
+ "get": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Gets the list of migration items in the protection container.",
+ "description": "Gets the list of ASR migration items in the protection container.",
+ "operationId": "ReplicationMigrationItems_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "takeToken",
+ "in": "query",
+ "description": "The page size.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/MigrationItemsQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of migration items in the protection container.": {
+ "$ref": "./examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}": {
+ "get": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Gets the details of a migration item.",
+ "operationId": "ReplicationMigrationItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric unique name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a migration item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Enables migration.",
+ "description": "The operation to create an ASR migration item (enable migration).",
+ "operationId": "ReplicationMigrationItems_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Enable migration input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnableMigrationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Enables migration.": {
+ "$ref": "./examples/ReplicationMigrationItems_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Delete the migration item.",
+ "description": "The operation to delete an ASR migration item.",
+ "operationId": "ReplicationMigrationItems_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "deleteOption",
+ "in": "query",
+ "description": "The delete option.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the migration item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Updates migration item.",
+ "description": "The operation to update the recovery settings of an ASR migration item.",
+ "operationId": "ReplicationMigrationItems_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update migration item input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateMigrationItemInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates migration item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrate": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Migrate item.",
+ "description": "The operation to initiate migration of the item.",
+ "operationId": "ReplicationMigrationItems_Migrate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrateInput",
+ "in": "body",
+ "description": "Migrate input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MigrateInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Migrate item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Migrate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints": {
+ "get": {
+ "tags": [
+ "MigrationRecoveryPoints"
+ ],
+ "summary": "Gets the recovery points for a migration item.",
+ "operationId": "MigrationRecoveryPoints_ListByReplicationMigrationItems",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric unique name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationRecoveryPointCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the recovery points for a migration item.": {
+ "$ref": "./examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints/{migrationRecoveryPointName}": {
+ "get": {
+ "tags": [
+ "MigrationRecoveryPoints"
+ ],
+ "summary": "Gets a recovery point for a migration item.",
+ "operationId": "MigrationRecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric unique name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationRecoveryPointName",
+ "in": "path",
+ "description": "The migration recovery point name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationRecoveryPoint"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a recovery point for a migration item.": {
+ "$ref": "./examples/MigrationRecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/resync": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Resynchronizes replication.",
+ "description": "The operation to resynchronize replication of an ASR migration item.",
+ "operationId": "ReplicationMigrationItems_Resync",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Resync input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResyncInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resynchronizes replication.": {
+ "$ref": "./examples/ReplicationMigrationItems_Resync.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrate": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Test migrate item.",
+ "description": "The operation to initiate test migration of the item.",
+ "operationId": "ReplicationMigrationItems_TestMigrate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "testMigrateInput",
+ "in": "body",
+ "description": "Test migrate input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestMigrateInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Test migrate item.": {
+ "$ref": "./examples/ReplicationMigrationItems_TestMigrate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrateCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Test migrate cleanup.",
+ "description": "The operation to initiate test migrate cleanup.",
+ "operationId": "ReplicationMigrationItems_TestMigrateCleanup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "testMigrateCleanupInput",
+ "in": "body",
+ "description": "Test migrate cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestMigrateCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Test migrate cleanup.": {
+ "$ref": "./examples/ReplicationMigrationItems_TestMigrateCleanup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": {
+ "get": {
+ "tags": [
+ "ReplicationProtectableItems"
+ ],
+ "summary": "Gets the list of protectable items.",
+ "description": "Lists the protectable items in a protection container.",
+ "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$take",
+ "in": "query",
+ "description": "take OData query parameter.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken OData query parameter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ProtectableItemQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of protectable items.": {
+ "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectableItems"
+ ],
+ "summary": "Gets the details of a protectable item.",
+ "description": "The operation to get the details of a protectable item.",
+ "operationId": "ReplicationProtectableItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectableItemName",
+ "in": "path",
+ "description": "Protectable item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableItem"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a protectable item.": {
+ "$ref": "./examples/ReplicationProtectableItems_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": {
+ "get": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Gets the list of Replication protected items.",
+ "description": "Gets the list of ASR replication protected items in the protection container.",
+ "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of Replication protected items.": {
+ "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Gets the details of a Replication protected item.",
+ "description": "Gets the details of an ASR replication protected item.",
+ "operationId": "ReplicationProtectedItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric unique name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a Replication protected item.": {
+ "$ref": "./examples/ReplicationProtectedItems_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Enables protection.",
+ "description": "The operation to create an ASR replication protected item (Enable replication).",
+ "operationId": "ReplicationProtectedItems_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "A name for the replication protected item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Enable Protection Input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnableProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Enables protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Purges protection.",
+ "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.",
+ "operationId": "ReplicationProtectedItems_Purge",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purges protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Purge.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Updates the replication protected item settings.",
+ "description": "The operation to update the recovery settings of an ASR replication protected item.",
+ "operationId": "ReplicationProtectedItems_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateProtectionInput",
+ "in": "body",
+ "description": "Update protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates the replication protected Item settings.": {
+ "$ref": "./examples/ReplicationProtectedItems_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/addDisks": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Add disk(s) for protection.",
+ "description": "Operation to add disks(s) to the replication protected item.",
+ "operationId": "ReplicationProtectedItems_AddDisks",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addDisksInput",
+ "in": "body",
+ "description": "Add disks input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddDisksInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Add disk(s) for protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_AddDisks.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Change or apply recovery point.",
+ "description": "The operation to change the recovery point of a failed over replication protected item.",
+ "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The ARM fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The replicated protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "applyRecoveryPointInput",
+ "in": "body",
+ "description": "The ApplyRecoveryPointInput.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplyRecoveryPointInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Change or apply recovery point.": {
+ "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCancel": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute cancel failover.",
+ "description": "Operation to cancel the failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_FailoverCancel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute cancel failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_FailoverCancel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute commit failover.",
+ "description": "Operation to commit the failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_FailoverCommit",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute commit failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute planned failover.",
+ "description": "Operation to initiate a planned failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_PlannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "in": "body",
+ "description": "Planned failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PlannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute planned failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "summary": "Gets the list of recovery points for a replication protected item.",
+ "description": "Lists the available recovery points for a replication protected item.",
+ "operationId": "RecoveryPoints_ListByReplicationProtectedItems",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of recovery points for a replication protected item.": {
+ "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "summary": "Gets a recovery point.",
+ "description": "Get the details of specified recovery point.",
+ "operationId": "RecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointName",
+ "in": "path",
+ "description": "The recovery point name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a recovery point.": {
+ "$ref": "./examples/RecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Disables protection.",
+ "description": "The operation to disable replication on a replication protected item. This will also remove the item.",
+ "operationId": "ReplicationProtectedItems_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "disableProtectionInput",
+ "in": "body",
+ "description": "Disable protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DisableProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Disables protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/removeDisks": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Removes disk(s).",
+ "description": "Operation to remove disk(s) from the replication protected item.",
+ "operationId": "ReplicationProtectedItems_RemoveDisks",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "removeDisksInput",
+ "in": "body",
+ "description": "Remove disks input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RemoveDisksInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Removes disk(s).": {
+ "$ref": "./examples/ReplicationProtectedItems_RemoveDisks.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Resynchronize or repair replication.",
+ "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.",
+ "operationId": "ReplicationProtectedItems_RepairReplication",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The name of the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The name of the replication protected item.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resynchronize or repair replication.": {
+ "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute Reverse Replication\\Reprotect.",
+ "description": "Operation to reprotect or reverse replicate a failed over replication protected item.",
+ "operationId": "ReplicationProtectedItems_Reprotect",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "reprotectInput",
+ "in": "body",
+ "description": "Reverse replication input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReverseReplicationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute Reverse Replication\\Reprotect.": {
+ "$ref": "./examples/ReplicationProtectedItems_Reprotect.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/resolveHealthErrors": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Resolve health errors.",
+ "description": "Operation to resolve health issues of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_ResolveHealthErrors",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resolveHealthInput",
+ "in": "body",
+ "description": "Health issue input object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResolveHealthInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resolve health errors.": {
+ "$ref": "./examples/ReplicationProtectedItems_ResolveHealthErrors.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": {
+ "get": {
+ "tags": [
+ "TargetComputeSizes"
+ ],
+ "summary": "Gets the list of target compute sizes for the replication protected item.",
+ "description": "Lists the available target compute sizes for a replication protected item.",
+ "operationId": "TargetComputeSizes_ListByReplicationProtectedItems",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TargetComputeSizeCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of target compute sizes for the replication protected item.": {
+ "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute test failover.",
+ "description": "Operation to perform a test failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_TestFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "testfailoverInput",
+ "in": "body",
+ "description": "Test failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_TestFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute test failover cleanup.",
+ "description": "Operation to clean up the test failover of a replication protected item.",
+ "operationId": "ReplicationProtectedItems_TestFailoverCleanup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "cleanupInput",
+ "in": "body",
+ "description": "Test failover cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestFailoverCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover cleanup.": {
+ "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute unplanned failover.",
+ "description": "Operation to initiate a failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_UnplannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "in": "body",
+ "description": "Failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UnplannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute unplanned failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/updateAppliance": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Updates appliance for replication protected Item.",
+ "description": "The operation to update appliance of an ASR replication protected item.",
+ "operationId": "ReplicationProtectedItems_UpdateAppliance",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "applianceUpdateInput",
+ "in": "body",
+ "description": "Appliance update protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates appliance for replication protected Item.": {
+ "$ref": "./examples/ReplicationProtectedItems_UpdateAppliance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Update the mobility service on a protected item.",
+ "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.",
+ "operationId": "ReplicationProtectedItems_UpdateMobilityService",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric containing the protected item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The name of the container containing the protected item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicationProtectedItemName",
+ "in": "path",
+ "description": "The name of the protected item on which the agent is to be updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateMobilityServiceRequest",
+ "in": "body",
+ "description": "Request to update the mobility service on the protected item.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateMobilityServiceRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update the mobility service on a protected item.": {
+ "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Gets the list of protection container mappings for a protection container.",
+ "description": "Lists the protection container mappings for a protection container.",
+ "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of protection container mappings for a protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Gets a protection container mapping.",
+ "description": "Gets the details of a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection Container mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Create protection container mapping.",
+ "description": "The operation to create a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "creationInput",
+ "in": "body",
+ "description": "Mapping creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProtectionContainerMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Purge protection container mapping.",
+ "description": "The operation to purge(force delete) a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Purge",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purge protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Update protection container mapping.",
+ "description": "The operation to update protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateInput",
+ "in": "body",
+ "description": "Mapping update input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateProtectionContainerMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Remove protection container mapping.",
+ "description": "The operation to delete or remove a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "removalInput",
+ "in": "body",
+ "description": "Removal input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RemoveProtectionContainerMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Remove protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Switches protection from one container to another or one replication provider to another.",
+ "description": "Operation to switch protection from one container to another or one replication provider to another.",
+ "operationId": "ReplicationProtectionContainers_SwitchProtection",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "switchInput",
+ "in": "body",
+ "description": "Switch protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SwitchProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Switches protection from one container to another or one replication provider to another.": {
+ "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Gets the list of registered recovery services providers for the fabric.",
+ "description": "Lists the registered recovery services providers for the specified fabric.",
+ "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProviderCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of registered recovery services providers for the fabric.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Gets the details of a recovery services provider.",
+ "description": "Gets the details of registered recovery services provider.",
+ "operationId": "ReplicationRecoveryServicesProviders_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a recovery services provider.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Adds a recovery services provider.",
+ "description": "The operation to add a recovery services provider.",
+ "operationId": "ReplicationRecoveryServicesProviders_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addProviderInput",
+ "in": "body",
+ "description": "Add provider input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddRecoveryServicesProviderInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Adds a recovery services provider.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Purges recovery service provider from fabric.",
+ "description": "The operation to purge(force delete) a recovery services provider from the vault.",
+ "operationId": "ReplicationRecoveryServicesProviders_Purge",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purges recovery service provider from fabric.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Refresh details from the recovery services provider.",
+ "description": "The operation to refresh the information from the recovery services provider.",
+ "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Refresh details from the recovery services provider.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).",
+ "description": "The operation to removes/delete(unregister) a recovery services provider from the vault.",
+ "operationId": "ReplicationRecoveryServicesProviders_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassifications"
+ ],
+ "summary": "Gets the list of storage classification objects under a fabric.",
+ "description": "Lists the storage classifications available in the specified fabric.",
+ "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Site name of interest.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification objects under a fabric.": {
+ "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassifications"
+ ],
+ "summary": "Gets the details of a storage classification.",
+ "description": "Gets the details of the specified storage classification.",
+ "operationId": "ReplicationStorageClassifications_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassification"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a storage classification.": {
+ "$ref": "./examples/ReplicationStorageClassifications_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Gets the list of storage classification mappings objects under a storage.",
+ "description": "Lists the storage classification mappings for the fabric.",
+ "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification mappings objects under a storage.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Gets the details of a storage classification mapping.",
+ "description": "Gets the details of the specified storage classification mapping.",
+ "operationId": "ReplicationStorageClassificationMappings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationMappingName",
+ "in": "path",
+ "description": "Storage classification mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMapping"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a storage classification mapping.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Create storage classification mapping.",
+ "description": "The operation to create a storage classification mapping.",
+ "operationId": "ReplicationStorageClassificationMappings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationMappingName",
+ "in": "path",
+ "description": "Storage classification mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "pairingInput",
+ "in": "body",
+ "description": "Pairing input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create storage classification mapping.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Delete a storage classification mapping.",
+ "description": "The operation to delete a storage classification mapping.",
+ "operationId": "ReplicationStorageClassificationMappings_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationMappingName",
+ "in": "path",
+ "description": "Storage classification mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a storage classification mapping.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": {
+ "get": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Gets the list of vCenter registered under a fabric.",
+ "description": "Lists the vCenter servers registered in a fabric.",
+ "operationId": "ReplicationvCenters_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenterCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of vCenter registered under a fabric.": {
+ "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vcenterName}": {
+ "get": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Gets the details of a vCenter.",
+ "description": "Gets the details of a registered vCenter server(Add vCenter server).",
+ "operationId": "ReplicationvCenters_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vcenterName",
+ "in": "path",
+ "description": "vcenter name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a vCenter.": {
+ "$ref": "./examples/ReplicationvCenters_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Add vCenter.",
+ "description": "The operation to create a vCenter object..",
+ "operationId": "ReplicationvCenters_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vcenterName",
+ "in": "path",
+ "description": "vcenter name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addVCenterRequest",
+ "in": "body",
+ "description": "The input to the add vCenter operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddVCenterRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Add vCenter.": {
+ "$ref": "./examples/ReplicationvCenters_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Remove vcenter operation.",
+ "description": "The operation to remove(unregister) a registered vCenter server from the vault.",
+ "operationId": "ReplicationvCenters_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vcenterName",
+ "in": "path",
+ "description": "vcenter name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Remove vCenter operation.": {
+ "$ref": "./examples/ReplicationvCenters_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Update vCenter operation.",
+ "description": "The operation to update a registered vCenter.",
+ "operationId": "ReplicationvCenters_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vcenterName",
+ "in": "path",
+ "description": "vcenter name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateVCenterRequest",
+ "in": "body",
+ "description": "The input to the update vCenter operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateVCenterRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update vCenter operation.": {
+ "$ref": "./examples/ReplicationvCenters_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": {
+ "get": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Gets the list of jobs.",
+ "description": "Gets the list of Azure Site Recovery Jobs for the vault.",
+ "operationId": "ReplicationJobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/JobQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of jobs.": {
+ "$ref": "./examples/ReplicationJobs_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": {
+ "get": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Gets the job details.",
+ "description": "Get the details of an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the job details.": {
+ "$ref": "./examples/ReplicationJobs_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Cancels the specified job.",
+ "description": "The operation to cancel an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Cancel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Cancels the specified job.": {
+ "$ref": "./examples/ReplicationJobs_Cancel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Restarts the specified job.",
+ "description": "The operation to restart an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Restart",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Restarts the specified job.": {
+ "$ref": "./examples/ReplicationJobs_Restart.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Resumes the specified job.",
+ "description": "The operation to resume an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Resume",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resumeJobParams",
+ "in": "body",
+ "description": "Resume rob comments.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResumeJobParams"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resumes the specified job.": {
+ "$ref": "./examples/ReplicationJobs_Resume.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Exports the details of the Azure Site Recovery jobs of the vault.",
+ "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.",
+ "operationId": "ReplicationJobs_Export",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobQueryParameter",
+ "in": "body",
+ "description": "job query filter.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobQueryParameter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Exports the details of the Azure Site Recovery jobs of the vault.": {
+ "$ref": "./examples/ReplicationJobs_Export.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationMigrationItems": {
+ "get": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Gets the list of migration items in the vault.",
+ "operationId": "ReplicationMigrationItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "takeToken",
+ "in": "query",
+ "description": "The page size.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/MigrationItemsQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of migration items in the vault.": {
+ "$ref": "./examples/ReplicationMigrationItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": {
+ "get": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Gets all the network mappings under a vault.",
+ "description": "Lists all ASR network mappings in the vault.",
+ "operationId": "ReplicationNetworkMappings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all the network mappings under a vault.": {
+ "$ref": "./examples/ReplicationNetworkMappings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": {
+ "get": {
+ "tags": [
+ "ReplicationNetworks"
+ ],
+ "summary": "Gets the list of networks. View-only API.",
+ "description": "Lists the networks available in a vault.",
+ "operationId": "ReplicationNetworks_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of networks. View-only API.": {
+ "$ref": "./examples/ReplicationNetworks_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": {
+ "get": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Gets the list of replication policies.",
+ "description": "Lists the replication policies for a vault.",
+ "operationId": "ReplicationPolicies_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PolicyCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of replication policies.": {
+ "$ref": "./examples/ReplicationPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Gets the requested policy.",
+ "description": "Gets the details of a replication policy.",
+ "operationId": "ReplicationPolicies_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Replication policy name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Policy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the requested policy.": {
+ "$ref": "./examples/ReplicationPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Creates the policy.",
+ "description": "The operation to create a replication policy.",
+ "operationId": "ReplicationPolicies_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Replication policy name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Create policy input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreatePolicyInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Policy"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates the policy.": {
+ "$ref": "./examples/ReplicationPolicies_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Delete the policy.",
+ "description": "The operation to delete a replication policy.",
+ "operationId": "ReplicationPolicies_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Replication policy name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the policy.": {
+ "$ref": "./examples/ReplicationPolicies_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Updates the policy.",
+ "description": "The operation to update a replication policy.",
+ "operationId": "ReplicationPolicies_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Policy Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update Policy Input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdatePolicyInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Policy"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates the policy.": {
+ "$ref": "./examples/ReplicationPolicies_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": {
+ "get": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Gets the list of replication protected items.",
+ "description": "Gets the list of ASR replication protected items in the vault.",
+ "operationId": "ReplicationProtectedItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of replication protected items.": {
+ "$ref": "./examples/ReplicationProtectedItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Gets the list of all protection container mappings in a vault.",
+ "description": "Lists the protection container mappings in the vault.",
+ "operationId": "ReplicationProtectionContainerMappings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of all protection container mappings in a vault.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Gets the list of all protection containers in a vault.",
+ "description": "Lists the protection containers in a vault.",
+ "operationId": "ReplicationProtectionContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of all protection containers in a vault.": {
+ "$ref": "./examples/ReplicationProtectionContainers_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionIntents"
+ ],
+ "summary": "Gets the list of replication protection intent objects.",
+ "description": "Gets the list of ASR replication protection intent objects in the vault.",
+ "operationId": "ReplicationProtectionIntents_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "takeToken",
+ "in": "query",
+ "description": "The page size.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionIntentCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of replication protection intent objects.": {
+ "$ref": "./examples/ReplicationProtectionIntents_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents/{intentObjectName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionIntents"
+ ],
+ "summary": "Gets the details of a Replication protection intent item.",
+ "description": "Gets the details of an ASR replication protection intent.",
+ "operationId": "ReplicationProtectionIntents_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "Replication protection intent name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionIntent"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a Replication protection intent item.": {
+ "$ref": "./examples/ReplicationProtectionIntents_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectionIntents"
+ ],
+ "summary": "Create protection intent Resource.",
+ "description": "The operation to create an ASR replication protection intent item.",
+ "operationId": "ReplicationProtectionIntents_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "A name for the replication protection item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Create Protection Intent Input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProtectionIntentInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionIntent"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create protection intent Resource.": {
+ "$ref": "./examples/ReplicationProtectionIntents_Create.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Gets the list of recovery plans.",
+ "description": "Lists the recovery plans in the vault.",
+ "operationId": "ReplicationRecoveryPlans_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of recovery plans.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Gets the requested recovery plan.",
+ "description": "Gets the details of the recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Name of the recovery plan.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the requested recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Creates a recovery plan with the given details.",
+ "description": "The operation to create a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Recovery Plan creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateRecoveryPlanInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates a recovery plan with the given details.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Deletes the specified recovery plan.",
+ "description": "Delete a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes the specified recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Updates the given recovery plan.",
+ "description": "The operation to update a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update recovery plan input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateRecoveryPlanInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates the given recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCancel": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute cancel failover of the recovery plan.",
+ "description": "The operation to cancel the failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_FailoverCancel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute cancel failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_FailoverCancel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute commit failover of the recovery plan.",
+ "description": "The operation to commit the failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_FailoverCommit",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute commit failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute planned failover of the recovery plan.",
+ "description": "The operation to start the planned failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_PlannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute planned failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute reprotect of the recovery plan.",
+ "description": "The operation to reprotect(reverse replicate) a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Reprotect",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute reprotect of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute test failover of the recovery plan.",
+ "description": "The operation to start the test failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_TestFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Recovery plan test failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute test failover cleanup of the recovery plan.",
+ "description": "The operation to cleanup test failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Recovery plan test failover cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover cleanup of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute unplanned failover of the recovery plan.",
+ "description": "The operation to start the unplanned failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_UnplannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Recovery plan unplanned failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute unplanned failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.",
+ "description": "Lists the registered recovery services providers in the vault.",
+ "operationId": "ReplicationRecoveryServicesProviders_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProviderCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of registered recovery services providers in the vault. This is a view only api.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Gets the list of storage classification mappings objects under a vault.",
+ "description": "Lists the storage classification mappings in the vault.",
+ "operationId": "ReplicationStorageClassificationMappings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification mappings objects under a vault.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassifications"
+ ],
+ "summary": "Gets the list of storage classification objects under a vault.",
+ "description": "Lists the storage classifications in the vault.",
+ "operationId": "ReplicationStorageClassifications_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification objects under a vault.": {
+ "$ref": "./examples/ReplicationStorageClassifications_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationSupportedOperatingSystems": {
+ "get": {
+ "tags": [
+ "SupportedOperatingSystems"
+ ],
+ "summary": "Gets the data of supported operating systems by SRS.",
+ "operationId": "SupportedOperatingSystems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "instanceType",
+ "in": "query",
+ "description": "The instance type.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SupportedOperatingSystems"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the data of supported operating systems by SRS.": {
+ "$ref": "./examples/SupportedOperatingSystems_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": {
+ "get": {
+ "tags": [
+ "ReplicationVaultHealth"
+ ],
+ "summary": "Gets the health summary for the vault.",
+ "description": "Gets the health details of the vault.",
+ "operationId": "ReplicationVaultHealth_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultHealthDetails"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the health summary for the vault.": {
+ "$ref": "./examples/ReplicationVaultHealth_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": {
+ "post": {
+ "tags": [
+ "ReplicationVaultHealth"
+ ],
+ "summary": "Refreshes health summary of the vault.",
+ "operationId": "ReplicationVaultHealth_Refresh",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultHealthDetails"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Refreshes health summary of the vault.": {
+ "$ref": "./examples/ReplicationVaultHealth_Refresh.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings": {
+ "get": {
+ "tags": [
+ "ReplicationVaultSetting"
+ ],
+ "summary": "Gets the list of vault setting.",
+ "description": "Gets the list of vault setting. This includes the Migration Hub connection settings.",
+ "operationId": "ReplicationVaultSetting_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultSettingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of vault setting.": {
+ "$ref": "./examples/ReplicationVaultSetting_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings/{vaultSettingName}": {
+ "get": {
+ "tags": [
+ "ReplicationVaultSetting"
+ ],
+ "summary": "Gets the vault setting.",
+ "description": "Gets the vault setting. This includes the Migration Hub connection settings.",
+ "operationId": "ReplicationVaultSetting_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "vaultSettingName",
+ "in": "path",
+ "description": "Vault setting name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultSetting"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the vault setting.": {
+ "$ref": "./examples/ReplicationVaultSetting_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationVaultSetting"
+ ],
+ "summary": "Updates vault setting. A vault setting object is a singleton per vault and it is always present by default.",
+ "description": "The operation to configure vault setting.",
+ "operationId": "ReplicationVaultSetting_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "vaultSettingName",
+ "in": "path",
+ "description": "Vault setting name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Vault setting creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultSettingCreationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultSetting"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates vault setting. A vault setting object is a singleton per vault and it is always present by default.": {
+ "$ref": "./examples/ReplicationVaultSetting_Create.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": {
+ "get": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Gets the list of vCenter registered under the vault.",
+ "description": "Lists the vCenter servers registered in the vault.",
+ "operationId": "ReplicationvCenters_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenterCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of vCenter registered under the vault.": {
+ "$ref": "./examples/ReplicationvCenters_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "A2AAddDisksInput": {
+ "description": "A2A add disk(s) input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AddDisksProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to A2A provider.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AContainerCreationInput": {
+ "description": "A2A cloud creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AContainerMappingInput": {
+ "description": "A2A container mapping input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the type authentication to use for automation Account.",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ACreateProtectionIntentInput": {
+ "description": "A2A create protection intent input.",
+ "required": [
+ "fabricObjectId",
+ "primaryLocation",
+ "recoveryLocation",
+ "recoverySubscriptionId",
+ "recoveryAvailabilityType",
+ "recoveryResourceGroupId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "primaryLocation": {
+ "description": "The primary location for the virtual machine.",
+ "type": "string"
+ },
+ "recoveryLocation": {
+ "description": "The recovery location for the virtual machine.",
+ "type": "string"
+ },
+ "recoverySubscriptionId": {
+ "description": "The recovery subscription Id of the virtual machine.",
+ "type": "string"
+ },
+ "recoveryAvailabilityType": {
+ "description": "The recovery availability type of the virtual machine.",
+ "enum": [
+ "Single",
+ "AvailabilitySet",
+ "AvailabilityZone"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "A2ARecoveryAvailabilityType",
+ "modelAsString": true
+ }
+ },
+ "protectionProfileCustomInput": {
+ "$ref": "#/definitions/ProtectionProfileCustomDetails",
+ "description": "The protection profile custom inputs."
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "primaryStagingStorageAccountCustomInput": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The primary staging storage account input."
+ },
+ "recoveryAvailabilitySetCustomInput": {
+ "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails",
+ "description": "The recovery availability set input."
+ },
+ "recoveryVirtualNetworkCustomInput": {
+ "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails",
+ "description": "The recovery virtual network input."
+ },
+ "recoveryProximityPlacementGroupCustomInput": {
+ "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails",
+ "description": "The recovery proximity placement group custom input."
+ },
+ "autoProtectionOfDataDisk": {
+ "description": "A value indicating whether the auto protection is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AutoProtectionOfDataDisk",
+ "modelAsString": true
+ }
+ },
+ "vmDisks": {
+ "description": "The list of vm disk inputs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk inputs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails"
+ }
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group id.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccount": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The boot diagnostic storage account."
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for two pass flows)."
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the authentication type for automation account. The default value is \"RunAsAccount\".",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ACrossClusterMigrationApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to A2ACrossClusterMigration provider.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2ACrossClusterMigrationContainerCreationInput": {
+ "description": "A2ACrossClusterMigration cloud creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2ACrossClusterMigrationEnableProtectionInput": {
+ "description": "A2A Cross-Cluster Migration enable protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2ACrossClusterMigrationPolicyCreationInput": {
+ "description": "A2A Cross-Cluster Migration Policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2ACrossClusterMigrationReplicationDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "primaryFabricLocation": {
+ "description": "Primary fabric location.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type of operating system.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "lifecycleId": {
+ "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2AEnableProtectionInput": {
+ "description": "A2A enable protection input.",
+ "required": [
+ "fabricObjectId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "recoveryCloudServiceId": {
+ "description": "The recovery cloud service Id. Valid for V1 scenarios.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id.",
+ "type": "string"
+ },
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
+ }
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group id.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for two pass flows)."
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "recoveryAzureNetworkId": {
+ "description": "The recovery Azure virtual network ARM id.",
+ "type": "string"
+ },
+ "recoverySubnetName": {
+ "description": "The recovery subnet name.",
+ "type": "string"
+ },
+ "recoveryVirtualMachineScaleSetId": {
+ "description": "The virtual machine scale set Id.",
+ "type": "string"
+ },
+ "recoveryCapacityReservationGroupId": {
+ "description": "The recovery capacity reservation group Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AEventDetails": {
+ "description": "Model class for event details of a A2A event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemName": {
+ "description": "The protected item arm name.",
+ "type": "string"
+ },
+ "fabricObjectId": {
+ "description": "The azure vm arm id.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Fabric arm name.",
+ "type": "string"
+ },
+ "fabricLocation": {
+ "description": "The fabric location.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "Remote fabric arm name.",
+ "type": "string"
+ },
+ "remoteFabricLocation": {
+ "description": "Remote fabric location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2APolicyCreationInput": {
+ "description": "A2A Policy creation input.",
+ "required": [
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2APolicyDetails": {
+ "description": "A2A specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AProtectedDiskDetails": {
+ "description": "A2A protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskUri": {
+ "description": "The disk uri.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccountId": {
+ "description": "The recovery disk storage account.",
+ "type": "string"
+ },
+ "primaryDiskAzureStorageAccountId": {
+ "description": "The primary disk storage account.",
+ "type": "string"
+ },
+ "recoveryDiskUri": {
+ "description": "Recovery disk uri.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The type of disk.",
+ "type": "string"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "boolean"
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "dataPendingInStagingStorageAccountInMB": {
+ "format": "double",
+ "description": "The data pending for replication in MB at staging account.",
+ "type": "number"
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source virtual machine in MB.",
+ "type": "number"
+ },
+ "diskState": {
+ "description": "The disk state.",
+ "type": "string"
+ },
+ "allowedDiskLevelOperation": {
+ "description": "The disk level operations list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isDiskEncrypted": {
+ "description": "A value indicating whether vm has encrypted os disk or not.",
+ "type": "boolean"
+ },
+ "secretIdentifier": {
+ "description": "The secret URL / identifier (BEK).",
+ "type": "string"
+ },
+ "dekKeyVaultArmId": {
+ "description": "The KeyVault resource id for secret (BEK).",
+ "type": "string"
+ },
+ "isDiskKeyEncrypted": {
+ "description": "A value indicating whether disk key got encrypted or not.",
+ "type": "boolean"
+ },
+ "keyIdentifier": {
+ "description": "The key URL / identifier (KEK).",
+ "type": "string"
+ },
+ "kekKeyVaultArmId": {
+ "description": "The KeyVault resource id for key (KEK).",
+ "type": "string"
+ },
+ "failoverDiskName": {
+ "description": "The failover name for the managed disk.",
+ "type": "string"
+ },
+ "tfoDiskName": {
+ "description": "The test failover name for the managed disk.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AProtectedManagedDiskDetails": {
+ "description": "A2A protected managed disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The managed disk Arm id.",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery disk resource group Arm Id.",
+ "type": "string"
+ },
+ "recoveryTargetDiskId": {
+ "description": "Recovery target disk Arm Id.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskId": {
+ "description": "Recovery replica disk Arm Id.",
+ "type": "string"
+ },
+ "recoveryOrignalTargetDiskId": {
+ "description": "Recovery original target disk Arm Id.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryDiskEncryptionSetId": {
+ "description": "The recovery disk encryption set Id.",
+ "type": "string"
+ },
+ "primaryDiskEncryptionSetId": {
+ "description": "The primary disk encryption set Id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The type of disk.",
+ "type": "string"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "boolean"
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "dataPendingInStagingStorageAccountInMB": {
+ "format": "double",
+ "description": "The data pending for replication in MB at staging account.",
+ "type": "number"
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source virtual machine in MB.",
+ "type": "number"
+ },
+ "diskState": {
+ "description": "The disk state.",
+ "type": "string"
+ },
+ "allowedDiskLevelOperation": {
+ "description": "The disk level operations list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isDiskEncrypted": {
+ "description": "A value indicating whether vm has encrypted os disk or not.",
+ "type": "boolean"
+ },
+ "secretIdentifier": {
+ "description": "The secret URL / identifier (BEK).",
+ "type": "string"
+ },
+ "dekKeyVaultArmId": {
+ "description": "The KeyVault resource id for secret (BEK).",
+ "type": "string"
+ },
+ "isDiskKeyEncrypted": {
+ "description": "A value indicating whether disk key got encrypted or not.",
+ "type": "boolean"
+ },
+ "keyIdentifier": {
+ "description": "The key URL / identifier (KEK).",
+ "type": "string"
+ },
+ "kekKeyVaultArmId": {
+ "description": "The KeyVault resource id for key (KEK).",
+ "type": "string"
+ },
+ "failoverDiskName": {
+ "description": "The failover name for the managed disk.",
+ "type": "string"
+ },
+ "tfoDiskName": {
+ "description": "The test failover name for the managed disk.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AProtectionContainerMappingDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the type authentication to use for automation Account.",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "scheduleName": {
+ "description": "The schedule arm name.",
+ "type": "string"
+ },
+ "jobScheduleName": {
+ "description": "The job schedule arm name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AProtectionIntentDiskInputDetails": {
+ "description": "Azure VM unmanaged disk input details.",
+ "required": [
+ "diskUri"
+ ],
+ "type": "object",
+ "properties": {
+ "diskUri": {
+ "description": "The disk Uri.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccountCustomInput": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The recovery VHD storage account input."
+ },
+ "primaryStagingStorageAccountCustomInput": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The primary staging storage account input."
+ }
+ }
+ },
+ "A2AProtectionIntentManagedDiskInputDetails": {
+ "description": "Azure VM managed disk input details.",
+ "required": [
+ "diskId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "primaryStagingStorageAccountCustomInput": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The primary staging storage account input."
+ },
+ "recoveryResourceGroupCustomInput": {
+ "$ref": "#/definitions/RecoveryResourceGroupCustomDetails",
+ "description": "The recovery resource group input."
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryDiskEncryptionSetId": {
+ "description": "The recovery disk encryption set Id.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for one / single pass flows)."
+ }
+ }
+ },
+ "A2ARecoveryPointDetails": {
+ "description": "A2A provider specific recovery point details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointSyncType": {
+ "description": "A value indicating whether the recovery point is multi VM consistent.",
+ "enum": [
+ "MultiVmSyncRecoveryPoint",
+ "PerVmRecoveryPoint"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointSyncType",
+ "modelAsString": true
+ }
+ },
+ "disks": {
+ "description": "List of disk ids representing a recovery point.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ARemoveDisksInput": {
+ "description": "A2A remove disk(s) input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RemoveDisksProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmDisksUris": {
+ "description": "The list of vm disk vhd URIs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "vmManagedDisksIds": {
+ "description": "The list of vm managed disk Ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AReplicationDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "initialPrimaryZone": {
+ "description": "The initial primary availability zone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialPrimaryFabricLocation": {
+ "description": "The initial primary fabric location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialRecoveryZone": {
+ "description": "The initial recovery availability zone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialRecoveryFabricLocation": {
+ "description": "The initial recovery fabric location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupCreateOption": {
+ "description": "Whether Multi VM group is auto created or specified by user.",
+ "enum": [
+ "AutoCreated",
+ "UserSpecified"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmGroupCreateOption",
+ "modelAsString": true
+ }
+ },
+ "managementId": {
+ "description": "The management Id.",
+ "type": "string"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectedDiskDetails"
+ }
+ },
+ "unprotectedDisks": {
+ "description": "The list of unprotected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AUnprotectedDiskDetails"
+ }
+ },
+ "protectedManagedDisks": {
+ "description": "The list of protected managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectedManagedDiskDetails"
+ }
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The recovery boot diagnostic storage account Arm Id.",
+ "type": "string"
+ },
+ "primaryFabricLocation": {
+ "description": "Primary fabric location.",
+ "type": "string"
+ },
+ "recoveryFabricLocation": {
+ "description": "The recovery fabric location.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type of operating system.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "The size of recovery virtual machine.",
+ "type": "string"
+ },
+ "recoveryAzureVMName": {
+ "description": "The name of recovery virtual machine.",
+ "type": "string"
+ },
+ "recoveryAzureResourceGroupId": {
+ "description": "The recovery resource group.",
+ "type": "string"
+ },
+ "recoveryCloudService": {
+ "description": "The recovery cloud service.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySet": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "The recovery virtual network.",
+ "type": "string"
+ },
+ "selectedTfoAzureNetworkId": {
+ "description": "The test failover virtual network.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The virtual machine nic details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmSyncedConfigDetails": {
+ "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails",
+ "description": "The synced configuration details."
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the source server.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "isReplicationAgentUpdateRequired": {
+ "description": "A value indicating whether replication agent update is required.",
+ "type": "boolean"
+ },
+ "agentCertificateExpiryDate": {
+ "format": "date-time",
+ "description": "Agent certificate expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isReplicationAgentCertificateUpdateRequired": {
+ "description": "A value indicating whether agent certificate update is required.",
+ "type": "boolean"
+ },
+ "recoveryFabricObjectId": {
+ "description": "The recovery fabric object Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "lifecycleId": {
+ "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.",
+ "type": "string"
+ },
+ "testFailoverRecoveryFabricObjectId": {
+ "description": "The test failover fabric object Id.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The last RPO value in seconds.",
+ "type": "integer"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.",
+ "type": "string"
+ },
+ "primaryAvailabilityZone": {
+ "description": "The primary availability zone.",
+ "type": "string"
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "vmEncryptionType": {
+ "description": "The encryption type of the VM.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "NotEncrypted",
+ "OnePassEncrypted",
+ "TwoPassEncrypted"
+ ],
+ "x-ms-enum": {
+ "name": "VmEncryptionType",
+ "modelAsString": true
+ }
+ },
+ "tfoAzureVMName": {
+ "description": "The test failover vm name.",
+ "type": "string"
+ },
+ "recoveryAzureGeneration": {
+ "description": "The recovery azure generation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id.",
+ "type": "string"
+ },
+ "autoProtectionOfDataDisk": {
+ "description": "A value indicating whether the auto protection is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AutoProtectionOfDataDisk",
+ "modelAsString": true
+ }
+ },
+ "recoveryVirtualMachineScaleSetId": {
+ "description": "The recovery virtual machine scale set id.",
+ "type": "string"
+ },
+ "recoveryCapacityReservationGroupId": {
+ "description": "The recovery capacity reservation group Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AReplicationIntentDetails": {
+ "description": "A2A provider specific settings.",
+ "required": [
+ "recoveryAvailabilityType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProtectionIntentProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "primaryLocation": {
+ "description": "The primary location for the virtual machine.",
+ "type": "string"
+ },
+ "recoveryLocation": {
+ "description": "The recovery location for the virtual machine.",
+ "type": "string"
+ },
+ "recoverySubscriptionId": {
+ "description": "The recovery subscription Id of the virtual machine.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails"
+ }
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group id.",
+ "type": "string"
+ },
+ "protectionProfile": {
+ "$ref": "#/definitions/ProtectionProfileCustomDetails",
+ "description": "The protection profile custom details."
+ },
+ "primaryStagingStorageAccount": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The primary staging storage account details."
+ },
+ "recoveryAvailabilitySet": {
+ "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails",
+ "description": "The recovery availability set details."
+ },
+ "recoveryVirtualNetwork": {
+ "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails",
+ "description": "The recovery virtual network details."
+ },
+ "recoveryProximityPlacementGroup": {
+ "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails",
+ "description": "The recovery proximity placement group custom details."
+ },
+ "autoProtectionOfDataDisk": {
+ "description": "A value indicating whether the auto protection is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AutoProtectionOfDataDisk",
+ "modelAsString": true
+ }
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group id.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccount": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The boot diagnostic storage account."
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for two pass flows)."
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "recoveryAvailabilityType": {
+ "description": "The recovery availability type of the virtual machine.",
+ "type": "string"
+ },
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the type authentication to use for automation Account.",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AReprotectInput": {
+ "description": "Azure specific reprotect input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "recoveryCloudServiceId": {
+ "description": "The recovery cloud service Id. Valid for V1 scenarios.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ASwitchProtectionInput": {
+ "description": "A2A specific switch protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SwitchProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
+ }
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "recoveryCloudServiceId": {
+ "description": "The recovery cloud service Id. Valid for V1 scenarios.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id.",
+ "type": "string"
+ },
+ "recoveryVirtualMachineScaleSetId": {
+ "description": "The virtual machine scale set id.",
+ "type": "string"
+ },
+ "recoveryCapacityReservationGroupId": {
+ "description": "The recovery capacity reservation group Id.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information."
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ATestFailoverInput": {
+ "description": "A2A provider specific input for test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ },
+ "cloudServiceCreationOption": {
+ "description": "A value indicating whether to use recovery cloud service for TFO or not.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AUnplannedFailoverInput": {
+ "description": "A2A provider specific input for unplanned failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ },
+ "cloudServiceCreationOption": {
+ "description": "A value indicating whether to use recovery cloud service for failover or not.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AUnprotectedDiskDetails": {
+ "description": "A2A unprotected disk details.",
+ "type": "object",
+ "properties": {
+ "diskLunId": {
+ "format": "int32",
+ "description": "The source lun Id for the data disk.",
+ "type": "integer"
+ },
+ "diskAutoProtectionStatus": {
+ "description": "A value indicating whether the disk auto protection is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AutoProtectionOfDataDisk",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "A2AUpdateContainerMappingInput": {
+ "description": "A2A update protection container mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the type authentication to use for automation Account.",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AUpdateReplicationProtectedItemInput": {
+ "description": "InMage Azure V2 input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "recoveryCloudServiceId": {
+ "description": "The target cloud service ARM Id (for V1).",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The target resource group ARM Id (for V2).",
+ "type": "string"
+ },
+ "managedDiskUpdateDetails": {
+ "description": "Managed disk update details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails"
+ }
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery os disk encryption information."
+ },
+ "tfoAzureVMName": {
+ "description": "The user given name for Test Failover VM.",
+ "type": "string"
+ },
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id.",
+ "type": "string"
+ },
+ "recoveryVirtualMachineScaleSetId": {
+ "description": "The recovery virtual machine scale set Id.",
+ "type": "string"
+ },
+ "recoveryCapacityReservationGroupId": {
+ "description": "The recovery capacity reservation group Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AVmDiskInputDetails": {
+ "description": "A2A disk input details.",
+ "required": [
+ "diskUri",
+ "recoveryAzureStorageAccountId",
+ "primaryStagingAzureStorageAccountId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskUri": {
+ "description": "The disk Uri.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccountId": {
+ "description": "The recovery VHD storage account Id.",
+ "type": "string"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account Id.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AVmManagedDiskInputDetails": {
+ "description": "A2A managed disk input details.",
+ "required": [
+ "diskId",
+ "primaryStagingAzureStorageAccountId",
+ "recoveryResourceGroupId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account Arm Id.",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The target resource group Arm Id.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryDiskEncryptionSetId": {
+ "description": "The recovery disk encryption set Id.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for one / single pass flows)."
+ }
+ }
+ },
+ "A2AVmManagedDiskUpdateDetails": {
+ "description": "A2A Vm managed disk update details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type before failover.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type before failover.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery os disk encryption information."
+ },
+ "failoverDiskName": {
+ "description": "The target disk name for unplanned failover operation.",
+ "type": "string"
+ },
+ "tfoDiskName": {
+ "description": "The target disk name for test failover operation.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AZoneDetails": {
+ "description": "Zone details data.",
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "Source zone info.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target zone info.",
+ "type": "string"
+ }
+ }
+ },
+ "AddDisksInput": {
+ "description": "Input for add disk(s) operation.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddDisksInputProperties",
+ "description": "Add disks input properties."
+ }
+ }
+ },
+ "AddDisksInputProperties": {
+ "description": "Add Disks input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/AddDisksProviderSpecificInput",
+ "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null."
+ }
+ }
+ },
+ "AddDisksProviderSpecificInput": {
+ "description": "Add Disks provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "AddRecoveryServicesProviderInput": {
+ "description": "Input required to add a provider.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddRecoveryServicesProviderInputProperties",
+ "description": "The properties of an add provider request."
+ }
+ }
+ },
+ "AddRecoveryServicesProviderInputProperties": {
+ "description": "The properties of an add provider request.",
+ "required": [
+ "machineName",
+ "authenticationIdentityInput",
+ "resourceAccessIdentityInput"
+ ],
+ "type": "object",
+ "properties": {
+ "machineName": {
+ "description": "The name of the machine where the provider is getting added.",
+ "type": "string"
+ },
+ "machineId": {
+ "description": "The Id of the machine where the provider is getting added.",
+ "type": "string"
+ },
+ "biosId": {
+ "description": "The Bios Id of the machine.",
+ "type": "string"
+ },
+ "authenticationIdentityInput": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for DRA authentication."
+ },
+ "resourceAccessIdentityInput": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for resource access."
+ },
+ "dataPlaneAuthenticationIdentityInput": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for data plane authentication."
+ }
+ }
+ },
+ "AddVCenterRequest": {
+ "description": "Input required to add vCenter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddVCenterRequestProperties",
+ "description": "The properties of an add vCenter request."
+ }
+ }
+ },
+ "AddVCenterRequestProperties": {
+ "description": "The properties of an add vCenter request.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name of the vCenter.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the vCenter to be discovered.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id from where the discovery is orchestrated.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port number for discovery.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The account Id which has privileges to discover the vCenter.",
+ "type": "string"
+ }
+ }
+ },
+ "AgentDetails": {
+ "description": "Agent details.",
+ "type": "object",
+ "properties": {
+ "agentId": {
+ "description": "The Id of the agent running on the server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "machineId": {
+ "description": "The Id of the machine to which the agent is registered.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The machine BIOS Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The machine FQDN.",
+ "type": "string",
+ "readOnly": true
+ },
+ "disks": {
+ "description": "The disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentDiskDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AgentDiskDetails": {
+ "description": "Agent disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "lunId": {
+ "format": "int32",
+ "description": "The lun of disk.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "Alert": {
+ "description": "Implements the Alert class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AlertProperties",
+ "description": "Alert related data."
+ }
+ }
+ },
+ "AlertCollection": {
+ "description": "Collection of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of alerts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "AlertProperties": {
+ "description": "The properties of an alert.",
+ "type": "object",
+ "properties": {
+ "sendToOwners": {
+ "description": "A value indicating whether to send email to subscription administrator.",
+ "type": "string"
+ },
+ "customEmailAddresses": {
+ "description": "The custom email address for sending emails.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "locale": {
+ "description": "The locale for the email notification.",
+ "type": "string"
+ }
+ }
+ },
+ "ApplyRecoveryPointInput": {
+ "description": "Input to apply recovery point.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ApplyRecoveryPointInputProperties",
+ "description": "The input properties to apply recovery point."
+ }
+ }
+ },
+ "ApplyRecoveryPointInputProperties": {
+ "description": "Input properties to apply recovery point.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput",
+ "description": "Provider specific input for applying recovery point."
+ }
+ }
+ },
+ "ApplyRecoveryPointProviderSpecificInput": {
+ "description": "Provider specific input for apply recovery point.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "AsrJobDetails": {
+ "description": "This class represents job details based on specific job type.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "AsrJobDetails"
+ },
+ "ASRTask": {
+ "description": "Task of the Job.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The unique Task name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "allowedActions": {
+ "description": "The state/actions applicable on this task.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.",
+ "type": "string"
+ },
+ "stateDescription": {
+ "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.",
+ "type": "string"
+ },
+ "taskType": {
+ "description": "The type of task. Details in CustomDetails property depend on this type.",
+ "type": "string"
+ },
+ "customDetails": {
+ "$ref": "#/definitions/TaskTypeDetails",
+ "description": "The custom task details based on the task type."
+ },
+ "groupTaskCustomDetails": {
+ "$ref": "#/definitions/GroupTaskDetails",
+ "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it."
+ },
+ "errors": {
+ "description": "The task error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorDetails"
+ }
+ }
+ }
+ },
+ "AutomationRunbookTaskDetails": {
+ "description": "This class represents the task details for an automation runbook.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The recovery plan task name.",
+ "type": "string"
+ },
+ "cloudServiceName": {
+ "description": "The cloud service of the automation runbook account.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription Id of the automation runbook account.",
+ "type": "string"
+ },
+ "accountName": {
+ "description": "The automation account name of the runbook.",
+ "type": "string"
+ },
+ "runbookId": {
+ "description": "The runbook Id.",
+ "type": "string"
+ },
+ "runbookName": {
+ "description": "The runbook name.",
+ "type": "string"
+ },
+ "jobId": {
+ "description": "The job Id of the runbook execution.",
+ "type": "string"
+ },
+ "jobOutput": {
+ "description": "The execution output of the runbook.",
+ "type": "string"
+ },
+ "isPrimarySideScript": {
+ "description": "A value indicating whether it is a primary side script or not.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "AutomationRunbookTaskDetails"
+ },
+ "AzureFabricCreationInput": {
+ "description": "Fabric provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreationInput"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The Location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Azure"
+ },
+ "AzureFabricSpecificDetails": {
+ "description": "Azure Fabric Specific Details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The Location for the Azure fabric.",
+ "type": "string"
+ },
+ "containerIds": {
+ "description": "The container Ids for the Azure fabric.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "zones": {
+ "description": "The zones.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AZoneDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "Azure"
+ },
+ "AzureToAzureCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behavior specific to Azure to Azure Network mapping.",
+ "required": [
+ "primaryNetworkId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
+ }
+ ],
+ "properties": {
+ "primaryNetworkId": {
+ "description": "The primary azure vnet Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureToAzure"
+ },
+ "AzureToAzureNetworkMappingSettings": {
+ "description": "A2A Network Mapping fabric specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
+ }
+ ],
+ "properties": {
+ "primaryFabricLocation": {
+ "description": "The primary fabric location.",
+ "type": "string"
+ },
+ "recoveryFabricLocation": {
+ "description": "The recovery fabric location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureToAzure"
+ },
+ "AzureToAzureUpdateNetworkMappingInput": {
+ "description": "Updates network mappings input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {
+ "primaryNetworkId": {
+ "description": "The primary azure vnet Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureToAzure"
+ },
+ "AzureToAzureVmSyncedConfigDetails": {
+ "description": "Azure to Azure VM synced configuration details.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The Azure VM tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "inputEndpoints": {
+ "description": "The Azure VM input endpoints.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InputEndpoint"
+ }
+ }
+ }
+ },
+ "AzureVmDiskDetails": {
+ "description": "Disk details for E2A provider.",
+ "type": "object",
+ "properties": {
+ "vhdType": {
+ "description": "VHD type.",
+ "type": "string"
+ },
+ "vhdId": {
+ "description": "The VHD id.",
+ "type": "string"
+ },
+ "diskId": {
+ "description": "The disk resource id.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "VHD name.",
+ "type": "string"
+ },
+ "maxSizeMB": {
+ "description": "Max side in MB.",
+ "type": "string"
+ },
+ "targetDiskLocation": {
+ "description": "Blob uri of the Azure disk.",
+ "type": "string"
+ },
+ "targetDiskName": {
+ "description": "The target Azure disk name.",
+ "type": "string"
+ },
+ "lunId": {
+ "description": "Ordinal\\LunId of the disk for the Azure VM.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
+ },
+ "customTargetDiskName": {
+ "description": "The custom target Azure disk name.",
+ "type": "string"
+ }
+ }
+ },
+ "ComputeSizeErrorDetails": {
+ "description": "Represents the error used to indicate why the target compute size is not applicable.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the error.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationSettings": {
+ "description": "Replication provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ConfigureAlertRequest": {
+ "description": "Request to configure alerts for the system.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigureAlertRequestProperties",
+ "description": "The properties of a configure alert request."
+ }
+ }
+ },
+ "ConfigureAlertRequestProperties": {
+ "description": "Properties of a configure alert request.",
+ "type": "object",
+ "properties": {
+ "sendToOwners": {
+ "description": "A value indicating whether to send email to subscription administrator.",
+ "type": "string"
+ },
+ "customEmailAddresses": {
+ "description": "The custom email address for sending emails.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "locale": {
+ "description": "The locale for the email notification.",
+ "type": "string"
+ }
+ }
+ },
+ "ConsistencyCheckTaskDetails": {
+ "description": "This class contains monitoring details of all the inconsistent Protected Entities in Vmm.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "vmDetails": {
+ "description": "The list of inconsistent Vm details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InconsistentVmDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ConsistencyCheckTaskDetails"
+ },
+ "CreateNetworkMappingInput": {
+ "description": "Create network mappings input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateNetworkMappingInputProperties",
+ "description": "Input properties for creating network mapping."
+ }
+ }
+ },
+ "CreateNetworkMappingInputProperties": {
+ "description": "Common input details for network mapping operation.",
+ "required": [
+ "recoveryNetworkId"
+ ],
+ "type": "object",
+ "properties": {
+ "recoveryFabricName": {
+ "description": "Recovery fabric Name.",
+ "type": "string"
+ },
+ "recoveryNetworkId": {
+ "description": "Recovery network Id.",
+ "type": "string"
+ },
+ "fabricSpecificDetails": {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput",
+ "description": "Fabric specific input properties."
+ }
+ }
+ },
+ "CreatePolicyInput": {
+ "description": "Protection Policy input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreatePolicyInputProperties",
+ "description": "Policy creation properties."
+ }
+ }
+ },
+ "CreatePolicyInputProperties": {
+ "description": "Policy creation properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "$ref": "#/definitions/PolicyProviderSpecificInput",
+ "description": "The ReplicationProviderSettings."
+ }
+ }
+ },
+ "CreateProtectionContainerInput": {
+ "description": "Create protection container input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateProtectionContainerInputProperties",
+ "description": "Create protection container input properties."
+ }
+ }
+ },
+ "CreateProtectionContainerInputProperties": {
+ "description": "Create protection container input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "description": "Provider specific inputs for container creation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ }
+ }
+ },
+ "CreateProtectionContainerMappingInput": {
+ "description": "Configure pairing input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties",
+ "description": "Configure protection input properties."
+ }
+ }
+ },
+ "CreateProtectionContainerMappingInputProperties": {
+ "description": "Configure pairing input properties.",
+ "type": "object",
+ "properties": {
+ "targetProtectionContainerId": {
+ "description": "The target unique protection container name.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "Applicable policy.",
+ "type": "string"
+ },
+ "providerSpecificInput": {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput",
+ "description": "Provider specific input for pairing."
+ }
+ }
+ },
+ "CreateProtectionIntentInput": {
+ "description": "Create protection intent input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateProtectionIntentProperties",
+ "description": "Create protection intent input properties."
+ }
+ }
+ },
+ "CreateProtectionIntentProperties": {
+ "description": "Create protection intent input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails",
+ "description": "The ReplicationProviderInput. For A2A provider, it will be A2ACreateProtectionIntentInput object."
+ }
+ }
+ },
+ "CreateProtectionIntentProviderSpecificDetails": {
+ "description": "Create protection intent provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "CreateRecoveryPlanInput": {
+ "description": "Create recovery plan input class.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateRecoveryPlanInputProperties",
+ "description": "Recovery plan creation properties."
+ }
+ }
+ },
+ "CreateRecoveryPlanInputProperties": {
+ "description": "Recovery plan creation properties.",
+ "required": [
+ "primaryFabricId",
+ "recoveryFabricId",
+ "groups"
+ ],
+ "type": "object",
+ "properties": {
+ "primaryFabricId": {
+ "description": "The primary fabric Id.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The recovery fabric Id.",
+ "type": "string"
+ },
+ "failoverDeploymentModel": {
+ "description": "The failover deployment model.",
+ "enum": [
+ "NotApplicable",
+ "Classic",
+ "ResourceManager"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FailoverDeploymentModel",
+ "modelAsString": true
+ }
+ },
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ },
+ "providerSpecificInput": {
+ "description": "The provider specific input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificInput"
+ }
+ }
+ }
+ },
+ "CurrentJobDetails": {
+ "description": "Current job details of the migration item.",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "description": "The job name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobId": {
+ "description": "The ARM Id of the job being executed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the job.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CurrentScenarioDetails": {
+ "description": "Current scenario details of the protected entity.",
+ "type": "object",
+ "properties": {
+ "scenarioName": {
+ "description": "Scenario name.",
+ "type": "string"
+ },
+ "jobId": {
+ "description": "ARM Id of the job being executed.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of the workflow.",
+ "type": "string"
+ }
+ }
+ },
+ "DataStore": {
+ "description": "The datastore details of the MT.",
+ "type": "object",
+ "properties": {
+ "symbolicName": {
+ "description": "The symbolic name of data store.",
+ "type": "string"
+ },
+ "uuid": {
+ "description": "The uuid of data store.",
+ "type": "string"
+ },
+ "capacity": {
+ "description": "The capacity of data store in GBs.",
+ "type": "string"
+ },
+ "freeSpace": {
+ "description": "The free space of data store in GBs.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of data store.",
+ "type": "string"
+ }
+ }
+ },
+ "DisableProtectionInput": {
+ "description": "Disable protection input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DisableProtectionInputProperties",
+ "description": "Disable protection input properties."
+ }
+ }
+ },
+ "DisableProtectionInputProperties": {
+ "description": "Disable protection input properties.",
+ "type": "object",
+ "properties": {
+ "disableProtectionReason": {
+ "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.",
+ "enum": [
+ "NotSpecified",
+ "MigrationComplete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DisableProtectionReason",
+ "modelAsString": true
+ }
+ },
+ "replicationProviderInput": {
+ "$ref": "#/definitions/DisableProtectionProviderSpecificInput",
+ "description": "Replication provider specific input."
+ }
+ }
+ },
+ "DisableProtectionProviderSpecificInput": {
+ "description": "Disable protection provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "DiscoverProtectableItemRequest": {
+ "description": "Request to add a physical machine as a protectable item in a container.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DiscoverProtectableItemRequestProperties",
+ "description": "The properties of a discover protectable item request."
+ }
+ }
+ },
+ "DiscoverProtectableItemRequestProperties": {
+ "description": "Discover protectable item properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name of the physical machine.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the physical machine to be discovered.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type on the physical machine.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskDetails": {
+ "description": "Onprem disk details data.",
+ "type": "object",
+ "properties": {
+ "maxSizeMB": {
+ "format": "int64",
+ "description": "The hard disk max size in MB.",
+ "type": "integer"
+ },
+ "vhdType": {
+ "description": "The type of the volume.",
+ "type": "string"
+ },
+ "vhdId": {
+ "description": "The VHD Id.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "The VHD name.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskEncryptionInfo": {
+ "description": "Recovery disk encryption info (BEK and KEK).",
+ "type": "object",
+ "properties": {
+ "diskEncryptionKeyInfo": {
+ "$ref": "#/definitions/DiskEncryptionKeyInfo",
+ "description": "The recovery KeyVault reference for secret."
+ },
+ "keyEncryptionKeyInfo": {
+ "$ref": "#/definitions/KeyEncryptionKeyInfo",
+ "description": "The recovery KeyVault reference for key."
+ }
+ }
+ },
+ "DiskEncryptionKeyInfo": {
+ "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows).",
+ "type": "object",
+ "properties": {
+ "secretIdentifier": {
+ "description": "The secret url / identifier.",
+ "type": "string"
+ },
+ "keyVaultResourceArmId": {
+ "description": "The KeyVault resource ARM id for secret.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskVolumeDetails": {
+ "description": "Volume details.",
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "The volume label.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The volume name.",
+ "type": "string"
+ }
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The provider. The localized friendly form of the resource provider name - it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\".",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The resource. The localized friendly form of the resource related to this action/operation - it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent's display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\".",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise - it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'.",
+ "type": "string"
+ }
+ }
+ },
+ "DraDetails": {
+ "description": "DRA details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The DRA Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The DRA name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The DRA Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the DRA.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ },
+ "forwardProtectedItemCount": {
+ "format": "int32",
+ "description": "The count of protected items which are protected in forward direction.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "reverseProtectedItemCount": {
+ "format": "int32",
+ "description": "The count of protected items which are protected in reverse direction.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "EnableMigrationInput": {
+ "description": "Enable migration input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EnableMigrationInputProperties",
+ "description": "Enable migration input properties."
+ }
+ }
+ },
+ "EnableMigrationInputProperties": {
+ "description": "Enable migration input properties.",
+ "required": [
+ "policyId",
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "policyId": {
+ "description": "The policy Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/EnableMigrationProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "EnableMigrationProviderSpecificInput": {
+ "description": "Enable migration provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "EnableProtectionInput": {
+ "description": "Enable protection input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EnableProtectionInputProperties",
+ "description": "Enable protection input properties."
+ }
+ }
+ },
+ "EnableProtectionInputProperties": {
+ "description": "Enable protection input properties.",
+ "type": "object",
+ "properties": {
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "protectableItemId": {
+ "description": "The protectable item Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput",
+ "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null."
+ }
+ }
+ },
+ "EnableProtectionProviderSpecificInput": {
+ "description": "Enable protection provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "EncryptionDetails": {
+ "description": "Encryption details for the fabric.",
+ "type": "object",
+ "properties": {
+ "kekState": {
+ "description": "The key encryption key state for the Vmm.",
+ "type": "string"
+ },
+ "kekCertThumbprint": {
+ "description": "The key encryption key certificate thumbprint.",
+ "type": "string"
+ },
+ "kekCertExpiryDate": {
+ "format": "date-time",
+ "description": "The key encryption key certificate expiry date.",
+ "type": "string"
+ }
+ }
+ },
+ "Event": {
+ "description": "Implements the Event class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventProperties",
+ "description": "Event related data."
+ }
+ }
+ },
+ "EventCollection": {
+ "description": "Collection of fabric details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of events.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "EventProperties": {
+ "description": "The properties of a monitoring event.",
+ "type": "object",
+ "properties": {
+ "eventCode": {
+ "description": "The Id of the monitoring event.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The event name.",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.",
+ "type": "string"
+ },
+ "affectedObjectFriendlyName": {
+ "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).",
+ "type": "string"
+ },
+ "affectedObjectCorrelationId": {
+ "description": "The affected object correlationId for the event.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the event.",
+ "type": "string"
+ },
+ "timeOfOccurrence": {
+ "format": "date-time",
+ "description": "The time of occurrence of the event.",
+ "type": "string"
+ },
+ "fabricId": {
+ "description": "The ARM ID of the fabric.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/EventProviderSpecificDetails",
+ "description": "The provider specific settings."
+ },
+ "eventSpecificDetails": {
+ "$ref": "#/definitions/EventSpecificDetails",
+ "description": "The event specific settings."
+ },
+ "healthErrors": {
+ "description": "The list of errors / warnings capturing details associated with the issue(s).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ }
+ }
+ },
+ "EventProviderSpecificDetails": {
+ "description": "Model class for provider specific details for an event.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "EventQueryParameter": {
+ "description": "Implements the event query parameter.",
+ "type": "object",
+ "properties": {
+ "eventCode": {
+ "description": "The source id of the events to be queried.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the events to be queried.",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "The type of the events to be queried.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The affected object server id of the events to be queried.",
+ "type": "string"
+ },
+ "affectedObjectFriendlyName": {
+ "description": "The affected object name of the events to be queried.",
+ "type": "string"
+ },
+ "affectedObjectCorrelationId": {
+ "description": "The affected object correlationId for the events to be queried.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the time range within which the events are to be queried.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time of the time range within which the events are to be queried.",
+ "type": "string"
+ }
+ }
+ },
+ "EventSpecificDetails": {
+ "description": "Model class for event specific details for an event.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ExistingProtectionProfile": {
+ "description": "Existing storage account input.",
+ "required": [
+ "protectionProfileId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionProfileCustomDetails"
+ }
+ ],
+ "properties": {
+ "protectionProfileId": {
+ "description": "The protection profile Arm Id. Throw error, if resource does not exists.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingRecoveryAvailabilitySet": {
+ "description": "Existing recovery availability set input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id. Will throw error, if resource does not exist.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingRecoveryProximityPlacementGroup": {
+ "description": "Existing recovery proximity placement group input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id. Will throw error, if resource does not exist.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingRecoveryRecoveryResourceGroup": {
+ "description": "Existing recovery resource group input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryResourceGroupCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingRecoveryVirtualNetwork": {
+ "description": "Existing recovery virtual network input.",
+ "required": [
+ "recoveryVirtualNetworkId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryVirtualNetworkId": {
+ "description": "The recovery virtual network Id. Will throw error, if resource does not exist.",
+ "type": "string"
+ },
+ "recoverySubnetName": {
+ "description": "The recovery subnet name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingStorageAccount": {
+ "description": "Existing storage account input.",
+ "required": [
+ "azureStorageAccountId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StorageAccountCustomDetails"
+ }
+ ],
+ "properties": {
+ "azureStorageAccountId": {
+ "description": "The storage account Arm Id. Throw error, if resource does not exists.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExportJobDetails": {
+ "description": "This class represents details for export jobs workflow.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "blobUri": {
+ "description": "BlobUri of the exported jobs.",
+ "type": "string"
+ },
+ "sasToken": {
+ "description": "The sas token to access blob.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ExportJobDetails"
+ },
+ "Fabric": {
+ "description": "Fabric definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FabricProperties",
+ "description": "Fabric related data."
+ }
+ }
+ },
+ "FabricCollection": {
+ "description": "Collection of fabric details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The fabric details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricCreationInput": {
+ "description": "Site details provided during the time of site creation.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FabricCreationInputProperties",
+ "description": "Fabric creation input."
+ }
+ }
+ },
+ "FabricCreationInputProperties": {
+ "description": "Properties of site details provided during the time of site creation.",
+ "type": "object",
+ "properties": {
+ "customDetails": {
+ "$ref": "#/definitions/FabricSpecificCreationInput",
+ "description": "Fabric provider specific creation input."
+ }
+ }
+ },
+ "FabricProperties": {
+ "description": "Fabric properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the fabric.",
+ "type": "string"
+ },
+ "encryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Encryption details for the fabric."
+ },
+ "rolloverEncryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Rollover encryption details for the fabric."
+ },
+ "internalIdentifier": {
+ "description": "Dra Registration Id.",
+ "type": "string"
+ },
+ "bcdrState": {
+ "description": "BCDR state of the fabric.",
+ "type": "string"
+ },
+ "customDetails": {
+ "$ref": "#/definitions/FabricSpecificDetails",
+ "description": "Fabric specific settings."
+ },
+ "healthErrorDetails": {
+ "description": "Fabric health error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "health": {
+ "description": "Health of fabric.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricQueryParameter": {
+ "description": "Query parameter to get fabric.",
+ "type": "object",
+ "properties": {
+ "zoneToZoneMappings": {
+ "description": "A value indicating whether the zone to zone mappings are to be returned.",
+ "type": "string"
+ },
+ "fetchAgentDetails": {
+ "description": "A value indicating whether the agent details are to be fetched.",
+ "type": "string"
+ },
+ "biosId": {
+ "description": "The BIOS Id to be used for fetching agent details.",
+ "type": "string"
+ },
+ "fqdn": {
+ "description": "The FQDN to be used for fetching agent details.",
+ "type": "string"
+ },
+ "discoveryType": {
+ "description": "The type of the discovered machine to be used for fetching agent details.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type to be used for fetching agent details.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricReplicationGroupTaskDetails": {
+ "description": "This class represents the fabric replication group task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobTaskDetails"
+ }
+ ],
+ "properties": {
+ "skippedReason": {
+ "description": "The skipped reason.",
+ "type": "string"
+ },
+ "skippedReasonString": {
+ "description": "The skipped reason string.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails"
+ },
+ "FabricSpecificCreateNetworkMappingInput": {
+ "description": "Input details specific to fabrics during Network Mapping.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FabricSpecificCreationInput": {
+ "description": "Fabric provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FabricSpecificDetails": {
+ "description": "Fabric specific details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FabricSpecificUpdateNetworkMappingInput": {
+ "description": "Input details specific to fabrics during Network Mapping.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FailoverJobDetails": {
+ "description": "This class represents the details for a failover job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemDetails": {
+ "description": "The test VM details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "FailoverJobDetails"
+ },
+ "FailoverProcessServerRequest": {
+ "description": "Request to failover a process server.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FailoverProcessServerRequestProperties",
+ "description": "The properties of the PS Failover request."
+ }
+ }
+ },
+ "FailoverProcessServerRequestProperties": {
+ "description": "The properties of the Failover Process Server request.",
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "The container identifier.",
+ "type": "string"
+ },
+ "sourceProcessServerId": {
+ "description": "The source process server.",
+ "type": "string"
+ },
+ "targetProcessServerId": {
+ "description": "The new process server.",
+ "type": "string"
+ },
+ "vmsToMigrate": {
+ "description": "The VMS to migrate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "updateType": {
+ "description": "A value for failover type. It can be systemlevel/serverlevel.",
+ "type": "string"
+ }
+ }
+ },
+ "FailoverReplicationProtectedItemDetails": {
+ "description": "Failover details for a replication protected item.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The friendly name.",
+ "type": "string"
+ },
+ "testVmName": {
+ "description": "The test Vm name.",
+ "type": "string"
+ },
+ "testVmFriendlyName": {
+ "description": "The test Vm friendly name.",
+ "type": "string"
+ },
+ "networkConnectionStatus": {
+ "description": "The network connection status.",
+ "type": "string"
+ },
+ "networkFriendlyName": {
+ "description": "The network friendly name.",
+ "type": "string"
+ },
+ "subnet": {
+ "description": "The network subnet.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string"
+ }
+ }
+ },
+ "GroupTaskDetails": {
+ "description": "This class represents the group task details when parent child relationship exists in the drill down.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The type of task details.",
+ "type": "string"
+ },
+ "childTasks": {
+ "description": "The child tasks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ASRTask"
+ }
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "HealthError": {
+ "description": "Health Error.",
+ "type": "object",
+ "properties": {
+ "innerHealthErrors": {
+ "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InnerHealthError"
+ }
+ },
+ "errorSource": {
+ "description": "Source of error.",
+ "type": "string"
+ },
+ "errorType": {
+ "description": "Type of error.",
+ "type": "string"
+ },
+ "errorLevel": {
+ "description": "Level of error.",
+ "type": "string"
+ },
+ "errorCategory": {
+ "description": "Category of error.",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "summaryMessage": {
+ "description": "Summary message of the entity.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "Possible causes of error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "Recommended action to resolve error.",
+ "type": "string"
+ },
+ "creationTimeUtc": {
+ "format": "date-time",
+ "description": "Error creation time (UTC).",
+ "type": "string"
+ },
+ "recoveryProviderErrorMessage": {
+ "description": "DRA error message.",
+ "type": "string"
+ },
+ "entityId": {
+ "description": "ID of the entity.",
+ "type": "string"
+ },
+ "errorId": {
+ "description": "The health error unique id.",
+ "type": "string"
+ },
+ "customerResolvability": {
+ "description": "Value indicating whether the health error is customer resolvable.",
+ "enum": [
+ "Allowed",
+ "NotAllowed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthErrorCustomerResolvability",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "HealthErrorSummary": {
+ "description": "class to define the summary of the health error details.",
+ "type": "object",
+ "properties": {
+ "summaryCode": {
+ "description": "The code of the health error.",
+ "type": "string"
+ },
+ "category": {
+ "description": "The category of the health error.",
+ "enum": [
+ "None",
+ "Replication",
+ "TestFailover",
+ "Configuration",
+ "FabricInfrastructure",
+ "VersionExpiry",
+ "AgentAutoUpdateInfra",
+ "AgentAutoUpdateArtifactDeleted",
+ "AgentAutoUpdateRunAsAccount",
+ "AgentAutoUpdateRunAsAccountExpiry",
+ "AgentAutoUpdateRunAsAccountExpired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthErrorCategory",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "Severity of error.",
+ "enum": [
+ "NONE",
+ "Warning",
+ "Error",
+ "Info"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "summaryMessage": {
+ "description": "The summary message of the health error.",
+ "type": "string"
+ },
+ "affectedResourceType": {
+ "description": "The type of affected ARM resource.",
+ "type": "string"
+ },
+ "affectedResourceSubtype": {
+ "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.",
+ "type": "string"
+ },
+ "affectedResourceCorrelationIds": {
+ "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "HyperVHostDetails": {
+ "description": "Hyper-V host details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Hyper-V host Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Hyper-V host name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "marsAgentVersion": {
+ "description": "The Mars agent version.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "HyperVReplica2012EventDetails": {
+ "description": "Model class for event details of a HyperVReplica E2E event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "The remote fabric name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVReplica2012R2EventDetails": {
+ "description": "Model class for event details of a HyperVReplica blue E2E event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "The remote fabric name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaAzureApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "The primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "The secondary kek certificate pfx.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureDiskInputDetails": {
+ "description": "Disk input details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The DiskId.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The LogStorageAccountId.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The DiskType.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
+ }
+ }
+ },
+ "HyperVReplicaAzureEnableProtectionInput": {
+ "description": "HyperVReplicaAzure specific enable protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "hvHostVmId": {
+ "description": "The Hyper-V host VM Id.",
+ "type": "string"
+ },
+ "vmName": {
+ "description": "The VM Name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type associated with VM.",
+ "type": "string"
+ },
+ "vhdId": {
+ "description": "The OS disk VHD id associated with VM.",
+ "type": "string"
+ },
+ "targetStorageAccountId": {
+ "description": "The storage account Id.",
+ "type": "string"
+ },
+ "targetAzureNetworkId": {
+ "description": "The selected target Azure network Id.",
+ "type": "string"
+ },
+ "targetAzureSubnetId": {
+ "description": "The selected target Azure subnet Id.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "targetAzureVmName": {
+ "description": "The target azure VM Name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The list of VHD Ids of disks to be protected.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetAzureV1ResourceGroupId": {
+ "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "targetAzureV2ResourceGroupId": {
+ "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id for resource manager deployment.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The proximity placement group ARM Id.",
+ "type": "string"
+ },
+ "useManagedDisksForReplication": {
+ "description": "A value indicating whether managed disks should be used during replication.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The DiskType.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "disksToIncludeForManagedDisks": {
+ "description": "The disks to include list for managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HyperVReplicaAzureDiskInputDetails"
+ }
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureEventDetails": {
+ "description": "Model class for event details of a HyperVReplica E2A event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureFailbackProviderInput": {
+ "description": "HyperVReplicaAzureFailback specific planned failover input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "dataSyncOption": {
+ "description": "Data sync option.",
+ "type": "string"
+ },
+ "recoveryVmCreationOption": {
+ "description": "ALR options to create alternate recovery.",
+ "type": "string"
+ },
+ "providerIdForAlternateRecovery": {
+ "description": "Provider Id for alternate location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzureFailback"
+ },
+ "HyperVReplicaAzureManagedDiskDetails": {
+ "description": "Hyper-V Managed disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "seedManagedDiskId": {
+ "description": "Seed managed disk Id.",
+ "type": "string"
+ },
+ "replicaDiskType": {
+ "description": "The replica disk type.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The disk encryption set ARM Id.",
+ "type": "string"
+ }
+ }
+ },
+ "HyperVReplicaAzurePlannedFailoverProviderInput": {
+ "description": "HyperVReplicaAzure specific planned failover input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "Primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "Secondary kek certificate pfx.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzurePolicyDetails": {
+ "description": "Hyper-V Replica Azure specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryDurationInHours": {
+ "format": "int32",
+ "description": "The duration (in hours) to which point the recovery history needs to be maintained.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.",
+ "type": "integer"
+ },
+ "replicationInterval": {
+ "format": "int32",
+ "description": "The replication interval.",
+ "type": "integer"
+ },
+ "onlineReplicationStartTime": {
+ "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.",
+ "type": "string"
+ },
+ "encryption": {
+ "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.",
+ "type": "string"
+ },
+ "activeStorageAccountId": {
+ "description": "The active storage account Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzurePolicyInput": {
+ "description": "Hyper-V Replica Azure specific input for creating a protection profile.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryDuration": {
+ "format": "int32",
+ "description": "The duration (in hours) to which point the recovery history needs to be maintained.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.",
+ "type": "integer"
+ },
+ "replicationInterval": {
+ "format": "int32",
+ "description": "The replication interval.",
+ "type": "integer"
+ },
+ "onlineReplicationStartTime": {
+ "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.",
+ "type": "string"
+ },
+ "storageAccounts": {
+ "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureReplicationDetails": {
+ "description": "Hyper V Replica Azure provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "azureVmDiskDetails": {
+ "description": "Azure VM Disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureVmDiskDetails"
+ }
+ },
+ "recoveryAzureVmName": {
+ "description": "Recovery Azure given name.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "The Recovery Azure VM size.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccount": {
+ "description": "The recovery Azure storage account.",
+ "type": "string"
+ },
+ "recoveryAzureLogStorageAccountId": {
+ "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.",
+ "type": "string"
+ },
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "Last RPO value.",
+ "type": "integer"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "The selected recovery azure network Id.",
+ "type": "string"
+ },
+ "selectedSourceNicId": {
+ "description": "The selected source nic Id which will be used as the primary nic during failover.",
+ "type": "string"
+ },
+ "encryption": {
+ "description": "The encryption info.",
+ "type": "string"
+ },
+ "oSDetails": {
+ "$ref": "#/definitions/OSDetails",
+ "description": "The operating system info."
+ },
+ "sourceVmRamSizeInMB": {
+ "format": "int32",
+ "description": "The RAM size of the VM on the primary side.",
+ "type": "integer"
+ },
+ "sourceVmCpuCount": {
+ "format": "int32",
+ "description": "The CPU count of the VM on the primary side.",
+ "type": "integer"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "recoveryAzureResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "type": "string"
+ },
+ "lastRecoveryPointReceived": {
+ "format": "date-time",
+ "description": "The last recovery point received time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "protectedManagedDisks": {
+ "description": "The list of protected managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HyperVReplicaAzureManagedDiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureReprotectInput": {
+ "description": "Azure specific reprotect input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "hvHostVmId": {
+ "description": "The Hyper-V host Vm Id.",
+ "type": "string"
+ },
+ "vmName": {
+ "description": "The Vm Name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type associated with vm.",
+ "type": "string"
+ },
+ "vHDId": {
+ "description": "The OS disk VHD id associated with vm.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureTestFailoverInput": {
+ "description": "HvrA provider specific input for test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "Primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "Secondary kek certificate pfx.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureUnplannedFailoverInput": {
+ "description": "HvrA provider specific input for unplanned failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "Primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "Secondary kek certificate pfx.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureUpdateReplicationProtectedItemInput": {
+ "description": "HyperV replica Azure input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "recoveryAzureV1ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for classic deployment.",
+ "type": "string"
+ },
+ "recoveryAzureV2ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for resource manager deployment.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "diskIdToDiskEncryptionMap": {
+ "description": "The dictionary of disk resource Id to disk encryption set ARM Id.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "vmDisks": {
+ "description": "The list of disk update properties.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateDiskInput"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaBaseEventDetails": {
+ "description": "Abstract model class for event details of a HyperVReplica E2E event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "The remote fabric name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails"
+ },
+ "HyperVReplicaBasePolicyDetails": {
+ "description": "Base class for HyperVReplica policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletionOption": {
+ "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails"
+ },
+ "HyperVReplicaBaseReplicationDetails": {
+ "description": "Hyper V replica provider specific settings base class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vMDiskDetails": {
+ "description": "VM disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails"
+ },
+ "HyperVReplicaBluePolicyDetails": {
+ "description": "Hyper-V Replica Blue specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "replicationFrequencyInSeconds": {
+ "format": "int32",
+ "description": "A value indicating the replication interval.",
+ "type": "integer"
+ },
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletionOption": {
+ "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaBluePolicyInput": {
+ "description": "HyperV Replica Blue policy input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperVReplicaPolicyInput"
+ }
+ ],
+ "properties": {
+ "replicationFrequencyInSeconds": {
+ "format": "int32",
+ "description": "A value indicating the replication interval.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaBlueReplicationDetails": {
+ "description": "HyperV replica 2012 R2 (Blue) replication details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vMDiskDetails": {
+ "description": "VM disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaPolicyDetails": {
+ "description": "Hyper-V Replica Blue specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletionOption": {
+ "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVReplicaPolicyInput": {
+ "description": "Hyper-V Replica specific policy Input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletion": {
+ "description": "A value indicating whether the VM has to be auto deleted.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType",
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVReplicaReplicationDetails": {
+ "description": "HyperV replica 2012 replication details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vMDiskDetails": {
+ "description": "VM disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVSiteDetails": {
+ "description": "HyperVSite fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "hyperVHosts": {
+ "description": "The list of Hyper-V hosts associated with the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HyperVHostDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVSite"
+ },
+ "HyperVVirtualMachineDetails": {
+ "description": "Single Host fabric provider specific VM settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {
+ "sourceItemId": {
+ "description": "The source id of the object.",
+ "type": "string"
+ },
+ "generation": {
+ "description": "The id of the object in fabric.",
+ "type": "string"
+ },
+ "osDetails": {
+ "$ref": "#/definitions/OSDetails",
+ "description": "The Last replication time."
+ },
+ "diskDetails": {
+ "description": "The Last successful failover time.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ },
+ "hasPhysicalDisk": {
+ "description": "A value indicating whether the VM has a physical disk attached. String value of SrsDataContract.PresenceStatus enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hasFibreChannelAdapter": {
+ "description": "A value indicating whether the VM has a fibre channel adapter attached. String value of SrsDataContract.PresenceStatus enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hasSharedVhd": {
+ "description": "A value indicating whether the VM has a shared VHD attached. String value of SrsDataContract.PresenceStatus enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hyperVHostId": {
+ "description": "The Id of the hyper-v host in fabric.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType",
+ "x-ms-discriminator-value": "HyperVVirtualMachine"
+ },
+ "IdentityProviderDetails": {
+ "description": "Identity provider details.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "applicationId": {
+ "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "objectId": {
+ "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "audience": {
+ "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "aadAuthority": {
+ "description": "The base authority for Azure Active Directory authentication.",
+ "type": "string"
+ }
+ }
+ },
+ "IdentityProviderInput": {
+ "description": "Identity provider input.",
+ "required": [
+ "tenantId",
+ "applicationId",
+ "objectId",
+ "audience",
+ "aadAuthority"
+ ],
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "applicationId": {
+ "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "objectId": {
+ "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "audience": {
+ "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "aadAuthority": {
+ "description": "The base authority for Azure Active Directory authentication.",
+ "type": "string"
+ }
+ }
+ },
+ "InconsistentVmDetails": {
+ "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.",
+ "type": "object",
+ "properties": {
+ "vmName": {
+ "description": "The Vm name.",
+ "type": "string"
+ },
+ "cloudName": {
+ "description": "The Cloud name.",
+ "type": "string"
+ },
+ "details": {
+ "description": "The list of details regarding state of the Protected Entity in SRS and On prem.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "errorIds": {
+ "description": "The list of error ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "InitialReplicationDetails": {
+ "description": "Initial replication details.",
+ "type": "object",
+ "properties": {
+ "initialReplicationType": {
+ "description": "Initial replication type.",
+ "type": "string"
+ },
+ "initialReplicationProgressPercentage": {
+ "description": "The initial replication progress percentage.",
+ "type": "string"
+ }
+ }
+ },
+ "InlineWorkflowTaskDetails": {
+ "description": "This class represents the inline workflow task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GroupTaskDetails"
+ }
+ ],
+ "properties": {
+ "workflowIds": {
+ "description": "The list of child workflow ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InlineWorkflowTaskDetails"
+ },
+ "InMageAgentDetails": {
+ "description": "The details of the InMage agent.",
+ "type": "object",
+ "properties": {
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "agentUpdateStatus": {
+ "description": "A value indicating whether installed agent needs to be updated.",
+ "type": "string"
+ },
+ "postUpdateRebootStatus": {
+ "description": "A value indicating whether reboot is required after update is applied.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageAzureV2ApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2DiskInputDetails": {
+ "description": "Disk input details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The DiskId.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The LogStorageAccountId.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The DiskType.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageAzureV2EnableProtectionInput": {
+ "description": "VMware Azure specific enable protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "masterTargetId": {
+ "description": "The Master target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account Id.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi VM group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageAzureV2DiskInputDetails"
+ }
+ },
+ "targetAzureNetworkId": {
+ "description": "The selected target Azure network Id.",
+ "type": "string"
+ },
+ "targetAzureSubnetId": {
+ "description": "The selected target Azure subnet Id.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target VM after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "targetAzureVmName": {
+ "description": "The target azure VM Name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ },
+ "targetAzureV1ResourceGroupId": {
+ "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "targetAzureV2ResourceGroupId": {
+ "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The DiskType.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id for resource manager deployment.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The proximity placement group ARM Id.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2EventDetails": {
+ "description": "Model class for event details of a VMwareAzureV2 event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "eventType": {
+ "description": "InMage Event type. Takes one of the values of InMageDataContract.InMageMonitoringEventType.",
+ "type": "string"
+ },
+ "category": {
+ "description": "InMage Event Category.",
+ "type": "string"
+ },
+ "component": {
+ "description": "InMage Event Component.",
+ "type": "string"
+ },
+ "correctiveAction": {
+ "description": "Corrective Action string for the event.",
+ "type": "string"
+ },
+ "details": {
+ "description": "InMage Event Details.",
+ "type": "string"
+ },
+ "summary": {
+ "description": "InMage Event Summary.",
+ "type": "string"
+ },
+ "siteName": {
+ "description": "VMware Site name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ManagedDiskDetails": {
+ "description": "InMageAzureV2 Managed disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "seedManagedDiskId": {
+ "description": "Seed managed disk Id.",
+ "type": "string"
+ },
+ "replicaDiskType": {
+ "description": "The replica disk type.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
+ },
+ "targetDiskName": {
+ "description": "The target disk name.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageAzureV2PolicyDetails": {
+ "description": "InMage Azure v2 specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2PolicyInput": {
+ "description": "VMWare Azure specific policy Input.",
+ "required": [
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ProtectedDiskDetails": {
+ "description": "InMageAzureV2 protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "healthErrorCode": {
+ "description": "The health error code for the disk.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "string"
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer"
+ },
+ "resyncDurationInSeconds": {
+ "format": "int64",
+ "description": "The resync duration in seconds.",
+ "type": "integer"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "fileSystemCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk file system capacity in bytes.",
+ "type": "integer"
+ },
+ "sourceDataInMegaBytes": {
+ "format": "double",
+ "description": "The source data transit in MB.",
+ "type": "number"
+ },
+ "psDataInMegaBytes": {
+ "format": "double",
+ "description": "The PS data transit in MB.",
+ "type": "number"
+ },
+ "targetDataInMegaBytes": {
+ "format": "double",
+ "description": "The target data transit in MB.",
+ "type": "number"
+ },
+ "diskResized": {
+ "description": "A value indicating whether disk is resized.",
+ "type": "string"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "resyncProcessedBytes": {
+ "format": "int64",
+ "description": "The resync processed bytes.",
+ "type": "integer"
+ },
+ "resyncTotalTransferredBytes": {
+ "format": "int64",
+ "description": "The resync total transferred bytes.",
+ "type": "integer"
+ },
+ "resyncLast15MinutesTransferredBytes": {
+ "format": "int64",
+ "description": "The resync last 15 minutes transferred bytes.",
+ "type": "integer"
+ },
+ "resyncLastDataTransferTimeUTC": {
+ "format": "date-time",
+ "description": "The last data transfer time in UTC.",
+ "type": "string"
+ },
+ "resyncStartTime": {
+ "format": "date-time",
+ "description": "The resync start time.",
+ "type": "string"
+ },
+ "progressHealth": {
+ "description": "The Progress Health.",
+ "type": "string"
+ },
+ "progressStatus": {
+ "description": "The Progress Status.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageAzureV2RecoveryPointDetails": {
+ "description": "InMage Azure V2 provider specific recovery point details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails"
+ }
+ ],
+ "properties": {
+ "isMultiVmSyncPoint": {
+ "description": "A value indicating whether the recovery point is multi VM consistent.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ReplicationDetails": {
+ "description": "InMageAzureV2 provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "infrastructureVmId": {
+ "description": "The infrastructure VM Id.",
+ "type": "string"
+ },
+ "vCenterInfrastructureId": {
+ "description": "The vCenter infrastructure Id.",
+ "type": "string"
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "compressedDataRateInMB": {
+ "format": "double",
+ "description": "The compressed data change rate in MB.",
+ "type": "number"
+ },
+ "uncompressedDataRateInMB": {
+ "format": "double",
+ "description": "The uncompressed data change rate in MB.",
+ "type": "number"
+ },
+ "ipAddress": {
+ "description": "The source IP address.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "isAgentUpdateRequired": {
+ "description": "A value indicating whether installed agent needs to be updated.",
+ "type": "string"
+ },
+ "isRebootAfterUpdateRequired": {
+ "description": "A value indicating whether the source server requires a restart after update.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the source server.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "processServerName": {
+ "description": "The process server name.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi vm sync is enabled or disabled.",
+ "type": "string"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails"
+ }
+ },
+ "diskResized": {
+ "description": "A value indicating whether any disk is resized for this VM.",
+ "type": "string"
+ },
+ "masterTargetId": {
+ "description": "The master target Id.",
+ "type": "string"
+ },
+ "sourceVmCpuCount": {
+ "format": "int32",
+ "description": "The CPU count of the VM on the primary side.",
+ "type": "integer"
+ },
+ "sourceVmRamSizeInMB": {
+ "format": "int32",
+ "description": "The RAM size of the VM on the primary side.",
+ "type": "integer"
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "The OS disk VHD name.",
+ "type": "string"
+ },
+ "osDiskId": {
+ "description": "The id of the disk containing the OS.",
+ "type": "string"
+ },
+ "azureVMDiskDetails": {
+ "description": "Azure VM Disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureVmDiskDetails"
+ }
+ },
+ "recoveryAzureVMName": {
+ "description": "Recovery Azure given name.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "The Recovery Azure VM size.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccount": {
+ "description": "The recovery Azure storage account.",
+ "type": "string"
+ },
+ "recoveryAzureLogStorageAccountId": {
+ "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "The selected recovery azure network Id.",
+ "type": "string"
+ },
+ "selectedTfoAzureNetworkId": {
+ "description": "The test failover virtual network.",
+ "type": "string"
+ },
+ "selectedSourceNicId": {
+ "description": "The selected source nic Id which will be used as the primary nic during failover.",
+ "type": "string"
+ },
+ "discoveryType": {
+ "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "datastores": {
+ "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetVmId": {
+ "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.",
+ "type": "string"
+ },
+ "recoveryAzureResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "type": "string"
+ },
+ "validationErrors": {
+ "description": "The validation errors of the on-premise machine Value can be list of validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "lastUpdateReceivedTime": {
+ "format": "date-time",
+ "description": "The last update time received from on-prem components.",
+ "type": "string"
+ },
+ "replicaId": {
+ "description": "The replica id of the protected item.",
+ "type": "string"
+ },
+ "osVersion": {
+ "description": "The OS Version of the protected item.",
+ "type": "string"
+ },
+ "protectedManagedDisks": {
+ "description": "The list of protected managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageAzureV2ManagedDiskDetails"
+ }
+ },
+ "lastRecoveryPointReceived": {
+ "format": "date-time",
+ "description": "The last recovery point received time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "firmwareType": {
+ "description": "The firmware type of this protected item.",
+ "type": "string"
+ },
+ "azureVmGeneration": {
+ "description": "The target generation for this protected item.",
+ "type": "string"
+ },
+ "isAdditionalStatsAvailable": {
+ "description": "A value indicating whether additional IR stats are available or not.",
+ "type": "boolean"
+ },
+ "totalDataTransferred": {
+ "format": "int64",
+ "description": "The total transferred data in bytes.",
+ "type": "integer"
+ },
+ "totalProgressHealth": {
+ "description": "The progress health.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ReprotectInput": {
+ "description": "InMageAzureV2 specific provider input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "masterTargetId": {
+ "description": "The Master target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account id.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2TestFailoverInput": {
+ "description": "InMageAzureV2 provider specific input for test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2UnplannedFailoverInput": {
+ "description": "InMageAzureV2 provider specific input for unplanned failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2UpdateReplicationProtectedItemInput": {
+ "description": "InMage Azure V2 input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "recoveryAzureV1ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for classic deployment.",
+ "type": "string"
+ },
+ "recoveryAzureV2ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for resource manager deployment.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "vmDisks": {
+ "description": "The list of disk update properties.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateDiskInput"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageBasePolicyDetails": {
+ "description": "Base class for the policies of providers using InMage replication.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageBasePolicyDetails"
+ },
+ "InMageDisableProtectionProviderSpecificInput": {
+ "description": "InMage disable protection provider specific input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DisableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "replicaVmDeletionStatus": {
+ "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageDiskDetails": {
+ "description": "VMware/Physical specific Disk Details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "diskSizeInMB": {
+ "description": "The disk size in MB.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "Whether disk is system disk or data disk.",
+ "type": "string"
+ },
+ "diskConfiguration": {
+ "description": "Whether disk is dynamic disk or basic disk.",
+ "type": "string"
+ },
+ "volumeList": {
+ "description": "Volumes of the disk.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskVolumeDetails"
+ }
+ }
+ }
+ },
+ "InMageDiskExclusionInput": {
+ "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.",
+ "type": "object",
+ "properties": {
+ "volumeOptions": {
+ "description": "The volume label based option for disk exclusion.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageVolumeExclusionOptions"
+ }
+ },
+ "diskSignatureOptions": {
+ "description": "The guest disk signature based option for disk exclusion.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageDiskSignatureExclusionOptions"
+ }
+ }
+ }
+ },
+ "InMageDiskSignatureExclusionOptions": {
+ "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.",
+ "type": "object",
+ "properties": {
+ "diskSignature": {
+ "description": "The guest signature of disk to be excluded from replication.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageEnableProtectionInput": {
+ "description": "VMware Azure specific enable protection input.",
+ "required": [
+ "masterTargetId",
+ "processServerId",
+ "retentionDrive",
+ "multiVmGroupId",
+ "multiVmGroupName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmFriendlyName": {
+ "description": "The VM Name.",
+ "type": "string"
+ },
+ "masterTargetId": {
+ "description": "The Master Target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "retentionDrive": {
+ "description": "The retention drive to use on the MT.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi VM group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string"
+ },
+ "datastoreName": {
+ "description": "The target datastore name.",
+ "type": "string"
+ },
+ "diskExclusionInput": {
+ "$ref": "#/definitions/InMageDiskExclusionInput",
+ "description": "The enable disk exclusion input."
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMagePolicyDetails": {
+ "description": "InMage specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMagePolicyInput": {
+ "description": "VMWare Azure specific protection profile Input.",
+ "required": [
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageProtectedDiskDetails": {
+ "description": "InMage protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "healthErrorCode": {
+ "description": "The health error code for the disk.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "string"
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer"
+ },
+ "resyncDurationInSeconds": {
+ "format": "int64",
+ "description": "The resync duration in seconds.",
+ "type": "integer"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "fileSystemCapacityInBytes": {
+ "format": "int64",
+ "description": "The file system capacity in bytes.",
+ "type": "integer"
+ },
+ "sourceDataInMB": {
+ "format": "double",
+ "description": "The source data transit in MB.",
+ "type": "number"
+ },
+ "psDataInMB": {
+ "format": "double",
+ "description": "The PS data transit in MB.",
+ "type": "number"
+ },
+ "targetDataInMB": {
+ "format": "double",
+ "description": "The target data transit in MB.",
+ "type": "number"
+ },
+ "diskResized": {
+ "description": "A value indicating whether disk is resized.",
+ "type": "string"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "resyncProcessedBytes": {
+ "format": "int64",
+ "description": "The resync processed bytes.",
+ "type": "integer"
+ },
+ "resyncTotalTransferredBytes": {
+ "format": "int64",
+ "description": "The resync total transferred bytes.",
+ "type": "integer"
+ },
+ "resyncLast15MinutesTransferredBytes": {
+ "format": "int64",
+ "description": "The resync last 15 minutes transferred bytes.",
+ "type": "integer"
+ },
+ "resyncLastDataTransferTimeUTC": {
+ "format": "date-time",
+ "description": "The last data transfer time in UTC.",
+ "type": "string"
+ },
+ "resyncStartTime": {
+ "format": "date-time",
+ "description": "The resync start time.",
+ "type": "string"
+ },
+ "progressHealth": {
+ "description": "The Progress Health.",
+ "type": "string"
+ },
+ "progressStatus": {
+ "description": "The Progress Status.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageRcmAgentUpgradeBlockingErrorDetails": {
+ "description": "InMageRcm source agent upgrade blocking error details.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessageParameters": {
+ "description": "The error message parameters.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "errorTags": {
+ "description": "The error tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to InMageRcm provider.",
+ "required": [
+ "recoveryPointId",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmDiscoveredProtectedVmDetails": {
+ "description": "InMageRcm discovered protected VM details.",
+ "type": "object",
+ "properties": {
+ "vCenterId": {
+ "description": "The VCenter Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterFqdn": {
+ "description": "The VCenter fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "datastores": {
+ "description": "The list of datastores.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "ipAddresses": {
+ "description": "The list of IP addresses.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "vmwareToolsStatus": {
+ "description": "The VMware tools status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "powerStatus": {
+ "description": "The VM power status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmFqdn": {
+ "description": "The VM fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osName": {
+ "description": "The VM's OS name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdTimestamp": {
+ "format": "date-time",
+ "description": "The SDS created timestamp.",
+ "type": "string",
+ "readOnly": true
+ },
+ "updatedTimestamp": {
+ "format": "date-time",
+ "description": "The SDS updated timestamp.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDeleted": {
+ "description": "A value indicating whether the VM is deleted.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "lastDiscoveryTimeInUtc": {
+ "format": "date-time",
+ "description": "The last time when SDS information discovered in SRS.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmDiskInput": {
+ "description": "InMageRcm disk input.",
+ "required": [
+ "diskId",
+ "logStorageAccountId",
+ "diskType"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The disk type.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageRcmDisksDefaultInput": {
+ "description": "InMageRcm disk input.",
+ "required": [
+ "logStorageAccountId",
+ "diskType"
+ ],
+ "type": "object",
+ "properties": {
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The disk type.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageRcmEnableProtectionInput": {
+ "description": "InMageRcm specific enable protection input.",
+ "required": [
+ "fabricDiscoveryMachineId",
+ "targetResourceGroupId",
+ "processServerId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "fabricDiscoveryMachineId": {
+ "description": "The ARM Id of discovered machine.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmDiskInput"
+ }
+ },
+ "disksDefault": {
+ "$ref": "#/definitions/InMageRcmDisksDefaultInput",
+ "description": "The default disk input."
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The selected target network ARM Id.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "The selected test network ARM Id.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "The selected target subnet name.",
+ "type": "string"
+ },
+ "testSubnetName": {
+ "description": "The selected test subnet name.",
+ "type": "string"
+ },
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "The license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The run-as account Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmEventDetails": {
+ "description": "Event details for InMageRcm provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemName": {
+ "description": "The protected item name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmName": {
+ "description": "The protected item name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestAgentVersion": {
+ "description": "The latest agent version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobId": {
+ "description": "The job Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricName": {
+ "description": "The fabric name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "applianceName": {
+ "description": "The appliance name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serverType": {
+ "description": "The server type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "componentDisplayName": {
+ "description": "The component display name.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmFabricCreationInput": {
+ "description": "InMageRcm fabric provider specific settings.",
+ "required": [
+ "vmwareSiteId",
+ "physicalSiteId",
+ "sourceAgentIdentity"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreationInput"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string"
+ },
+ "physicalSiteId": {
+ "description": "The ARM Id of the physical site.",
+ "type": "string"
+ },
+ "sourceAgentIdentity": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for source agent authentication."
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmFabricSpecificDetails": {
+ "description": "InMageRcm fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string",
+ "readOnly": true
+ },
+ "physicalSiteId": {
+ "description": "The ARM Id of the physical site.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceEndpoint": {
+ "description": "The service endpoint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceResourceId": {
+ "description": "The service resource Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceContainerId": {
+ "description": "The service container Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataPlaneUri": {
+ "description": "The data plane Uri.",
+ "type": "string",
+ "readOnly": true
+ },
+ "controlPlaneUri": {
+ "description": "The control plane Uri.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceAgentIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The source agent identity details."
+ },
+ "processServers": {
+ "description": "The list of process servers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProcessServerDetails"
+ },
+ "readOnly": true
+ },
+ "rcmProxies": {
+ "description": "The list of RCM proxies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RcmProxyDetails"
+ },
+ "readOnly": true
+ },
+ "pushInstallers": {
+ "description": "The list of push installers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PushInstallerDetails"
+ },
+ "readOnly": true
+ },
+ "replicationAgents": {
+ "description": "The list of replication agents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationAgentDetails"
+ },
+ "readOnly": true
+ },
+ "reprotectAgents": {
+ "description": "The list of reprotect agents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReprotectAgentDetails"
+ },
+ "readOnly": true
+ },
+ "marsAgents": {
+ "description": "The list of Mars agents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MarsAgentDetails"
+ },
+ "readOnly": true
+ },
+ "dras": {
+ "description": "The list of DRAs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DraDetails"
+ },
+ "readOnly": true
+ },
+ "agentDetails": {
+ "description": "The list of agent details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentDetails"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmFailbackDiscoveredProtectedVmDetails": {
+ "description": "InMageRcmFailback discovered VM details.",
+ "type": "object",
+ "properties": {
+ "vCenterId": {
+ "description": "The VCenter Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterFqdn": {
+ "description": "The VCenter fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "datastores": {
+ "description": "The list of datastores.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "ipAddresses": {
+ "description": "The list of IP addresses.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "vmwareToolsStatus": {
+ "description": "The VMware tools status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "powerStatus": {
+ "description": "The VM power status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmFqdn": {
+ "description": "The VM fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osName": {
+ "description": "The VM's OS name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdTimestamp": {
+ "format": "date-time",
+ "description": "The SDS created timestamp.",
+ "type": "string",
+ "readOnly": true
+ },
+ "updatedTimestamp": {
+ "format": "date-time",
+ "description": "The SDS updated timestamp.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDeleted": {
+ "description": "A value indicating whether the VM is deleted.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "lastDiscoveryTimeInUtc": {
+ "format": "date-time",
+ "description": "The last time when SDS information discovered in SRS.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmFailbackEventDetails": {
+ "description": "Event details for InMageRcmFailback provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemName": {
+ "description": "The protected item name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmName": {
+ "description": "The protected item name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "applianceName": {
+ "description": "The appliance name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serverType": {
+ "description": "The server type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "componentDisplayName": {
+ "description": "The component display name.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackMobilityAgentDetails": {
+ "description": "InMageRcmFailback mobility agent details.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The agent version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestVersion": {
+ "description": "The latest agent version available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "driverVersion": {
+ "description": "The driver version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestUpgradableVersionWithoutReboot": {
+ "description": "The latest upgradeable version available without reboot.",
+ "type": "string",
+ "readOnly": true
+ },
+ "agentVersionExpiryDate": {
+ "format": "date-time",
+ "description": "The agent version expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "driverVersionExpiryDate": {
+ "format": "date-time",
+ "description": "The driver version expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The time of the last heartbeat received from the agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reasonsBlockingUpgrade": {
+ "description": "The whether update is possible or not.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "AlreadyOnLatestVersion",
+ "RebootRequired",
+ "AgentNoHeartbeat",
+ "RcmProxyNoHeartbeat",
+ "ProcessServerNoHeartbeat",
+ "IncompatibleApplianceVersion",
+ "NotProtected",
+ "UnsupportedProtectionScenario",
+ "DistroIsNotReported",
+ "DistroNotSupportedForUpgrade",
+ "MissingUpgradePath",
+ "InvalidAgentVersion",
+ "InvalidDriverVersion",
+ "Unknown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentUpgradeBlockedReason",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "isUpgradeable": {
+ "description": "A value indicating whether agent is upgradeable or not.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmFailbackNicDetails": {
+ "description": "InMageRcmFailback NIC details.",
+ "type": "object",
+ "properties": {
+ "macAddress": {
+ "description": "The mac address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkName": {
+ "description": "The network name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "adapterType": {
+ "description": "The adapter type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceIpAddress": {
+ "description": "The IP address.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmFailbackPlannedFailoverProviderInput": {
+ "description": "Provider specific input for InMageRcmFailback failover.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "ApplicationConsistent",
+ "CrashConsistent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InMageRcmFailbackRecoveryPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackPolicyCreationInput": {
+ "description": "InMageRcmFailback policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackPolicyDetails": {
+ "description": "InMageRcm failback specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackProtectedDiskDetails": {
+ "description": "InMageRcmFailback protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id (reported by source agent).",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "diskUuid": {
+ "description": "The disk Uuid (reported by vCenter).",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataPendingInLogDataStoreInMB": {
+ "format": "double",
+ "description": "The data pending in log data store in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source agent in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "isInitialReplicationComplete": {
+ "description": "A value indicating whether initial replication is complete or not.",
+ "type": "string",
+ "readOnly": true
+ },
+ "irDetails": {
+ "$ref": "#/definitions/InMageRcmFailbackSyncDetails",
+ "description": "The initial replication details."
+ },
+ "resyncDetails": {
+ "$ref": "#/definitions/InMageRcmFailbackSyncDetails",
+ "description": "The resync details."
+ },
+ "lastSyncTime": {
+ "format": "date-time",
+ "description": "The last sync time.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmFailbackReplicationDetails": {
+ "description": "InMageRcmFailback provider specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "internalIdentifier": {
+ "description": "The virtual machine internal identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureVirtualMachineId": {
+ "description": "The ARM Id of the azure VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reprotectAgentId": {
+ "description": "The reprotect agent Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reprotectAgentName": {
+ "description": "The reprotect agent name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetvCenterId": {
+ "description": "The target vCenter Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetDataStoreName": {
+ "description": "The target datastore name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialReplicationProgressPercentage": {
+ "format": "int32",
+ "description": "The initial replication progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationProcessedBytes": {
+ "format": "int64",
+ "description": "The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationTransferredBytes": {
+ "format": "int64",
+ "description": "The initial replication transferred bytes from source VM to target for all selected disks on source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationProgressHealth": {
+ "description": "The initial replication progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VmReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProcessedBytes": {
+ "format": "int64",
+ "description": "The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncTransferredBytes": {
+ "format": "int64",
+ "description": "The resync transferred bytes from source VM to target for all selected disks on source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProgressHealth": {
+ "description": "The resync progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VmReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resyncState": {
+ "description": "The resync state.",
+ "enum": [
+ "None",
+ "PreparedForResynchronization",
+ "StartedResynchronization"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ResyncState",
+ "modelAsString": true
+ }
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmFailbackProtectedDiskDetails"
+ }
+ },
+ "mobilityAgentDetails": {
+ "$ref": "#/definitions/InMageRcmFailbackMobilityAgentDetails",
+ "description": "The mobility agent information."
+ },
+ "vmNics": {
+ "description": "The network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmFailbackNicDetails"
+ }
+ },
+ "lastPlannedFailoverStartTime": {
+ "format": "date-time",
+ "description": "The last planned failover start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastPlannedFailoverStatus": {
+ "description": "The last planned failover status.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlannedFailoverStatus",
+ "modelAsString": true
+ }
+ },
+ "discoveredVmDetails": {
+ "$ref": "#/definitions/InMageRcmFailbackDiscoveredProtectedVmDetails",
+ "description": "The discovered VM information."
+ },
+ "lastUsedPolicyId": {
+ "description": "The policy Id used by the forward replication.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastUsedPolicyFriendlyName": {
+ "description": "The policy friendly name used by the forward replication.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isAgentRegistrationSuccessfulAfterFailover": {
+ "description": "A value indicating whether agent registration was successful after failover.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackReprotectInput": {
+ "description": "InMageRcmFailback specific provider input.",
+ "required": [
+ "processServerId",
+ "policyId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The run as account Id.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackSyncDetails": {
+ "description": "InMageRcmFailback disk level sync details.",
+ "type": "object",
+ "properties": {
+ "progressHealth": {
+ "description": "The progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress",
+ "Queued"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DiskReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "transferredBytes": {
+ "format": "int64",
+ "description": "The transferred bytes from source VM to azure for the disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "last15MinutesTransferredBytes": {
+ "format": "int64",
+ "description": "The bytes transferred in last 15 minutes from source VM to target.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "lastDataTransferTimeUtc": {
+ "description": "The time of the last data transfer from source VM to target.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processedBytes": {
+ "format": "int64",
+ "description": "The total processed bytes. This includes bytes that are transferred from source VM to target and matched bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "The start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRefreshTime": {
+ "description": "The last refresh time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "progressPercentage": {
+ "format": "int32",
+ "description": "Progress in percentage. Progress percentage is calculated based on processed bytes.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmLastAgentUpgradeErrorDetails": {
+ "description": "InMageRcm last source agent upgrade error details.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessageParameters": {
+ "description": "The error message parameters.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "errorTags": {
+ "description": "The error tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmMobilityAgentDetails": {
+ "description": "InMageRcm mobility agent details.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The agent version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestVersion": {
+ "description": "The latest agent version available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestAgentReleaseDate": {
+ "description": "The latest agent version release date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "driverVersion": {
+ "description": "The driver version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestUpgradableVersionWithoutReboot": {
+ "description": "The latest upgradeable version available without reboot.",
+ "type": "string",
+ "readOnly": true
+ },
+ "agentVersionExpiryDate": {
+ "format": "date-time",
+ "description": "The agent version expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "driverVersionExpiryDate": {
+ "format": "date-time",
+ "description": "The driver version expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The time of the last heartbeat received from the agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reasonsBlockingUpgrade": {
+ "description": "The whether update is possible or not.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "AlreadyOnLatestVersion",
+ "RebootRequired",
+ "AgentNoHeartbeat",
+ "RcmProxyNoHeartbeat",
+ "ProcessServerNoHeartbeat",
+ "IncompatibleApplianceVersion",
+ "NotProtected",
+ "UnsupportedProtectionScenario",
+ "DistroIsNotReported",
+ "DistroNotSupportedForUpgrade",
+ "MissingUpgradePath",
+ "InvalidAgentVersion",
+ "InvalidDriverVersion",
+ "Unknown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentUpgradeBlockedReason",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "isUpgradeable": {
+ "description": "A value indicating whether agent is upgradeable or not.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmNicDetails": {
+ "description": "InMageRcm NIC details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "isSelectedForFailover": {
+ "description": "A value indicating whether this NIC is selected for failover.",
+ "type": "string"
+ },
+ "sourceIPAddress": {
+ "description": "The source IP address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceIPAddressType": {
+ "description": "The source IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "sourceNetworkId": {
+ "description": "Source network Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceSubnetName": {
+ "description": "Source subnet name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetIPAddress": {
+ "description": "The target IP address.",
+ "type": "string"
+ },
+ "targetIPAddressType": {
+ "description": "The target IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "testSubnetName": {
+ "description": "Test subnet name.",
+ "type": "string"
+ },
+ "testIPAddress": {
+ "description": "The test IP address.",
+ "type": "string"
+ },
+ "testIPAddressType": {
+ "description": "The test IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "InMageRcmNicInput": {
+ "description": "InMageRcm NIC input.",
+ "required": [
+ "nicId",
+ "isPrimaryNic"
+ ],
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string"
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "isSelectedForFailover": {
+ "description": "A value indicating whether this NIC is selected for failover.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "targetStaticIPAddress": {
+ "description": "The target static IP address.",
+ "type": "string"
+ },
+ "testSubnetName": {
+ "description": "The test subnet name.",
+ "type": "string"
+ },
+ "testStaticIPAddress": {
+ "description": "The test static IP address.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageRcmPolicyCreationInput": {
+ "description": "InMageRcm policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryInMinutes": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "enableMultiVmSync": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmPolicyDetails": {
+ "description": "InMageRcm specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryInMinutes": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "enableMultiVmSync": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmProtectedDiskDetails": {
+ "description": "InMageRcm protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "seedManagedDiskId": {
+ "description": "The ARM Id of the seed managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetManagedDiskId": {
+ "description": "The ARM Id of the target managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskType": {
+ "description": "The disk type.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "dataPendingInLogDataStoreInMB": {
+ "format": "double",
+ "description": "The data pending in log data store in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source agent in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "isInitialReplicationComplete": {
+ "description": "A value indicating whether initial replication is complete or not.",
+ "type": "string",
+ "readOnly": true
+ },
+ "irDetails": {
+ "$ref": "#/definitions/InMageRcmSyncDetails",
+ "description": "The initial replication details."
+ },
+ "resyncDetails": {
+ "$ref": "#/definitions/InMageRcmSyncDetails",
+ "description": "The resync details."
+ }
+ }
+ },
+ "InMageRcmProtectionContainerMappingDetails": {
+ "description": "InMageRcm provider specific container mapping details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "enableAgentAutoUpgrade": {
+ "description": "A value indicating whether the flag for enable agent auto upgrade.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmRecoveryPointDetails": {
+ "description": "InMageRcm provider specific recovery point details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails"
+ }
+ ],
+ "properties": {
+ "isMultiVmSyncPoint": {
+ "description": "A value indicating whether the recovery point is multi VM consistent.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmReplicationDetails": {
+ "description": "InMageRcm provider specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "internalIdentifier": {
+ "description": "The virtual machine internal identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricDiscoveryMachineId": {
+ "description": "The ARM Id of the discovered VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "discoveryType": {
+ "description": "The type of the discovered VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processorCoreCount": {
+ "format": "int32",
+ "description": "The processor core count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "allocatedMemoryInMB": {
+ "format": "double",
+ "description": "The allocated memory in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "processServerName": {
+ "description": "The process server name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "runAsAccountId": {
+ "description": "The run-as account Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "firmwareType": {
+ "description": "The firmware type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "primaryNicIpAddress": {
+ "description": "The IP address of the primary network interface.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetGeneration": {
+ "description": "The target generation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "targetVmName": {
+ "description": "Target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network Id.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "The test network Id.",
+ "type": "string"
+ },
+ "failoverRecoveryPointId": {
+ "description": "The recovery point Id to which the VM was failed over.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRecoveryPointReceived": {
+ "format": "date-time",
+ "description": "The last recovery point received time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRpoInSeconds": {
+ "format": "int64",
+ "description": "The last recovery point objective value.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last recovery point objective calculated time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRecoveryPointId": {
+ "description": "The last recovery point Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialReplicationProgressPercentage": {
+ "format": "int32",
+ "description": "The initial replication progress percentage. This is calculated based on total bytes processed for all disks in the source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationProcessedBytes": {
+ "format": "int64",
+ "description": "The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationTransferredBytes": {
+ "format": "int64",
+ "description": "The initial replication transferred bytes from source VM to azure for all selected disks on source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationProgressHealth": {
+ "description": "The initial replication progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VmReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage. This is calculated based on total bytes processed for all disks in the source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProcessedBytes": {
+ "format": "int64",
+ "description": "The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncTransferredBytes": {
+ "format": "int64",
+ "description": "The resync transferred bytes from source VM to azure for all selected disks on source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProgressHealth": {
+ "description": "The resync progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VmReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resyncState": {
+ "description": "The resync state.",
+ "enum": [
+ "None",
+ "PreparedForResynchronization",
+ "StartedResynchronization"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ResyncState",
+ "modelAsString": true
+ }
+ },
+ "agentUpgradeState": {
+ "description": "The agent auto upgrade state.",
+ "enum": [
+ "None",
+ "Started",
+ "Completed",
+ "Commit"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MobilityAgentUpgradeState",
+ "modelAsString": true
+ }
+ },
+ "lastAgentUpgradeType": {
+ "description": "The last agent upgrade type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "agentUpgradeJobId": {
+ "description": "The agent upgrade job Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "agentUpgradeAttemptToVersion": {
+ "description": "The agent version to which last agent upgrade was attempted.",
+ "type": "string",
+ "readOnly": true
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmProtectedDiskDetails"
+ }
+ },
+ "isLastUpgradeSuccessful": {
+ "description": "A value indicating whether last agent upgrade was successful or not.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isAgentRegistrationSuccessfulAfterFailover": {
+ "description": "A value indicating whether agent registration was successful after failover.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "mobilityAgentDetails": {
+ "$ref": "#/definitions/InMageRcmMobilityAgentDetails",
+ "description": "The mobility agent information."
+ },
+ "lastAgentUpgradeErrorDetails": {
+ "description": "The last agent upgrade error information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmLastAgentUpgradeErrorDetails"
+ }
+ },
+ "agentUpgradeBlockingErrorDetails": {
+ "description": "The agent upgrade blocking error information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmAgentUpgradeBlockingErrorDetails"
+ }
+ },
+ "vmNics": {
+ "description": "The network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmNicDetails"
+ }
+ },
+ "discoveredVmDetails": {
+ "$ref": "#/definitions/InMageRcmDiscoveredProtectedVmDetails",
+ "description": "The discovered VM details."
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmReprotectInput": {
+ "description": "InMageRcm specific provider input.",
+ "required": [
+ "reprotectAgentId",
+ "datastoreName",
+ "logStorageAccountId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "reprotectAgentId": {
+ "description": "The reprotect agent Id.",
+ "type": "string"
+ },
+ "datastoreName": {
+ "description": "The target datastore name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmSyncDetails": {
+ "description": "InMageRcm disk level sync details.",
+ "type": "object",
+ "properties": {
+ "progressHealth": {
+ "description": "The progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress",
+ "Queued"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DiskReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "transferredBytes": {
+ "format": "int64",
+ "description": "The transferred bytes from source VM to azure for the disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "last15MinutesTransferredBytes": {
+ "format": "int64",
+ "description": "The bytes transferred in last 15 minutes from source VM to azure.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "lastDataTransferTimeUtc": {
+ "description": "The time of the last data transfer from source VM to azure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processedBytes": {
+ "format": "int64",
+ "description": "The total processed bytes. This includes bytes that are transferred from source VM to azure and matched bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "The start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRefreshTime": {
+ "description": "The last refresh time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "progressPercentage": {
+ "format": "int32",
+ "description": "Progress in percentage. Progress percentage is calculated based on processed bytes.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmTestFailoverInput": {
+ "description": "InMageRcm provider specific input for test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "networkId": {
+ "description": "The test network Id.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmUnplannedFailoverInput": {
+ "description": "InMageRcm provider specific input for unplanned failover.",
+ "required": [
+ "performShutdown"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "performShutdown": {
+ "description": "A value indicating whether VM is to be shutdown.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmUpdateApplianceForReplicationProtectedItemInput": {
+ "description": "InMageRcm provider specific input to update appliance for replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "runAsAccountId": {
+ "description": "The run as account Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmUpdateContainerMappingInput": {
+ "description": "InMageRcm update protection container mapping.",
+ "required": [
+ "enableAgentAutoUpgrade"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "enableAgentAutoUpgrade": {
+ "description": "A value indicating whether agent auto upgrade has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmUpdateReplicationProtectedItemInput": {
+ "description": "InMageRcm provider specific input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network ARM Id.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "The test network ARM Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The list of NIC details.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmNicInput"
+ }
+ },
+ "licenseType": {
+ "description": "The license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageReplicationDetails": {
+ "description": "InMage provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "activeSiteType": {
+ "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.",
+ "type": "string"
+ },
+ "sourceVmCpuCount": {
+ "format": "int32",
+ "description": "The CPU count of the VM on the primary side.",
+ "type": "integer"
+ },
+ "sourceVmRamSizeInMB": {
+ "format": "int32",
+ "description": "The RAM size of the VM on the primary side.",
+ "type": "integer"
+ },
+ "osDetails": {
+ "$ref": "#/definitions/OSDiskDetails",
+ "description": "The OS details."
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "resyncDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "The resync details of the machine."
+ },
+ "retentionWindowStart": {
+ "format": "date-time",
+ "description": "The retention window start time.",
+ "type": "string"
+ },
+ "retentionWindowEnd": {
+ "format": "date-time",
+ "description": "The retention window end time.",
+ "type": "string"
+ },
+ "compressedDataRateInMB": {
+ "format": "double",
+ "description": "The compressed data change rate in MB.",
+ "type": "number"
+ },
+ "uncompressedDataRateInMB": {
+ "format": "double",
+ "description": "The uncompressed data change rate in MB.",
+ "type": "number"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageProtectedDiskDetails"
+ }
+ },
+ "ipAddress": {
+ "description": "The source IP address.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the source server.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "masterTargetId": {
+ "description": "The master target Id.",
+ "type": "string"
+ },
+ "consistencyPoints": {
+ "description": "The collection of Consistency points.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "diskResized": {
+ "description": "A value indicating whether any disk is resized for this VM.",
+ "type": "string"
+ },
+ "rebootAfterUpdateStatus": {
+ "description": "A value indicating whether the source server requires a restart after update.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id, if any.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name, if any.",
+ "type": "string"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether the multi vm sync is enabled or disabled.",
+ "type": "string"
+ },
+ "agentDetails": {
+ "$ref": "#/definitions/InMageAgentDetails",
+ "description": "The agent details."
+ },
+ "vCenterInfrastructureId": {
+ "description": "The vCenter infrastructure Id.",
+ "type": "string"
+ },
+ "infrastructureVmId": {
+ "description": "The infrastructure VM Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "discoveryType": {
+ "description": "A value indicating the discovery type of the machine.",
+ "type": "string"
+ },
+ "azureStorageAccountId": {
+ "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.",
+ "type": "string"
+ },
+ "datastores": {
+ "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "validationErrors": {
+ "description": "The validation errors of the on-premise machine Value can be list of validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "lastUpdateReceivedTime": {
+ "format": "date-time",
+ "description": "The last update time received from on-prem components.",
+ "type": "string"
+ },
+ "replicaId": {
+ "description": "The replica id of the protected item.",
+ "type": "string"
+ },
+ "osVersion": {
+ "description": "The OS Version of the protected item.",
+ "type": "string"
+ },
+ "isAdditionalStatsAvailable": {
+ "description": "A value indicating whether additional IR stats are available or not.",
+ "type": "boolean"
+ },
+ "totalDataTransferred": {
+ "format": "int64",
+ "description": "The total transferred data in bytes.",
+ "type": "integer"
+ },
+ "totalProgressHealth": {
+ "description": "The progress health.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageReprotectInput": {
+ "description": "InMageAzureV2 specific provider input.",
+ "required": [
+ "masterTargetId",
+ "processServerId",
+ "retentionDrive",
+ "profileId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "masterTargetId": {
+ "description": "The Master Target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "retentionDrive": {
+ "description": "The retention drive to use on the MT.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "datastoreName": {
+ "description": "The target datastore name.",
+ "type": "string"
+ },
+ "diskExclusionInput": {
+ "$ref": "#/definitions/InMageDiskExclusionInput",
+ "description": "The enable disk exclusion input."
+ },
+ "profileId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageTestFailoverInput": {
+ "description": "Provider specific input for InMage test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.",
+ "enum": [
+ "LatestTime",
+ "LatestTag",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageUnplannedFailoverInput": {
+ "description": "Provider specific input for InMage unplanned failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.",
+ "enum": [
+ "LatestTime",
+ "LatestTag",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageVolumeExclusionOptions": {
+ "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.",
+ "type": "object",
+ "properties": {
+ "volumeLabel": {
+ "description": "The volume label. The disk having any volume with this label will be excluded from replication.",
+ "type": "string"
+ },
+ "onlyExcludeIfSingleVolume": {
+ "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.",
+ "type": "string"
+ }
+ }
+ },
+ "InnerHealthError": {
+ "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.",
+ "type": "object",
+ "properties": {
+ "errorSource": {
+ "description": "Source of error.",
+ "type": "string"
+ },
+ "errorType": {
+ "description": "Type of error.",
+ "type": "string"
+ },
+ "errorLevel": {
+ "description": "Level of error.",
+ "type": "string"
+ },
+ "errorCategory": {
+ "description": "Category of error.",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "summaryMessage": {
+ "description": "Summary message of the entity.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "Possible causes of error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "Recommended action to resolve error.",
+ "type": "string"
+ },
+ "creationTimeUtc": {
+ "format": "date-time",
+ "description": "Error creation time (UTC).",
+ "type": "string"
+ },
+ "recoveryProviderErrorMessage": {
+ "description": "DRA error message.",
+ "type": "string"
+ },
+ "entityId": {
+ "description": "ID of the entity.",
+ "type": "string"
+ },
+ "errorId": {
+ "description": "The health error unique id.",
+ "type": "string"
+ },
+ "customerResolvability": {
+ "description": "Value indicating whether the health error is customer resolvable.",
+ "enum": [
+ "Allowed",
+ "NotAllowed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthErrorCustomerResolvability",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "InputEndpoint": {
+ "type": "object",
+ "properties": {
+ "endpointName": {
+ "type": "string"
+ },
+ "privatePort": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "publicPort": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "protocol": {
+ "type": "string"
+ }
+ }
+ },
+ "Job": {
+ "description": "Job details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "JobCollection": {
+ "description": "Collection of jobs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of jobs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "JobDetails": {
+ "description": "Job details based on specific job type.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).",
+ "type": "string"
+ },
+ "affectedObjectDetails": {
+ "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "JobEntity": {
+ "description": "This class contains the minimal job details required to navigate to the desired drill down.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "The job id.",
+ "type": "string"
+ },
+ "jobFriendlyName": {
+ "description": "The job display name.",
+ "type": "string"
+ },
+ "targetObjectId": {
+ "description": "The object id.",
+ "type": "string"
+ },
+ "targetObjectName": {
+ "description": "The object name.",
+ "type": "string"
+ },
+ "targetInstanceType": {
+ "description": "The workflow affected object type.",
+ "type": "string"
+ },
+ "jobScenarioName": {
+ "description": "The job name. Enum type ScenarioName.",
+ "type": "string"
+ }
+ }
+ },
+ "JobErrorDetails": {
+ "description": "This class contains the error details per object.",
+ "type": "object",
+ "properties": {
+ "serviceErrorDetails": {
+ "$ref": "#/definitions/ServiceError",
+ "description": "The Service error details."
+ },
+ "providerErrorDetails": {
+ "$ref": "#/definitions/ProviderError",
+ "description": "The Provider error details."
+ },
+ "errorLevel": {
+ "description": "Error level of error.",
+ "type": "string"
+ },
+ "creationTime": {
+ "format": "date-time",
+ "description": "The creation time of job error.",
+ "type": "string"
+ },
+ "taskId": {
+ "description": "The Id of the task.",
+ "type": "string"
+ }
+ }
+ },
+ "JobProperties": {
+ "description": "Job custom data details.",
+ "type": "object",
+ "properties": {
+ "activityId": {
+ "description": "The activity id.",
+ "type": "string"
+ },
+ "scenarioName": {
+ "description": "The ScenarioName.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The DisplayName.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.",
+ "type": "string"
+ },
+ "stateDescription": {
+ "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.",
+ "type": "string"
+ },
+ "tasks": {
+ "description": "The tasks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ASRTask"
+ }
+ },
+ "errors": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorDetails"
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "allowedActions": {
+ "description": "The Allowed action the job.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetObjectId": {
+ "description": "The affected Object Id.",
+ "type": "string"
+ },
+ "targetObjectName": {
+ "description": "The name of the affected object.",
+ "type": "string"
+ },
+ "targetInstanceType": {
+ "description": "The type of the affected object which is of Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType class.",
+ "type": "string"
+ },
+ "customDetails": {
+ "$ref": "#/definitions/JobDetails",
+ "description": "The custom job details like test failover job details."
+ }
+ }
+ },
+ "JobQueryParameter": {
+ "description": "Query parameter to enumerate jobs.",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "description": "Date time to get jobs from.",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "Date time to get jobs upto.",
+ "type": "string"
+ },
+ "fabricId": {
+ "description": "The Id of the fabric to search jobs under.",
+ "type": "string"
+ },
+ "affectedObjectTypes": {
+ "description": "The type of objects.",
+ "type": "string"
+ },
+ "jobStatus": {
+ "description": "The states of the job to be filtered can be in.",
+ "type": "string"
+ },
+ "jobOutputType": {
+ "description": "The output type of the jobs.",
+ "enum": [
+ "Json",
+ "Xml",
+ "Excel"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExportJobOutputSerializationType",
+ "modelAsString": true
+ }
+ },
+ "jobName": {
+ "description": "The job Name.",
+ "type": "string"
+ },
+ "timezoneOffset": {
+ "format": "double",
+ "description": "The timezone offset for the location of the request (in minutes).",
+ "type": "number"
+ }
+ }
+ },
+ "JobStatusEventDetails": {
+ "description": "Model class for event details of a job status event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSpecificDetails"
+ }
+ ],
+ "properties": {
+ "jobId": {
+ "description": "Job arm id for the event.",
+ "type": "string"
+ },
+ "jobFriendlyName": {
+ "description": "JobName for the Event.",
+ "type": "string"
+ },
+ "jobStatus": {
+ "description": "JobStatus for the Event.",
+ "type": "string"
+ },
+ "affectedObjectType": {
+ "description": "AffectedObjectType for the event.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "JobStatus"
+ },
+ "JobTaskDetails": {
+ "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "jobTask": {
+ "$ref": "#/definitions/JobEntity",
+ "description": "The job entity."
+ }
+ },
+ "discriminator": "instanceType",
+ "x-ms-discriminator-value": "JobTaskDetails"
+ },
+ "KeyEncryptionKeyInfo": {
+ "description": "Key Encryption Key (KEK) information.",
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "The key URL / identifier.",
+ "type": "string"
+ },
+ "keyVaultResourceArmId": {
+ "description": "The KeyVault resource ARM Id for key.",
+ "type": "string"
+ }
+ }
+ },
+ "LogicalNetwork": {
+ "description": "Logical network data model.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LogicalNetworkProperties",
+ "description": "The Logical Network Properties."
+ }
+ }
+ },
+ "LogicalNetworkCollection": {
+ "description": "List of logical networks.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Logical Networks list details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogicalNetwork"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "LogicalNetworkProperties": {
+ "description": "Logical Network Properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The Friendly Name.",
+ "type": "string"
+ },
+ "networkVirtualizationStatus": {
+ "description": "A value indicating whether Network Virtualization is enabled for the logical network.",
+ "type": "string"
+ },
+ "logicalNetworkUsage": {
+ "description": "A value indicating whether logical network is used as private test network by test failover.",
+ "type": "string"
+ },
+ "logicalNetworkDefinitionsStatus": {
+ "description": "A value indicating whether logical network definitions are isolated.",
+ "type": "string"
+ }
+ }
+ },
+ "ManualActionTaskDetails": {
+ "description": "This class represents the manual action task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "instructions": {
+ "description": "The instructions.",
+ "type": "string"
+ },
+ "observation": {
+ "description": "The observation.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManualActionTaskDetails"
+ },
+ "MarsAgentDetails": {
+ "description": "Mars agent details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Mars agent Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Mars agent name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The Mars agent Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The Mars agent Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the Mars agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the Mars agent.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MasterTargetServer": {
+ "description": "Details of a Master Target Server.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The server Id.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the server.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The server name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type of the server.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The version of the scout component on the server.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the server.",
+ "type": "string"
+ },
+ "versionStatus": {
+ "description": "Version status.",
+ "type": "string"
+ },
+ "retentionVolumes": {
+ "description": "The retention volumes of Master target Server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RetentionVolume"
+ }
+ },
+ "dataStores": {
+ "description": "The list of data stores in the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataStore"
+ }
+ },
+ "validationErrors": {
+ "description": "Validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "healthErrors": {
+ "description": "Health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "diskCount": {
+ "format": "int32",
+ "description": "Disk count of the master target.",
+ "type": "integer"
+ },
+ "osVersion": {
+ "description": "OS Version of the master target.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "marsAgentVersion": {
+ "description": "MARS agent version.",
+ "type": "string"
+ },
+ "marsAgentExpiryDate": {
+ "format": "date-time",
+ "description": "MARS agent expiry date.",
+ "type": "string"
+ },
+ "agentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "Agent version details."
+ },
+ "marsAgentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "Mars agent version details."
+ }
+ }
+ },
+ "MigrateInput": {
+ "description": "Input for migrate.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrateInputProperties",
+ "description": "Migrate input properties."
+ }
+ }
+ },
+ "MigrateInputProperties": {
+ "description": "Migrate input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/MigrateProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "MigrateProviderSpecificInput": {
+ "description": "Migrate provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "MigrationItem": {
+ "description": "Migration item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrationItemProperties",
+ "description": "The migration item properties."
+ }
+ }
+ },
+ "MigrationItemCollection": {
+ "description": "Migration item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of migration items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationItemProperties": {
+ "description": "Migration item properties.",
+ "type": "object",
+ "properties": {
+ "machineName": {
+ "description": "The on-premise virtual machine name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "policyId": {
+ "description": "The ARM Id of policy governing this item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "policyFriendlyName": {
+ "description": "The name of policy governing this item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "migrationState": {
+ "description": "The migration status.",
+ "enum": [
+ "None",
+ "EnableMigrationInProgress",
+ "EnableMigrationFailed",
+ "DisableMigrationInProgress",
+ "DisableMigrationFailed",
+ "InitialSeedingInProgress",
+ "InitialSeedingFailed",
+ "Replicating",
+ "MigrationInProgress",
+ "MigrationSucceeded",
+ "MigrationFailed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MigrationState",
+ "modelAsString": true
+ }
+ },
+ "migrationStateDescription": {
+ "description": "The migration state description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastTestMigrationTime": {
+ "format": "date-time",
+ "description": "The last test migration time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastTestMigrationStatus": {
+ "description": "The status of the last test migration.",
+ "type": "string",
+ "readOnly": true
+ },
+ "testMigrateState": {
+ "description": "The test migrate state.",
+ "enum": [
+ "None",
+ "TestMigrationInProgress",
+ "TestMigrationSucceeded",
+ "TestMigrationFailed",
+ "TestMigrationCleanupInProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TestMigrationState",
+ "modelAsString": true
+ }
+ },
+ "testMigrateStateDescription": {
+ "description": "The test migrate state description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The consolidated health.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The list of health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ },
+ "allowedOperations": {
+ "description": "The allowed operations on the migration item based on the current migration state of the item.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup",
+ "Migrate",
+ "StartResync"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MigrationItemOperation",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "currentJob": {
+ "$ref": "#/definitions/CurrentJobDetails",
+ "description": "The current job details.",
+ "readOnly": true
+ },
+ "eventCorrelationId": {
+ "description": "The correlation Id for events associated with this migration item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/MigrationProviderSpecificSettings",
+ "description": "The migration provider custom settings."
+ }
+ }
+ },
+ "MigrationItemsQueryParameter": {
+ "description": "Query parameter to enumerate migration items.",
+ "type": "object",
+ "properties": {
+ "sourceFabricName": {
+ "description": "The source fabric name filter.",
+ "type": "string"
+ },
+ "sourceContainerName": {
+ "description": "The source container name filter.",
+ "type": "string"
+ },
+ "instanceType": {
+ "description": "The replication provider type.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationProviderSpecificSettings": {
+ "description": "Migration provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "MigrationRecoveryPoint": {
+ "description": "Recovery point for a migration item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrationRecoveryPointProperties",
+ "description": "Recovery point properties."
+ }
+ }
+ },
+ "MigrationRecoveryPointCollection": {
+ "description": "Collection of migration recovery points.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The migration recovery point details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrationRecoveryPoint"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationRecoveryPointProperties": {
+ "description": "Migration item recovery point properties.",
+ "type": "object",
+ "properties": {
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "NotSpecified",
+ "ApplicationConsistent",
+ "CrashConsistent"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MigrationRecoveryPointType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "MobilityServiceUpdate": {
+ "description": "The Mobility Service update details.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version of the latest update.",
+ "type": "string"
+ },
+ "rebootStatus": {
+ "description": "The reboot status of the update - whether it is required or not.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type.",
+ "type": "string"
+ }
+ }
+ },
+ "Network": {
+ "description": "Network model.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NetworkProperties",
+ "description": "The Network Properties."
+ }
+ }
+ },
+ "NetworkCollection": {
+ "description": "List of networks.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Networks list details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Network"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "NetworkMapping": {
+ "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate extensions in subsequent versions.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NetworkMappingProperties",
+ "description": "The Network Mapping Properties."
+ }
+ }
+ },
+ "NetworkMappingCollection": {
+ "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Network Mappings list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "NetworkMappingFabricSpecificSettings": {
+ "description": "Network Mapping fabric specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "NetworkMappingProperties": {
+ "description": "Network Mapping Properties.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "The pairing state for network mapping.",
+ "type": "string"
+ },
+ "primaryNetworkFriendlyName": {
+ "description": "The primary network friendly name.",
+ "type": "string"
+ },
+ "primaryNetworkId": {
+ "description": "The primary network id for network mapping.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The primary fabric friendly name.",
+ "type": "string"
+ },
+ "recoveryNetworkFriendlyName": {
+ "description": "The recovery network friendly name.",
+ "type": "string"
+ },
+ "recoveryNetworkId": {
+ "description": "The recovery network id for network mapping.",
+ "type": "string"
+ },
+ "recoveryFabricArmId": {
+ "description": "The recovery fabric ARM id.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The recovery fabric friendly name.",
+ "type": "string"
+ },
+ "fabricSpecificSettings": {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings",
+ "description": "The fabric specific settings."
+ }
+ }
+ },
+ "NetworkProperties": {
+ "description": "Network Properties.",
+ "type": "object",
+ "properties": {
+ "fabricType": {
+ "description": "The Fabric Type.",
+ "type": "string"
+ },
+ "subnets": {
+ "description": "The List of subnets.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subnet"
+ }
+ },
+ "friendlyName": {
+ "description": "The Friendly Name.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "The Network Type.",
+ "type": "string"
+ }
+ }
+ },
+ "NewProtectionProfile": {
+ "description": "New Protection profile input.",
+ "required": [
+ "policyName",
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionProfileCustomDetails"
+ }
+ ],
+ "properties": {
+ "policyName": {
+ "description": "The protection profile input.",
+ "type": "string"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "New"
+ },
+ "NewRecoveryVirtualNetwork": {
+ "description": "Recovery virtual network input to create new virtual network from given source network.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryVirtualNetworkResourceGroupName": {
+ "description": "The name of the resource group to be used to create the recovery virtual network. If absent, target network would be created in the same resource group as target VM.",
+ "type": "string"
+ },
+ "recoveryVirtualNetworkName": {
+ "description": "The recovery virtual network name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "New"
+ },
+ "OperationsDiscovery": {
+ "description": "Operations discovery class.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release).",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/Display",
+ "description": "Object type."
+ },
+ "origin": {
+ "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\".",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationsDiscoveryProperties",
+ "description": "Properties. Reserved for future use."
+ }
+ }
+ },
+ "OperationsDiscoveryCollection": {
+ "description": "Collection of ClientDiscovery details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The ClientDiscovery details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationsDiscovery"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationsDiscoveryProperties": {
+ "description": "ClientDiscovery properties.",
+ "type": "object",
+ "properties": {}
+ },
+ "OSDetails": {
+ "description": "Disk Details.",
+ "type": "object",
+ "properties": {
+ "osType": {
+ "description": "VM Disk details.",
+ "type": "string"
+ },
+ "productType": {
+ "description": "Product type.",
+ "type": "string"
+ },
+ "osEdition": {
+ "description": "The OSEdition.",
+ "type": "string"
+ },
+ "oSVersion": {
+ "description": "The OS Version.",
+ "type": "string"
+ },
+ "oSMajorVersion": {
+ "description": "The OS Major Version.",
+ "type": "string"
+ },
+ "oSMinorVersion": {
+ "description": "The OS Minor Version.",
+ "type": "string"
+ }
+ }
+ },
+ "OSDiskDetails": {
+ "description": "Details of the OS Disk.",
+ "type": "object",
+ "properties": {
+ "osVhdId": {
+ "description": "The id of the disk containing the OS.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "The OS disk VHD name.",
+ "type": "string"
+ }
+ }
+ },
+ "OSVersionWrapper": {
+ "description": "Wrapper model for OSVersion to include version and service pack info.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version.",
+ "type": "string"
+ },
+ "servicePack": {
+ "description": "The service pack.",
+ "type": "string"
+ }
+ }
+ },
+ "PlannedFailoverInput": {
+ "description": "Input definition for planned failover.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PlannedFailoverInputProperties",
+ "description": "Planned failover input properties."
+ }
+ }
+ },
+ "PlannedFailoverInputProperties": {
+ "description": "Input definition for planned failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "PlannedFailoverProviderSpecificFailoverInput": {
+ "description": "Provider specific failover input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "Policy": {
+ "description": "Protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PolicyProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "PolicyCollection": {
+ "description": "Protection Profile Collection details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The policy details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Policy"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "PolicyProperties": {
+ "description": "Protection profile custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The FriendlyName.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails",
+ "description": "The ReplicationChannelSetting."
+ }
+ }
+ },
+ "PolicyProviderSpecificDetails": {
+ "description": "Base class for Provider specific details for policies.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "PolicyProviderSpecificInput": {
+ "description": "Base class for provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ProcessServer": {
+ "description": "Details of the Process Server.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The Process Server's friendly name.",
+ "type": "string"
+ },
+ "id": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the server.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type of the server.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The version of the scout component on the server.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the server.",
+ "type": "string"
+ },
+ "versionStatus": {
+ "description": "Version status.",
+ "type": "string"
+ },
+ "mobilityServiceUpdates": {
+ "description": "The list of the mobility service updates available on the Process Server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MobilityServiceUpdate"
+ }
+ },
+ "hostId": {
+ "description": "The agent generated Id.",
+ "type": "string"
+ },
+ "machineCount": {
+ "description": "The servers configured with this PS.",
+ "type": "string"
+ },
+ "replicationPairCount": {
+ "description": "The number of replication pairs configured in this PS.",
+ "type": "string"
+ },
+ "systemLoad": {
+ "description": "The percentage of the system load.",
+ "type": "string"
+ },
+ "systemLoadStatus": {
+ "description": "The system load status.",
+ "type": "string"
+ },
+ "cpuLoad": {
+ "description": "The percentage of the CPU load.",
+ "type": "string"
+ },
+ "cpuLoadStatus": {
+ "description": "The CPU load status.",
+ "type": "string"
+ },
+ "totalMemoryInBytes": {
+ "format": "int64",
+ "description": "The total memory.",
+ "type": "integer"
+ },
+ "availableMemoryInBytes": {
+ "format": "int64",
+ "description": "The available memory.",
+ "type": "integer"
+ },
+ "memoryUsageStatus": {
+ "description": "The memory usage status.",
+ "type": "string"
+ },
+ "totalSpaceInBytes": {
+ "format": "int64",
+ "description": "The total space.",
+ "type": "integer"
+ },
+ "availableSpaceInBytes": {
+ "format": "int64",
+ "description": "The available space.",
+ "type": "integer"
+ },
+ "spaceUsageStatus": {
+ "description": "The space usage status.",
+ "type": "string"
+ },
+ "psServiceStatus": {
+ "description": "The PS service status.",
+ "type": "string"
+ },
+ "sslCertExpiryDate": {
+ "format": "date-time",
+ "description": "The PS SSL cert expiry date.",
+ "type": "string"
+ },
+ "sslCertExpiryRemainingDays": {
+ "format": "int32",
+ "description": "CS SSL cert expiry date.",
+ "type": "integer"
+ },
+ "osVersion": {
+ "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "Health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "agentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The agent version details."
+ },
+ "health": {
+ "description": "The health of Process Server.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "psStatsRefreshTime": {
+ "format": "date-time",
+ "description": "The process server stats refresh time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "throughputUploadPendingDataInBytes": {
+ "format": "int64",
+ "description": "The uploading pending data in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "throughputInMBps": {
+ "format": "int64",
+ "description": "The throughput in MBps.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "throughputInBytes": {
+ "format": "int64",
+ "description": "The throughput in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "throughputStatus": {
+ "description": "The throughput status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "marsCommunicationStatus": {
+ "description": "The MARS communication status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "marsRegistrationStatus": {
+ "description": "The MARS registration status.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProcessServerDetails": {
+ "description": "Process server details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The process server Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The process server name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The process server Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The process server Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipAddresses": {
+ "description": "The list of IP addresses for communicating with the RCM component.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the process server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "totalMemoryInBytes": {
+ "format": "int64",
+ "description": "The total memory.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "availableMemoryInBytes": {
+ "format": "int64",
+ "description": "The available memory.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "usedMemoryInBytes": {
+ "format": "int64",
+ "description": "The used memory.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "memoryUsagePercentage": {
+ "format": "double",
+ "description": "The memory usage percentage.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalSpaceInBytes": {
+ "format": "int64",
+ "description": "The total disk space.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "availableSpaceInBytes": {
+ "format": "int64",
+ "description": "The available disk space.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "usedSpaceInBytes": {
+ "format": "int64",
+ "description": "The used disk space.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "freeSpacePercentage": {
+ "format": "double",
+ "description": "The free disk space percentage.",
+ "type": "number",
+ "readOnly": true
+ },
+ "throughputUploadPendingDataInBytes": {
+ "format": "int64",
+ "description": "The uploading pending data in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "throughputInBytes": {
+ "format": "int64",
+ "description": "The throughput in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "processorUsagePercentage": {
+ "format": "double",
+ "description": "The processor usage percentage.",
+ "type": "number",
+ "readOnly": true
+ },
+ "throughputStatus": {
+ "description": "The throughput status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "systemLoad": {
+ "format": "int64",
+ "description": "The system load.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "systemLoadStatus": {
+ "description": "The system load status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "diskUsageStatus": {
+ "description": "The disk usage status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "memoryUsageStatus": {
+ "description": "The memory usage status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "processorUsageStatus": {
+ "description": "The processor usage status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "health": {
+ "description": "The health of the process server.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "The protected item count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "historicHealth": {
+ "description": "The historic health of the process server based on the health in last 24 hours.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProtectableItem": {
+ "description": "Replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectableItemProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ProtectableItemCollection": {
+ "description": "Protectable item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Protectable item details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectableItem"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectableItemProperties": {
+ "description": "Replication protected item custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "The protection status.",
+ "type": "string"
+ },
+ "replicationProtectedItemId": {
+ "description": "The ARM resource of protected items.",
+ "type": "string"
+ },
+ "recoveryServicesProviderId": {
+ "description": "The recovery provider ARM Id.",
+ "type": "string"
+ },
+ "protectionReadinessErrors": {
+ "description": "The Current protection readiness errors.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "supportedReplicationProviders": {
+ "description": "The list of replication providers supported for the protectable item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "customDetails": {
+ "$ref": "#/definitions/ConfigurationSettings",
+ "description": "The Replication provider custom settings."
+ }
+ }
+ },
+ "ProtectableItemQueryParameter": {
+ "description": "Query parameter to enumerate Protectable items.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "State of the Protectable item query filter.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItemsQueryParameter": {
+ "description": "Query parameter to enumerate protected items.",
+ "type": "object",
+ "properties": {
+ "sourceFabricName": {
+ "description": "The source fabric name filter.",
+ "type": "string"
+ },
+ "recoveryPlanName": {
+ "description": "The recovery plan filter.",
+ "type": "string"
+ },
+ "sourceFabricLocation": {
+ "description": "The source fabric location filter.",
+ "type": "string"
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id filter.",
+ "type": "string"
+ },
+ "vCenterName": {
+ "description": "The vCenter name filter.",
+ "type": "string"
+ },
+ "instanceType": {
+ "description": "The replication provider type.",
+ "type": "string"
+ },
+ "multiVmGroupCreateOption": {
+ "description": "Whether Multi VM group is auto created or specified by user.",
+ "enum": [
+ "AutoCreated",
+ "UserSpecified"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmGroupCreateOption",
+ "modelAsString": true
+ }
+ },
+ "processServerId": {
+ "description": "The process server Id filter.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainer": {
+ "description": "Protection container details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionContainerProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ProtectionContainerCollection": {
+ "description": "Protection Container collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Protection Container details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainerFabricSpecificDetails": {
+ "description": "Base class for fabric specific details of container.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProtectionContainerMapping": {
+ "description": "Protection container mapping object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionContainerMappingProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ProtectionContainerMappingCollection": {
+ "description": "Protection container mapping collection class.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of container mappings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ },
+ "nextLink": {
+ "description": "Link to fetch rest of the data.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainerMappingProperties": {
+ "description": "Protection container mapping properties.",
+ "type": "object",
+ "properties": {
+ "targetProtectionContainerId": {
+ "description": "Paired protection container ARM ID.",
+ "type": "string"
+ },
+ "targetProtectionContainerFriendlyName": {
+ "description": "Friendly name of paired container.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails",
+ "description": "Provider specific provider details."
+ },
+ "health": {
+ "description": "Health of pairing.",
+ "type": "string"
+ },
+ "healthErrorDetails": {
+ "description": "Health error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "policyId": {
+ "description": "Policy ARM Id.",
+ "type": "string"
+ },
+ "state": {
+ "description": "Association Status.",
+ "type": "string"
+ },
+ "sourceProtectionContainerFriendlyName": {
+ "description": "Friendly name of source protection container.",
+ "type": "string"
+ },
+ "sourceFabricFriendlyName": {
+ "description": "Friendly name of source fabric.",
+ "type": "string"
+ },
+ "targetFabricFriendlyName": {
+ "description": "Friendly name of target fabric.",
+ "type": "string"
+ },
+ "policyFriendlyName": {
+ "description": "Friendly name of replication policy.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainerMappingProviderSpecificDetails": {
+ "description": "Container mapping provider specific details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ProtectionContainerProperties": {
+ "description": "Protection profile custom data details.",
+ "type": "object",
+ "properties": {
+ "fabricFriendlyName": {
+ "description": "Fabric friendly name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "fabricType": {
+ "description": "The fabric type.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "Number of protected PEs.",
+ "type": "integer"
+ },
+ "pairingStatus": {
+ "description": "The pairing status of this cloud.",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role of this cloud.",
+ "type": "string"
+ },
+ "fabricSpecificDetails": {
+ "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails",
+ "description": "Fabric specific details."
+ }
+ }
+ },
+ "ProtectionProfileCustomDetails": {
+ "description": "Protection Profile custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "ProviderError": {
+ "description": "This class contains the error details per object.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "The Error code.",
+ "type": "integer"
+ },
+ "errorMessage": {
+ "description": "The Error message.",
+ "type": "string"
+ },
+ "errorId": {
+ "description": "The Provider error Id.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "The possible causes for the error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "The recommended action to resolve the error.",
+ "type": "string"
+ }
+ }
+ },
+ "ProviderSpecificRecoveryPointDetails": {
+ "description": "Replication provider specific recovery point details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the provider type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "PushInstallerDetails": {
+ "description": "Push installer details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The push installer Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The push installer name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The push installer Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The push installer Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the push installer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the push installer.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "RcmProxyDetails": {
+ "description": "RCM proxy details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The RCM proxy Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The RCM proxy name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The RCM proxy Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The RCM proxy Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientAuthenticationType": {
+ "description": "The client authentication type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the RCM proxy.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the RCM proxy.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "RecoveryAvailabilitySetCustomDetails": {
+ "description": "Recovery Availability Set custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "RecoveryPlan": {
+ "description": "Recovery plan details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanProperties",
+ "description": "The custom details."
+ }
+ }
+ },
+ "RecoveryPlanA2ADetails": {
+ "description": "Recovery plan A2A specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "primaryZone": {
+ "description": "The primary zone.",
+ "type": "string"
+ },
+ "recoveryZone": {
+ "description": "The recovery zone.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "RecoveryPlanA2AFailoverInput": {
+ "description": "Recovery plan A2A failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestCrashConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "A2ARpRecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "cloudServiceCreationOption": {
+ "description": "A value indicating whether to use recovery cloud service for TFO or not.",
+ "type": "string"
+ },
+ "multiVmSyncPointOption": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "enum": [
+ "UseMultiVmSyncRecoveryPoint",
+ "UsePerVmRecoveryPoint"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmSyncPointOption",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "RecoveryPlanA2AInput": {
+ "description": "Recovery plan A2A input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "primaryZone": {
+ "description": "The primary zone.",
+ "type": "string"
+ },
+ "recoveryZone": {
+ "description": "The recovery zone.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "RecoveryPlanAction": {
+ "description": "Recovery plan action details.",
+ "required": [
+ "actionName",
+ "failoverTypes",
+ "failoverDirections",
+ "customDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "actionName": {
+ "description": "The action name.",
+ "type": "string"
+ },
+ "failoverTypes": {
+ "description": "The list of failover types.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "ReverseReplicate",
+ "Commit",
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover",
+ "TestFailoverCleanup",
+ "Failback",
+ "FinalizeFailback",
+ "CancelFailover",
+ "ChangePit",
+ "RepairReplication",
+ "SwitchProtection",
+ "CompleteMigration"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ReplicationProtectedItemOperation",
+ "modelAsString": true
+ }
+ }
+ },
+ "failoverDirections": {
+ "description": "The list of failover directions.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": true
+ }
+ }
+ },
+ "customDetails": {
+ "$ref": "#/definitions/RecoveryPlanActionDetails",
+ "description": "The custom details."
+ }
+ }
+ },
+ "RecoveryPlanActionDetails": {
+ "description": "Recovery plan action custom details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanAutomationRunbookActionDetails": {
+ "description": "Recovery plan Automation runbook action details.",
+ "required": [
+ "fabricLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanActionDetails"
+ }
+ ],
+ "properties": {
+ "runbookId": {
+ "description": "The runbook ARM Id.",
+ "type": "string"
+ },
+ "timeout": {
+ "description": "The runbook timeout.",
+ "type": "string"
+ },
+ "fabricLocation": {
+ "description": "The fabric location.",
+ "enum": [
+ "Primary",
+ "Recovery"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanActionLocation",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AutomationRunbookActionDetails"
+ },
+ "RecoveryPlanCollection": {
+ "description": "Recovery plan collection details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of recovery plans.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPlanGroup": {
+ "description": "Recovery plan group details.",
+ "required": [
+ "groupType"
+ ],
+ "type": "object",
+ "properties": {
+ "groupType": {
+ "description": "The group type.",
+ "enum": [
+ "Shutdown",
+ "Boot",
+ "Failover"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanGroupType",
+ "modelAsString": true
+ }
+ },
+ "replicationProtectedItems": {
+ "description": "The list of protected items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProtectedItem"
+ }
+ },
+ "startGroupActions": {
+ "description": "The start group actions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanAction"
+ }
+ },
+ "endGroupActions": {
+ "description": "The end group actions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanAction"
+ }
+ }
+ }
+ },
+ "RecoveryPlanGroupTaskDetails": {
+ "description": "This class represents the recovery plan group task.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GroupTaskDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "groupId": {
+ "description": "The group identifier.",
+ "type": "string"
+ },
+ "rpGroupType": {
+ "description": "The group type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType",
+ "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails"
+ },
+ "RecoveryPlanHyperVReplicaAzureFailbackInput": {
+ "description": "Recovery plan HVR Azure failback input.",
+ "required": [
+ "dataSyncOption",
+ "recoveryVmCreationOption"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "dataSyncOption": {
+ "description": "The data sync option.",
+ "enum": [
+ "ForDownTime",
+ "ForSynchronization"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSyncStatus",
+ "modelAsString": true
+ }
+ },
+ "recoveryVmCreationOption": {
+ "description": "The ALR option.",
+ "enum": [
+ "CreateVmIfNotFound",
+ "NoAction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AlternateLocationRecoveryOption",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzureFailback"
+ },
+ "RecoveryPlanHyperVReplicaAzureFailoverInput": {
+ "description": "Recovery plan HVR Azure failover input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "The primary KEK certificate PFX.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "The secondary KEK certificate PFX.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HyperVReplicaAzureRpRecoveryPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "RecoveryPlanInMageAzureV2FailoverInput": {
+ "description": "Recovery plan InMageAzureV2 failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestCrashConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InMageV2RpRecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "useMultiVmSyncPoint": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "RecoveryPlanInMageFailoverInput": {
+ "description": "Recovery plan InMage failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "LatestTime",
+ "LatestTag",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RpInMageRecoveryPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "RecoveryPlanInMageRcmFailbackFailoverInput": {
+ "description": "Recovery plan InMageRcmFailback failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "ApplicationConsistent",
+ "CrashConsistent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InMageRcmFailbackRecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "useMultiVmSyncPoint": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "RecoveryPlanInMageRcmFailoverInput": {
+ "description": "Recovery plan InMageRcm failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestCrashConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanPointType",
+ "modelAsString": true
+ }
+ },
+ "useMultiVmSyncPoint": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "RecoveryPlanManualActionDetails": {
+ "description": "Recovery plan manual action details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanActionDetails"
+ }
+ ],
+ "properties": {
+ "description": {
+ "description": "The manual action description.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManualActionDetails"
+ },
+ "RecoveryPlanPlannedFailoverInput": {
+ "description": "Recovery plan planned failover input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties",
+ "description": "The recovery plan planned failover input properties."
+ }
+ }
+ },
+ "RecoveryPlanPlannedFailoverInputProperties": {
+ "description": "Recovery plan planned failover input properties.",
+ "required": [
+ "failoverDirection"
+ ],
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "The failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": true
+ }
+ },
+ "providerSpecificDetails": {
+ "description": "The provider specific properties.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ }
+ }
+ },
+ "RecoveryPlanProperties": {
+ "description": "Recovery plan properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name.",
+ "type": "string"
+ },
+ "primaryFabricId": {
+ "description": "The primary fabric Id.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The primary fabric friendly name.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The recovery fabric Id.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The recovery fabric friendly name.",
+ "type": "string"
+ },
+ "failoverDeploymentModel": {
+ "description": "The failover deployment model.",
+ "type": "string"
+ },
+ "replicationProviders": {
+ "description": "The list of replication providers.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allowedOperations": {
+ "description": "The list of allowed operations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "lastPlannedFailoverTime": {
+ "format": "date-time",
+ "description": "The start time of the last planned failover.",
+ "type": "string"
+ },
+ "lastUnplannedFailoverTime": {
+ "format": "date-time",
+ "description": "The start time of the last unplanned failover.",
+ "type": "string"
+ },
+ "lastTestFailoverTime": {
+ "format": "date-time",
+ "description": "The start time of the last test failover.",
+ "type": "string"
+ },
+ "currentScenario": {
+ "$ref": "#/definitions/CurrentScenarioDetails",
+ "description": "The current scenario details."
+ },
+ "currentScenarioStatus": {
+ "description": "The recovery plan status.",
+ "type": "string"
+ },
+ "currentScenarioStatusDescription": {
+ "description": "The recovery plan status description.",
+ "type": "string"
+ },
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ },
+ "providerSpecificDetails": {
+ "description": "The provider id and provider specific details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificDetails"
+ }
+ }
+ }
+ },
+ "RecoveryPlanProtectedItem": {
+ "description": "Recovery plan protected item.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM Id of the recovery plan protected item.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPlanProviderSpecificDetails": {
+ "description": "Recovery plan provider specific details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanProviderSpecificFailoverInput": {
+ "description": "Recovery plan provider specific failover input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanProviderSpecificInput": {
+ "description": "Recovery plan provider specific input base class.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanScriptActionDetails": {
+ "description": "Recovery plan script action details.",
+ "required": [
+ "path",
+ "fabricLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanActionDetails"
+ }
+ ],
+ "properties": {
+ "path": {
+ "description": "The script path.",
+ "type": "string"
+ },
+ "timeout": {
+ "description": "The script timeout.",
+ "type": "string"
+ },
+ "fabricLocation": {
+ "description": "The fabric location.",
+ "enum": [
+ "Primary",
+ "Recovery"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanActionLocation",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ScriptActionDetails"
+ },
+ "RecoveryPlanShutdownGroupTaskDetails": {
+ "description": "This class represents the recovery plan shutdown group task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanGroupTaskDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails"
+ },
+ "RecoveryPlanTestFailoverCleanupInput": {
+ "description": "Recovery plan test failover cleanup input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties",
+ "description": "The recovery plan test failover cleanup input properties."
+ }
+ }
+ },
+ "RecoveryPlanTestFailoverCleanupInputProperties": {
+ "description": "Recovery plan test failover cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "The test failover cleanup comments.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPlanTestFailoverInput": {
+ "description": "Recovery plan test failover input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties",
+ "description": "The recovery plan test failover input properties."
+ }
+ }
+ },
+ "RecoveryPlanTestFailoverInputProperties": {
+ "description": "Recovery plan test failover input properties.",
+ "required": [
+ "failoverDirection",
+ "networkType"
+ ],
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "The failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": true
+ }
+ },
+ "networkType": {
+ "description": "The network type to be used for test failover.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The Id of the network to be used for test failover.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "description": "The provider specific properties.",
+ "maxLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ }
+ }
+ },
+ "RecoveryPlanUnplannedFailoverInput": {
+ "description": "Recovery plan unplanned failover input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties",
+ "description": "The recovery plan unplanned failover input properties."
+ }
+ }
+ },
+ "RecoveryPlanUnplannedFailoverInputProperties": {
+ "description": "Recovery plan unplanned failover input properties.",
+ "required": [
+ "failoverDirection",
+ "sourceSiteOperations"
+ ],
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "The failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": true
+ }
+ },
+ "sourceSiteOperations": {
+ "description": "A value indicating whether source site operations are required.",
+ "enum": [
+ "Required",
+ "NotRequired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SourceSiteOperations",
+ "modelAsString": true
+ }
+ },
+ "providerSpecificDetails": {
+ "description": "The provider specific properties.",
+ "maxLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ }
+ }
+ },
+ "RecoveryPoint": {
+ "description": "Recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPointProperties",
+ "description": "The recovery point properties."
+ }
+ }
+ },
+ "RecoveryPointCollection": {
+ "description": "Collection of recovery point details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The recovery point details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPointProperties": {
+ "description": "Recovery point properties.",
+ "type": "object",
+ "properties": {
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type: ApplicationConsistent, CrashConsistent.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails",
+ "description": "The provider specific details for the recovery point."
+ }
+ }
+ },
+ "RecoveryProximityPlacementGroupCustomDetails": {
+ "description": "Recovery Proximity placement group custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "RecoveryResourceGroupCustomDetails": {
+ "description": "Recovery Resource Group custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "RecoveryServicesProvider": {
+ "description": "Provider details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryServicesProviderProperties",
+ "description": "Provider properties."
+ }
+ }
+ },
+ "RecoveryServicesProviderCollection": {
+ "description": "Collection of providers.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Servers details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryServicesProviderProperties": {
+ "description": "Recovery services provider properties.",
+ "type": "object",
+ "properties": {
+ "fabricType": {
+ "description": "Type of the site.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of the DRA.",
+ "type": "string"
+ },
+ "providerVersion": {
+ "description": "The provider version.",
+ "type": "string"
+ },
+ "serverVersion": {
+ "description": "The fabric provider.",
+ "type": "string"
+ },
+ "providerVersionState": {
+ "description": "DRA version status.",
+ "type": "string"
+ },
+ "providerVersionExpiryDate": {
+ "format": "date-time",
+ "description": "Expiry date of the version.",
+ "type": "string"
+ },
+ "fabricFriendlyName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "lastHeartBeat": {
+ "format": "date-time",
+ "description": "Time when last heartbeat was sent by the DRA.",
+ "type": "string"
+ },
+ "connectionStatus": {
+ "description": "A value indicating whether DRA is responsive.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "Number of protected VMs currently managed by the DRA.",
+ "type": "integer"
+ },
+ "allowedScenarios": {
+ "description": "The scenarios allowed on this provider.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "healthErrorDetails": {
+ "description": "The recovery services provider health error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "draIdentifier": {
+ "description": "The DRA Id.",
+ "type": "string"
+ },
+ "machineId": {
+ "description": "The machine Id.",
+ "type": "string"
+ },
+ "machineName": {
+ "description": "The machine name.",
+ "type": "string"
+ },
+ "biosId": {
+ "description": "The Bios Id.",
+ "type": "string"
+ },
+ "authenticationIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The authentication identity details."
+ },
+ "resourceAccessIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The resource access identity details."
+ },
+ "dataPlaneAuthenticationIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The data plane authentication identity details."
+ },
+ "providerVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The provider version details."
+ }
+ }
+ },
+ "RecoveryVirtualNetworkCustomDetails": {
+ "description": "Recovery Virtual network custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "RemoveDisksInput": {
+ "description": "Input for remove disk(s) operation.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RemoveDisksInputProperties",
+ "description": "Remove disk input properties."
+ }
+ }
+ },
+ "RemoveDisksInputProperties": {
+ "description": "Remove Disk input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/RemoveDisksProviderSpecificInput",
+ "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null."
+ }
+ }
+ },
+ "RemoveDisksProviderSpecificInput": {
+ "description": "Remove Disk provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RemoveProtectionContainerMappingInput": {
+ "description": "Container unpairing input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties",
+ "description": "Configure protection input properties."
+ }
+ }
+ },
+ "RemoveProtectionContainerMappingInputProperties": {
+ "description": "Unpairing input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput",
+ "description": "Provider specific input for unpairing."
+ }
+ }
+ },
+ "RenewCertificateInput": {
+ "description": "Certificate renewal input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RenewCertificateInputProperties",
+ "description": "Renew certificate input properties."
+ }
+ }
+ },
+ "RenewCertificateInputProperties": {
+ "description": "Renew Certificate input properties.",
+ "type": "object",
+ "properties": {
+ "renewCertificateType": {
+ "description": "Renew certificate type.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationAgentDetails": {
+ "description": "Replication agent details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The replication agent Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The replication agent name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The replication agent Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The replication agent Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the replication agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the replication agent.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ReplicationEligibilityResults": {
+ "description": "Replication eligibility results response model.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets the name of this object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets the object type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets Unique ARM identifier for this object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/ReplicationEligibilityResultsProperties",
+ "description": "Gets properties model for replication eligibility results API.",
+ "readOnly": true
+ }
+ }
+ },
+ "ReplicationEligibilityResultsCollection": {
+ "description": "Replication eligibility results collection response model.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The replication eligibility results details.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationEligibilityResults"
+ }
+ }
+ }
+ },
+ "ReplicationEligibilityResultsErrorInfo": {
+ "description": "Error model that can be exposed to the user.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The error status.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationEligibilityResultsProperties": {
+ "description": "Properties model for replication eligibility results API.",
+ "type": "object",
+ "properties": {
+ "clientRequestId": {
+ "description": "The client request Id.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "errors": {
+ "description": "The error details.",
+ "type": "array",
+ "uniqueItems": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationEligibilityResultsErrorInfo"
+ }
+ }
+ }
+ },
+ "ReplicationGroupDetails": {
+ "description": "Replication group details. This will be used in case of San.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ReplicationGroupDetails"
+ },
+ "ReplicationProtectedItem": {
+ "description": "Replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationProtectedItemProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ReplicationProtectedItemCollection": {
+ "description": "Replication protected item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Replication protected item details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProtectedItemProperties": {
+ "description": "Replication protected item custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "protectedItemType": {
+ "description": "The type of protected item type.",
+ "type": "string"
+ },
+ "protectableItemId": {
+ "description": "The protected item ARM Id.",
+ "type": "string"
+ },
+ "recoveryServicesProviderId": {
+ "description": "The recovery provider ARM Id.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The friendly name of the primary fabric.",
+ "type": "string"
+ },
+ "primaryFabricProvider": {
+ "description": "The fabric provider of the primary fabric.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The friendly name of recovery fabric.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The Arm Id of recovery fabric.",
+ "type": "string"
+ },
+ "primaryProtectionContainerFriendlyName": {
+ "description": "The name of primary protection container friendly name.",
+ "type": "string"
+ },
+ "recoveryProtectionContainerFriendlyName": {
+ "description": "The name of recovery container friendly name.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "The protection status.",
+ "type": "string"
+ },
+ "protectionStateDescription": {
+ "description": "The protection state description.",
+ "type": "string"
+ },
+ "activeLocation": {
+ "description": "The Current active location of the PE.",
+ "type": "string"
+ },
+ "testFailoverState": {
+ "description": "The Test failover state.",
+ "type": "string"
+ },
+ "testFailoverStateDescription": {
+ "description": "The Test failover state description.",
+ "type": "string"
+ },
+ "allowedOperations": {
+ "description": "The allowed operations on the Replication protected item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "replicationHealth": {
+ "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.",
+ "type": "string"
+ },
+ "failoverHealth": {
+ "description": "The consolidated failover health for the VM.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "List of health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "policyId": {
+ "description": "The ID of Policy governing this PE.",
+ "type": "string"
+ },
+ "policyFriendlyName": {
+ "description": "The name of Policy governing this PE.",
+ "type": "string"
+ },
+ "lastSuccessfulFailoverTime": {
+ "format": "date-time",
+ "description": "The Last successful failover time.",
+ "type": "string"
+ },
+ "lastSuccessfulTestFailoverTime": {
+ "format": "date-time",
+ "description": "The Last successful test failover time.",
+ "type": "string"
+ },
+ "currentScenario": {
+ "$ref": "#/definitions/CurrentScenarioDetails",
+ "description": "The current scenario."
+ },
+ "failoverRecoveryPointId": {
+ "description": "The recovery point ARM Id to which the Vm was failed over.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings",
+ "description": "The Replication provider custom settings."
+ },
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "eventCorrelationId": {
+ "description": "The correlation Id for events associated with this protected item.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProtectionIntent": {
+ "description": "Replication protection intent.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationProtectionIntentProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ReplicationProtectionIntentCollection": {
+ "description": "Replication protection intent objects collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Replication protection intent details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationProtectionIntent"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProtectionIntentProperties": {
+ "description": "Replication protection intent custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "jobId": {
+ "description": "The job Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobState": {
+ "description": "The job state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isActive": {
+ "description": "A value indicating whether the intent object is active.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "creationTimeUTC": {
+ "description": "The creation time in UTC.",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ReplicationProtectionIntentProviderSpecificSettings",
+ "description": "The Replication provider custom settings."
+ }
+ }
+ },
+ "ReplicationProtectionIntentProviderSpecificSettings": {
+ "description": "Replication provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderContainerUnmappingInput": {
+ "description": "Provider specific input for unpairing operations.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProviderSpecificContainerCreationInput": {
+ "description": "Provider specific input for container creation operation.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderSpecificContainerMappingInput": {
+ "description": "Provider specific input for pairing operations.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderSpecificSettings": {
+ "description": "Replication provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderSpecificUpdateContainerMappingInput": {
+ "description": "Provider specific input for update pairing operations.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReprotectAgentDetails": {
+ "description": "Reprotect agent details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The reprotect agent Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The reprotect agent name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The reprotect agent Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The reprotect agent Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the reprotect agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the reprotect agent.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "The protected item count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "accessibleDatastores": {
+ "description": "The list of accessible datastores fetched from discovery.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "vcenterId": {
+ "description": "The Vcenter Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastDiscoveryInUtc": {
+ "format": "date-time",
+ "description": "The last time when SDS information discovered in SRS.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResolveHealthError": {
+ "description": "Resolve health errors input properties.",
+ "type": "object",
+ "properties": {
+ "healthErrorId": {
+ "description": "Health error id.",
+ "type": "string"
+ }
+ }
+ },
+ "ResolveHealthInput": {
+ "description": "Resolve health input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResolveHealthInputProperties",
+ "description": "Disable resolve health input properties."
+ }
+ }
+ },
+ "ResolveHealthInputProperties": {
+ "description": "Resolve health input properties.",
+ "type": "object",
+ "properties": {
+ "healthErrors": {
+ "description": "Health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResolveHealthError"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "Azure resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource Name",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource Type",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Resource Location",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceHealthSummary": {
+ "description": "Base class to define the health summary of the resources contained under an Arm resource.",
+ "type": "object",
+ "properties": {
+ "resourceCount": {
+ "format": "int32",
+ "description": "The count of total resources under the container.",
+ "type": "integer"
+ },
+ "issues": {
+ "description": "The list of summary of health errors across the resources under the container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthErrorSummary"
+ }
+ },
+ "categorizedResourceCounts": {
+ "description": "The categorized resource counts.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "ResumeJobParams": {
+ "description": "Resume job params.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResumeJobParamsProperties",
+ "description": "Resume job properties."
+ }
+ }
+ },
+ "ResumeJobParamsProperties": {
+ "description": "Resume job properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Resume job comments.",
+ "type": "string"
+ }
+ }
+ },
+ "ResyncInput": {
+ "description": "Resync input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResyncInputProperties",
+ "description": "Resync input properties."
+ }
+ }
+ },
+ "ResyncInputProperties": {
+ "description": "Resync input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ResyncProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "ResyncProviderSpecificInput": {
+ "description": "Resync provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RetentionVolume": {
+ "description": "The retention details of the MT.",
+ "type": "object",
+ "properties": {
+ "volumeName": {
+ "description": "The volume name.",
+ "type": "string"
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The volume capacity.",
+ "type": "integer"
+ },
+ "freeSpaceInBytes": {
+ "format": "int64",
+ "description": "The free space available in this volume.",
+ "type": "integer"
+ },
+ "thresholdPercentage": {
+ "format": "int32",
+ "description": "The threshold percentage.",
+ "type": "integer"
+ }
+ }
+ },
+ "ReverseReplicationInput": {
+ "description": "Reverse replication input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReverseReplicationInputProperties",
+ "description": "Reverse replication properties."
+ }
+ }
+ },
+ "ReverseReplicationInputProperties": {
+ "description": "Reverse replication input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput",
+ "description": "Provider specific reverse replication input."
+ }
+ }
+ },
+ "ReverseReplicationProviderSpecificInput": {
+ "description": "Provider specific reverse replication input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RoleAssignment": {
+ "description": "Azure role assignment details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM Id of the role assignment.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the role assignment.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Role assignment scope.",
+ "type": "string"
+ },
+ "principalId": {
+ "description": "Principal Id.",
+ "type": "string"
+ },
+ "roleDefinitionId": {
+ "description": "Role definition id.",
+ "type": "string"
+ }
+ }
+ },
+ "RunAsAccount": {
+ "description": "CS Accounts Details.",
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "description": "The CS RunAs account Id.",
+ "type": "string"
+ },
+ "accountName": {
+ "description": "The CS RunAs account name.",
+ "type": "string"
+ }
+ }
+ },
+ "ScriptActionTaskDetails": {
+ "description": "This class represents the script action task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The path.",
+ "type": "string"
+ },
+ "output": {
+ "description": "The output.",
+ "type": "string"
+ },
+ "isPrimarySideScript": {
+ "description": "A value indicating whether it is a primary side script or not.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "ScriptActionTaskDetails"
+ },
+ "ServiceError": {
+ "description": "ASR error model.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "Possible causes of error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "Recommended action to resolve error.",
+ "type": "string"
+ },
+ "activityId": {
+ "description": "Activity Id.",
+ "type": "string"
+ }
+ }
+ },
+ "IPConfigDetails": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "isPrimary": {
+ "type": "boolean"
+ },
+ "subnetName": {
+ "type": "string"
+ },
+ "staticIPAddress": {
+ "type": "string"
+ },
+ "ipAddressType": {
+ "type": "string"
+ },
+ "isSeletedForFailover": {
+ "type": "boolean"
+ },
+ "recoverySubnetName": {
+ "type": "string"
+ },
+ "recoveryStaticIPAddress": {
+ "type": "string"
+ },
+ "recoveryIPAddressType": {
+ "type": "string"
+ },
+ "recoveryPublicIPAddressId": {
+ "type": "string"
+ },
+ "recoveryLBBackendAddressPoolIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tfoSubnetName": {
+ "type": "string"
+ },
+ "tfoStaticIPAddress": {
+ "type": "string"
+ },
+ "tfoPublicIPAddressId": {
+ "type": "string"
+ },
+ "tfoLBBackendAddressPoolIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "IPConfigInputDetails": {
+ "type": "object",
+ "properties": {
+ "ipConfigName": {
+ "type": "string"
+ },
+ "isPrimary": {
+ "type": "boolean"
+ },
+ "isSeletedForFailover": {
+ "type": "boolean"
+ },
+ "recoverySubnetName": {
+ "type": "string"
+ },
+ "recoveryStaticIPAddress": {
+ "type": "string"
+ },
+ "recoveryPublicIPAddressId": {
+ "type": "string"
+ },
+ "recoveryLBBackendAddressPoolIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tfoSubnetName": {
+ "type": "string"
+ },
+ "tfoStaticIPAddress": {
+ "type": "string"
+ },
+ "tfoPublicIPAddressId": {
+ "type": "string"
+ },
+ "tfoLBBackendAddressPoolIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "StorageAccountCustomDetails": {
+ "description": "Storage account custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "StorageClassification": {
+ "description": "Storage object definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageClassificationProperties",
+ "description": "Properties of the storage object."
+ }
+ }
+ },
+ "StorageClassificationCollection": {
+ "description": "Collection of storage details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The storage details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageClassification"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassificationMapping": {
+ "description": "Storage mapping object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageClassificationMappingProperties",
+ "description": "Properties of the storage mapping object."
+ }
+ }
+ },
+ "StorageClassificationMappingCollection": {
+ "description": "Collection of storage mapping details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The storage details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageClassificationMapping"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassificationMappingInput": {
+ "description": "Storage mapping input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageMappingInputProperties",
+ "description": "Storage mapping input properties."
+ }
+ }
+ },
+ "StorageClassificationMappingProperties": {
+ "description": "Storage mapping properties.",
+ "type": "object",
+ "properties": {
+ "targetStorageClassificationId": {
+ "description": "Target storage object Id.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassificationProperties": {
+ "description": "Storage object properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the Storage classification.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageMappingInputProperties": {
+ "description": "Storage mapping input properties.",
+ "type": "object",
+ "properties": {
+ "targetStorageClassificationId": {
+ "description": "The ID of the storage object.",
+ "type": "string"
+ }
+ }
+ },
+ "Subnet": {
+ "description": "Subnets of the network.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The subnet name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The subnet friendly name.",
+ "type": "string"
+ },
+ "addressList": {
+ "description": "The list of addresses for the subnet.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SupportedOperatingSystems": {
+ "description": "Supported operating systems.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SupportedOSProperties",
+ "description": "The supported operating systems properties."
+ }
+ }
+ },
+ "SupportedOSDetails": {
+ "description": "Supported operating system details.",
+ "type": "object",
+ "properties": {
+ "osName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type.",
+ "type": "string"
+ },
+ "osVersions": {
+ "description": "The list of version for operating system.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSVersionWrapper"
+ }
+ }
+ }
+ },
+ "SupportedOSProperties": {
+ "description": "Supported operating systems properties.",
+ "type": "object",
+ "properties": {
+ "supportedOsList": {
+ "description": "The supported operating systems property list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedOSProperty"
+ }
+ }
+ }
+ },
+ "SupportedOSProperty": {
+ "description": "Supported operating systems property.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The replication provider type.",
+ "type": "string"
+ },
+ "supportedOs": {
+ "description": "The list of supported operating systems.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedOSDetails"
+ }
+ }
+ }
+ },
+ "SwitchProtectionInput": {
+ "description": "Switch protection input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SwitchProtectionInputProperties",
+ "description": "Switch protection properties."
+ }
+ }
+ },
+ "SwitchProtectionInputProperties": {
+ "description": "Switch protection input properties.",
+ "type": "object",
+ "properties": {
+ "replicationProtectedItemName": {
+ "description": "The unique replication protected item name.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/SwitchProtectionProviderSpecificInput",
+ "description": "Provider specific switch protection input."
+ }
+ }
+ },
+ "SwitchProtectionJobDetails": {
+ "description": "This class represents details for switch protection job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "newReplicationProtectedItemId": {
+ "description": "ARM Id of the new replication protected item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "SwitchProtectionJobDetails"
+ },
+ "SwitchProtectionProviderSpecificInput": {
+ "description": "Provider specific switch protection input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "TargetComputeSize": {
+ "description": "Represents applicable recovery vm sizes.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The Type of the object.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/TargetComputeSizeProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "TargetComputeSizeCollection": {
+ "description": "Target compute size collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of target compute sizes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TargetComputeSize"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "TargetComputeSizeProperties": {
+ "description": "Represents applicable recovery vm sizes properties.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Target compute size name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Target compute size display name.",
+ "type": "string"
+ },
+ "cpuCoresCount": {
+ "format": "int32",
+ "description": "The maximum cpu cores count supported by target compute size.",
+ "type": "integer"
+ },
+ "vCPUsAvailable": {
+ "format": "int32",
+ "description": "The Available vCPUs supported by target compute size.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "memoryInGB": {
+ "format": "double",
+ "description": "The maximum memory in GB supported by target compute size.",
+ "type": "number"
+ },
+ "maxDataDiskCount": {
+ "format": "int32",
+ "description": "The maximum data disks count supported by target compute size.",
+ "type": "integer"
+ },
+ "maxNicsCount": {
+ "format": "int32",
+ "description": "The maximum Nics count supported by target compute size.",
+ "type": "integer"
+ },
+ "errors": {
+ "description": "The reasons why the target compute size is not applicable for the protected item.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComputeSizeErrorDetails"
+ }
+ },
+ "highIopsSupported": {
+ "description": "The value indicating whether the target compute size supports high Iops.",
+ "type": "string"
+ },
+ "hyperVGenerations": {
+ "description": "The supported HyperV Generations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TaskTypeDetails": {
+ "description": "Task details based on specific task type.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The type of task details.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "TestFailoverCleanupInput": {
+ "description": "Input definition for test failover cleanup.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestFailoverCleanupInputProperties",
+ "description": "Test failover cleanup input properties."
+ }
+ }
+ },
+ "TestFailoverCleanupInputProperties": {
+ "description": "Input definition for test failover cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Test failover cleanup comments.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "TestFailoverInput": {
+ "description": "Input definition for test failover.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestFailoverInputProperties",
+ "description": "Test failover input properties."
+ }
+ }
+ },
+ "TestFailoverInputProperties": {
+ "description": "Input definition for test failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Test failover direction.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "Network type to be used for test failover.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The id of the network to be used for test failover.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "TestFailoverJobDetails": {
+ "description": "This class represents the details for a test failover job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "testFailoverStatus": {
+ "description": "The test failover status.",
+ "type": "string"
+ },
+ "comments": {
+ "description": "The test failover comments.",
+ "type": "string"
+ },
+ "networkName": {
+ "description": "The test network name.",
+ "type": "string"
+ },
+ "networkFriendlyName": {
+ "description": "The test network friendly name.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "The test network type (see TestFailoverInput enum for possible values).",
+ "type": "string"
+ },
+ "protectedItemDetails": {
+ "description": "The test VM details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "TestFailoverJobDetails"
+ },
+ "TestFailoverProviderSpecificInput": {
+ "description": "Provider specific test failover input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "TestMigrateCleanupInput": {
+ "description": "Input for test migrate cleanup.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestMigrateCleanupInputProperties",
+ "description": "Test migrate cleanup input properties."
+ }
+ }
+ },
+ "TestMigrateCleanupInputProperties": {
+ "description": "Test migrate cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Test migrate cleanup comments.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "TestMigrateInput": {
+ "description": "Input for test migrate.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestMigrateInputProperties",
+ "description": "Test migrate input properties."
+ }
+ }
+ },
+ "TestMigrateInputProperties": {
+ "description": "Test migrate input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/TestMigrateProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "TestMigrateProviderSpecificInput": {
+ "description": "Test migrate provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UnplannedFailoverInput": {
+ "description": "Input definition for unplanned failover.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UnplannedFailoverInputProperties",
+ "description": "Unplanned failover input properties."
+ }
+ }
+ },
+ "UnplannedFailoverInputProperties": {
+ "description": "Input definition for unplanned failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "sourceSiteOperations": {
+ "description": "Source site operations status.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "UnplannedFailoverProviderSpecificInput": {
+ "description": "Provider specific unplanned failover input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UpdateApplianceForReplicationProtectedItemInput": {
+ "description": "Update appliance for replication protected item input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemInputProperties",
+ "description": "Update appliance replication protected item properties."
+ }
+ }
+ },
+ "UpdateApplianceForReplicationProtectedItemInputProperties": {
+ "description": "Update appliance for protected item input properties.",
+ "required": [
+ "targetApplianceId",
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "targetApplianceId": {
+ "description": "The target appliance Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemProviderSpecificInput",
+ "description": "The provider specific input to update replication protected item."
+ }
+ }
+ },
+ "UpdateApplianceForReplicationProtectedItemProviderSpecificInput": {
+ "description": "Update replication protected item provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UpdateDiskInput": {
+ "description": "Disk input for update.",
+ "required": [
+ "diskId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "targetDiskName": {
+ "description": "The target disk name.",
+ "type": "string"
+ }
+ }
+ },
+ "UpdateMigrationItemInput": {
+ "description": "Update migration item input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateMigrationItemInputProperties",
+ "description": "Update migration item input properties."
+ }
+ }
+ },
+ "UpdateMigrationItemInputProperties": {
+ "description": "Update migration item input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput",
+ "description": "The provider specific input to update migration item."
+ }
+ }
+ },
+ "UpdateMigrationItemProviderSpecificInput": {
+ "description": "Update migration item provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UpdateMobilityServiceRequest": {
+ "description": "Request to update the mobility service on a protected item.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateMobilityServiceRequestProperties",
+ "description": "The properties of the update mobility service request."
+ }
+ }
+ },
+ "UpdateMobilityServiceRequestProperties": {
+ "description": "The properties of an update mobility service request.",
+ "type": "object",
+ "properties": {
+ "runAsAccountId": {
+ "description": "The CS run as account Id.",
+ "type": "string"
+ }
+ }
+ },
+ "UpdateNetworkMappingInput": {
+ "description": "Update network mapping input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateNetworkMappingInputProperties",
+ "description": "The input properties needed to update network mapping."
+ }
+ }
+ },
+ "UpdateNetworkMappingInputProperties": {
+ "description": "Common input details for network mapping operation.",
+ "type": "object",
+ "properties": {
+ "recoveryFabricName": {
+ "description": "Recovery fabric name.",
+ "type": "string"
+ },
+ "recoveryNetworkId": {
+ "description": "Recovery network Id.",
+ "type": "string"
+ },
+ "fabricSpecificDetails": {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput",
+ "description": "Fabrics specific input network Id."
+ }
+ }
+ },
+ "UpdatePolicyInput": {
+ "description": "Update policy input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdatePolicyInputProperties",
+ "description": "The ReplicationProviderSettings."
+ }
+ }
+ },
+ "UpdatePolicyInputProperties": {
+ "description": "Policy update properties.",
+ "type": "object",
+ "properties": {
+ "replicationProviderSettings": {
+ "$ref": "#/definitions/PolicyProviderSpecificInput",
+ "description": "The ReplicationProviderSettings."
+ }
+ }
+ },
+ "UpdateProtectionContainerMappingInput": {
+ "description": "Container pairing update input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateProtectionContainerMappingInputProperties",
+ "description": "Update protection container mapping input properties."
+ }
+ }
+ },
+ "UpdateProtectionContainerMappingInputProperties": {
+ "description": "Container pairing update input.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput",
+ "description": "Provider specific input for updating protection container mapping."
+ }
+ }
+ },
+ "UpdateRecoveryPlanInput": {
+ "description": "Update recovery plan input class.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateRecoveryPlanInputProperties",
+ "description": "Recovery plan update properties."
+ }
+ }
+ },
+ "UpdateRecoveryPlanInputProperties": {
+ "description": "Recovery plan update properties.",
+ "type": "object",
+ "properties": {
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ }
+ }
+ },
+ "UpdateReplicationProtectedItemInput": {
+ "description": "Update replication protected item input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties",
+ "description": "Update replication protected item properties."
+ }
+ }
+ },
+ "UpdateReplicationProtectedItemInputProperties": {
+ "description": "Update protected item input properties.",
+ "type": "object",
+ "properties": {
+ "recoveryAzureVMName": {
+ "description": "Target Azure VM name given by the user.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "Target Azure VM size.",
+ "type": "string"
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "Target Azure Network Id.",
+ "type": "string"
+ },
+ "selectedTfoAzureNetworkId": {
+ "description": "The Azure Network Id for test failover.",
+ "type": "string"
+ },
+ "selectedSourceNicId": {
+ "description": "The selected source nic Id which will be used as the primary nic during failover.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The list of VM nic details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicInputDetails"
+ }
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The target availability set Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput",
+ "description": "The provider specific input to update replication protected item."
+ }
+ }
+ },
+ "UpdateReplicationProtectedItemProviderInput": {
+ "description": "Update replication protected item provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UpdateVCenterRequest": {
+ "description": "Input required to update vCenter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateVCenterRequestProperties",
+ "description": "The update VCenter Request Properties."
+ }
+ }
+ },
+ "UpdateVCenterRequestProperties": {
+ "description": "The properties of an update vCenter request.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name of the vCenter.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the vCenter to be discovered.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id from where the update can be orchestrated.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port number for discovery.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id which has privileges to update the vCenter.",
+ "type": "string"
+ }
+ }
+ },
+ "VaultHealthDetails": {
+ "description": "Vault health details definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultHealthProperties",
+ "description": "The vault health related data."
+ }
+ }
+ },
+ "VaultHealthProperties": {
+ "description": "class to define the health summary of the Vault.",
+ "type": "object",
+ "properties": {
+ "vaultErrors": {
+ "description": "The list of errors on the vault.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "protectedItemsHealth": {
+ "$ref": "#/definitions/ResourceHealthSummary",
+ "description": "The list of the health detail of the protected items in the vault."
+ },
+ "fabricsHealth": {
+ "$ref": "#/definitions/ResourceHealthSummary",
+ "description": "The list of the health detail of the fabrics in the vault."
+ },
+ "containersHealth": {
+ "$ref": "#/definitions/ResourceHealthSummary",
+ "description": "The list of the health detail of the containers in the vault."
+ }
+ }
+ },
+ "VaultSetting": {
+ "description": "Vault setting.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultSettingProperties",
+ "description": "The vault setting properties."
+ }
+ }
+ },
+ "VaultSettingCollection": {
+ "description": "Vault setting collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of vault setting.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSetting"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "VaultSettingCreationInput": {
+ "description": "Input to create vault setting.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultSettingCreationInputProperties",
+ "description": "Vault setting creation input properties."
+ }
+ }
+ },
+ "VaultSettingCreationInputProperties": {
+ "description": "Input to create vault setting.",
+ "type": "object",
+ "properties": {
+ "migrationSolutionId": {
+ "description": "The migration solution Id.",
+ "type": "string"
+ },
+ "vmwareToAzureProviderType": {
+ "description": "VMware to Azure provider type.",
+ "type": "string"
+ }
+ }
+ },
+ "VaultSettingProperties": {
+ "description": "Vault setting properties.",
+ "type": "object",
+ "properties": {
+ "migrationSolutionId": {
+ "description": "The migration solution ARM Id.",
+ "type": "string"
+ },
+ "vmwareToAzureProviderType": {
+ "description": "VMware to Azure provider type.",
+ "type": "string"
+ }
+ }
+ },
+ "VCenter": {
+ "description": "vCenter definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VCenterProperties",
+ "description": "VCenter related data."
+ }
+ }
+ },
+ "VCenterCollection": {
+ "description": "Collection of vCenter details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The vCenter details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "VCenterProperties": {
+ "description": "vCenter properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the vCenter.",
+ "type": "string"
+ },
+ "internalId": {
+ "description": "VCenter internal ID.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The time when the last heartbeat was received by vCenter.",
+ "type": "string"
+ },
+ "discoveryStatus": {
+ "description": "The VCenter discovery status.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the vCenter.",
+ "type": "string"
+ },
+ "infrastructureId": {
+ "description": "The infrastructure Id of vCenter.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port number for discovery.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The account Id which has privileges to discover the vCenter.",
+ "type": "string"
+ },
+ "fabricArmResourceName": {
+ "description": "The ARM resource name of the fabric containing this VCenter.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "The health errors for this VCenter.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ }
+ }
+ },
+ "VersionDetails": {
+ "description": "Version related details.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "expiryDate": {
+ "format": "date-time",
+ "description": "Version expiry date.",
+ "type": "string"
+ },
+ "status": {
+ "description": "A value indicating whether security update required.",
+ "enum": [
+ "Supported",
+ "NotSupported",
+ "Deprecated",
+ "UpdateRequired",
+ "SecurityUpdateRequired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentVersionStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "VirtualMachineTaskDetails": {
+ "description": "This class represents the virtual machine task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobTaskDetails"
+ }
+ ],
+ "properties": {
+ "skippedReason": {
+ "description": "The skipped reason.",
+ "type": "string"
+ },
+ "skippedReasonString": {
+ "description": "The skipped reason string.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VirtualMachineTaskDetails"
+ },
+ "VmmDetails": {
+ "description": "VMM fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VMM"
+ },
+ "VmmToAzureCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behavior specific to Vmm to Azure Network mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToAzureNetworkMappingSettings": {
+ "description": "E2A Network Mapping fabric specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToAzureUpdateNetworkMappingInput": {
+ "description": "Update network mappings input properties/behavior specific to vmm to azure.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToVmmCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behavior specific to vmm to vmm Network mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToVmm"
+ },
+ "VmmToVmmNetworkMappingSettings": {
+ "description": "E2E Network Mapping fabric specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToVmm"
+ },
+ "VmmToVmmUpdateNetworkMappingInput": {
+ "description": "Update network mappings input properties/behavior specific to vmm to vmm.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToVmm"
+ },
+ "VmmVirtualMachineDetails": {
+ "description": "VMM fabric provider specific VM settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperVVirtualMachineDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmVirtualMachine"
+ },
+ "VMNicDetails": {
+ "description": "Hyper V VM network details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The nic Id.",
+ "type": "string"
+ },
+ "replicaNicId": {
+ "description": "The replica nic Id.",
+ "type": "string"
+ },
+ "sourceNicArmId": {
+ "description": "The source nic ARM Id.",
+ "type": "string"
+ },
+ "vMNetworkName": {
+ "description": "VM network name.",
+ "type": "string"
+ },
+ "recoveryVMNetworkId": {
+ "description": "Recovery VM network Id.",
+ "type": "string"
+ },
+ "ipConfigs": {
+ "description": "The IP configurations of the NIC.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPConfigDetails"
+ }
+ },
+ "selectionType": {
+ "description": "Selection type for failover.",
+ "type": "string"
+ },
+ "recoveryNetworkSecurityGroupId": {
+ "description": "The id of the NSG associated with the NIC.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnRecovery": {
+ "description": "A value indicating whether the NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "tfoVMNetworkId": {
+ "description": "The network to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "tfoNetworkSecurityGroupId": {
+ "description": "The NSG to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnTfo": {
+ "description": "Whether the TFO NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "recoveryNicName": {
+ "description": "The name of the NIC to be used when creating target NICs.",
+ "type": "string"
+ },
+ "recoveryNicResourceGroupName": {
+ "description": "The resource group of the NIC to be used when creating target NICs.",
+ "type": "string"
+ },
+ "reuseExistingNic": {
+ "description": "A value indicating whether an existing NIC is allowed to be reused during failover subject to availability.",
+ "type": "boolean",
+ "default": false
+ },
+ "tfoRecoveryNicName": {
+ "description": "The name of the NIC to be used when creating target NICs in TFO.",
+ "type": "string"
+ },
+ "tfoRecoveryNicResourceGroupName": {
+ "description": "The resource group of the NIC to be used when creating target NICs in TFO.",
+ "type": "string"
+ },
+ "tfoReuseExistingNic": {
+ "description": "A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability.",
+ "type": "boolean",
+ "default": false
+ },
+ "targetNicName": {
+ "description": "Target NIC name.",
+ "type": "string"
+ }
+ }
+ },
+ "VMNicInputDetails": {
+ "description": "Hyper V VM network input details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The nic Id.",
+ "type": "string"
+ },
+ "ipConfigs": {
+ "description": "The IP configurations to be used by NIC during test failover and failover.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPConfigInputDetails"
+ }
+ },
+ "selectionType": {
+ "description": "Selection type for failover.",
+ "type": "string"
+ },
+ "recoveryNetworkSecurityGroupId": {
+ "description": "The id of the NSG associated with the NIC.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnRecovery": {
+ "description": "Whether the NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "tfoNetworkSecurityGroupId": {
+ "description": "The NSG to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnTfo": {
+ "description": "Whether the test NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "recoveryNicName": {
+ "description": "The name of the NIC to be used when creating target NICs.",
+ "type": "string"
+ },
+ "recoveryNicResourceGroupName": {
+ "description": "The resource group of the NIC to be used when creating target NICs.",
+ "type": "string"
+ },
+ "reuseExistingNic": {
+ "description": "A value indicating whether an existing NIC is allowed to be reused during failover subject to availability.",
+ "type": "boolean"
+ },
+ "tfoNicName": {
+ "description": "The name of the NIC to be used when creating target NICs in TFO.",
+ "type": "string"
+ },
+ "tfoNicResourceGroupName": {
+ "description": "The resource group of the NIC to be used when creating target NICs in TFO.",
+ "type": "string"
+ },
+ "tfoReuseExistingNic": {
+ "description": "A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability.",
+ "type": "boolean"
+ },
+ "targetNicName": {
+ "description": "Target NIC name.",
+ "type": "string"
+ }
+ }
+ },
+ "VmNicUpdatesTaskDetails": {
+ "description": "This class represents the vm NicUpdates task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "vmId": {
+ "description": "Virtual machine Id.",
+ "type": "string"
+ },
+ "nicId": {
+ "description": "Nic Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the Nic.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VmNicUpdatesTaskDetails"
+ },
+ "VMwareCbtContainerCreationInput": {
+ "description": "VMwareCbt container creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtContainerMappingInput": {
+ "description": "VMwareCbt container mapping input.",
+ "required": [
+ "keyVaultId",
+ "keyVaultUri",
+ "storageAccountId",
+ "storageAccountSasSecretName",
+ "serviceBusConnectionStringSecretName",
+ "targetLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "keyVaultId": {
+ "description": "The target key vault ARM Id.",
+ "type": "string"
+ },
+ "keyVaultUri": {
+ "description": "The target key vault URL.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account ARM Id.",
+ "type": "string"
+ },
+ "storageAccountSasSecretName": {
+ "description": "The secret name of the storage account.",
+ "type": "string"
+ },
+ "serviceBusConnectionStringSecretName": {
+ "description": "The secret name of the service bus connection string.",
+ "type": "string"
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtDiskInput": {
+ "description": "VMwareCbt disk input.",
+ "required": [
+ "diskId",
+ "isOSDisk",
+ "logStorageAccountId",
+ "logStorageAccountSasSecretName"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The disk type.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string"
+ },
+ "logStorageAccountSasSecretName": {
+ "description": "The key vault secret name of the log storage account.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtEnableMigrationInput": {
+ "description": "VMwareCbt specific enable migration input.",
+ "required": [
+ "vmwareMachineId",
+ "disksToInclude",
+ "dataMoverRunAsAccountId",
+ "snapshotRunAsAccountId",
+ "targetResourceGroupId",
+ "targetNetworkId",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableMigrationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmwareMachineId": {
+ "description": "The ARM Id of the VM discovered in VMware.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtDiskInput"
+ }
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "dataMoverRunAsAccountId": {
+ "description": "The data mover run as account Id.",
+ "type": "string"
+ },
+ "snapshotRunAsAccountId": {
+ "description": "The snapshot run as account Id.",
+ "type": "string"
+ },
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network ARM Id.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "The target subnet name.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group ARM Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "performAutoResync": {
+ "description": "A value indicating whether auto resync is to be done.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedDiskTags": {
+ "description": "The tags for the seed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetDiskTags": {
+ "description": "The tags for the target disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtEventDetails": {
+ "description": "Event details for VMwareCbt provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "migrationItemName": {
+ "description": "The migration item name.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtMigrateInput": {
+ "description": "VMwareCbt specific migrate input.",
+ "required": [
+ "performShutdown",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "performShutdown": {
+ "description": "A value indicating whether VM is to be shutdown.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtMigrationDetails": {
+ "description": "VMwareCbt provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "vmwareMachineId": {
+ "description": "The ARM Id of the VM discovered in VMware.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "firmwareType": {
+ "description": "The firmware type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetGeneration": {
+ "description": "The target generation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "type": "string"
+ },
+ "dataMoverRunAsAccountId": {
+ "description": "The data mover run as account Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "snapshotRunAsAccountId": {
+ "description": "The snapshot run as account Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetVmName": {
+ "description": "Target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtProtectedDiskDetails"
+ }
+ },
+ "targetNetworkId": {
+ "description": "The target network Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtNicDetails"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "migrationRecoveryPointId": {
+ "description": "The recovery point Id to which the VM was migrated.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRecoveryPointReceived": {
+ "format": "date-time",
+ "description": "The last recovery point received time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRecoveryPointId": {
+ "description": "The last recovery point Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialSeedingProgressPercentage": {
+ "format": "int32",
+ "description": "The initial seeding progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "migrationProgressPercentage": {
+ "format": "int32",
+ "description": "The migration progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialSeedingRetryCount": {
+ "format": "int64",
+ "description": "The initial seeding retry count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncRetryCount": {
+ "format": "int64",
+ "description": "The resync retry count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resyncState": {
+ "description": "The resync state.",
+ "enum": [
+ "None",
+ "PreparedForResynchronization",
+ "StartedResynchronization"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ResyncState",
+ "modelAsString": true
+ }
+ },
+ "performAutoResync": {
+ "description": "A value indicating whether auto resync is to be done.",
+ "type": "string"
+ },
+ "seedDiskTags": {
+ "description": "The tags for the seed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetDiskTags": {
+ "description": "The tags for the target disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtNicDetails": {
+ "description": "VMwareCbt NIC details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "sourceIPAddress": {
+ "description": "The source IP address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceIPAddressType": {
+ "description": "The source IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "sourceNetworkId": {
+ "description": "Source network Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetIPAddress": {
+ "description": "The target IP address.",
+ "type": "string"
+ },
+ "targetIPAddressType": {
+ "description": "The target IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "targetNicName": {
+ "description": "Target NIC name.",
+ "type": "string"
+ },
+ "isSelectedForMigration": {
+ "description": "A value indicating whether this NIC is selected for migration.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtNicInput": {
+ "description": "VMwareCbt NIC input.",
+ "required": [
+ "nicId",
+ "isPrimaryNic"
+ ],
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string"
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "targetStaticIPAddress": {
+ "description": "The static IP address.",
+ "type": "string"
+ },
+ "isSelectedForMigration": {
+ "description": "A value indicating whether this NIC is selected for migration.",
+ "type": "string"
+ },
+ "targetNicName": {
+ "description": "Target NIC name.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtPolicyCreationInput": {
+ "description": "VMware Cbt policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryInMinutes": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VmwareCbtPolicyDetails": {
+ "description": "VMware Cbt specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryInMinutes": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtProtectedDiskDetails": {
+ "description": "VMwareCbt protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskType": {
+ "description": "The disk type.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "diskPath": {
+ "description": "The disk path.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "logStorageAccountSasSecretName": {
+ "description": "The key vault secret name of the log storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "seedManagedDiskId": {
+ "description": "The ARM Id of the seed managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetManagedDiskId": {
+ "description": "The ARM Id of the target managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetDiskName": {
+ "description": "The name for the target managed disk.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtProtectionContainerMappingDetails": {
+ "description": "VMwareCbt provider specific container mapping details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "keyVaultId": {
+ "description": "The target key vault ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "keyVaultUri": {
+ "description": "The target key vault URI.",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageAccountId": {
+ "description": "The storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageAccountSasSecretName": {
+ "description": "The secret name of the storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceBusConnectionStringSecretName": {
+ "description": "The secret name of the service bus connection string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtResyncInput": {
+ "description": "VMwareCbt specific resync input.",
+ "required": [
+ "skipCbtReset",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResyncProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "skipCbtReset": {
+ "description": "A value indicating whether CBT is to be reset.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtTestMigrateInput": {
+ "description": "VMwareCbt specific test migrate input.",
+ "required": [
+ "recoveryPointId",
+ "networkId",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestMigrateProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The test network Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtUpdateDiskInput": {
+ "description": "VMwareCbt disk input for update.",
+ "required": [
+ "diskId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "targetDiskName": {
+ "description": "The target disk name.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtUpdateMigrationItemInput": {
+ "description": "VMwareCbt specific update migration item input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group ARM Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network ARM Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The list of NIC details.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtNicInput"
+ }
+ },
+ "vmDisks": {
+ "description": "The list of disk update properties.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtUpdateDiskInput"
+ }
+ },
+ "licenseType": {
+ "description": "The license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "performAutoResync": {
+ "description": "A value indicating whether auto resync is to be done.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetDiskTags": {
+ "description": "The tags for the target disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareDetails": {
+ "description": "Store the fabric details specific to the VMware fabric.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "processServers": {
+ "description": "The list of Process Servers associated with the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProcessServer"
+ }
+ },
+ "masterTargetServers": {
+ "description": "The list of Master Target servers associated with the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MasterTargetServer"
+ }
+ },
+ "runAsAccounts": {
+ "description": "The list of run as accounts created on the server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunAsAccount"
+ }
+ },
+ "replicationPairCount": {
+ "description": "The number of replication pairs configured in this CS.",
+ "type": "string"
+ },
+ "processServerCount": {
+ "description": "The number of process servers.",
+ "type": "string"
+ },
+ "agentCount": {
+ "description": "The number of source and target servers configured to talk to this CS.",
+ "type": "string"
+ },
+ "protectedServers": {
+ "description": "The number of protected servers.",
+ "type": "string"
+ },
+ "systemLoad": {
+ "description": "The percentage of the system load.",
+ "type": "string"
+ },
+ "systemLoadStatus": {
+ "description": "The system load status.",
+ "type": "string"
+ },
+ "cpuLoad": {
+ "description": "The percentage of the CPU load.",
+ "type": "string"
+ },
+ "cpuLoadStatus": {
+ "description": "The CPU load status.",
+ "type": "string"
+ },
+ "totalMemoryInBytes": {
+ "format": "int64",
+ "description": "The total memory.",
+ "type": "integer"
+ },
+ "availableMemoryInBytes": {
+ "format": "int64",
+ "description": "The available memory.",
+ "type": "integer"
+ },
+ "memoryUsageStatus": {
+ "description": "The memory usage status.",
+ "type": "string"
+ },
+ "totalSpaceInBytes": {
+ "format": "int64",
+ "description": "The total space.",
+ "type": "integer"
+ },
+ "availableSpaceInBytes": {
+ "format": "int64",
+ "description": "The available space.",
+ "type": "integer"
+ },
+ "spaceUsageStatus": {
+ "description": "The space usage status.",
+ "type": "string"
+ },
+ "webLoad": {
+ "description": "The web load.",
+ "type": "string"
+ },
+ "webLoadStatus": {
+ "description": "The web load status.",
+ "type": "string"
+ },
+ "databaseServerLoad": {
+ "description": "The database server load.",
+ "type": "string"
+ },
+ "databaseServerLoadStatus": {
+ "description": "The database server load status.",
+ "type": "string"
+ },
+ "csServiceStatus": {
+ "description": "The CS service status.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent Version.",
+ "type": "string"
+ },
+ "hostName": {
+ "description": "The host name.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from CS server.",
+ "type": "string"
+ },
+ "versionStatus": {
+ "description": "Version status.",
+ "type": "string"
+ },
+ "sslCertExpiryDate": {
+ "format": "date-time",
+ "description": "CS SSL cert expiry date.",
+ "type": "string"
+ },
+ "sslCertExpiryRemainingDays": {
+ "format": "int32",
+ "description": "CS SSL cert expiry date.",
+ "type": "integer"
+ },
+ "psTemplateVersion": {
+ "description": "PS template version.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "agentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The agent version details."
+ }
+ },
+ "x-ms-discriminator-value": "VMware"
+ },
+ "VMwareV2FabricCreationInput": {
+ "description": "VMwareV2 fabric provider specific settings.",
+ "required": [
+ "migrationSolutionId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreationInput"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string"
+ },
+ "physicalSiteId": {
+ "description": "The ARM Id of the physical site.",
+ "type": "string"
+ },
+ "migrationSolutionId": {
+ "description": "The ARM Id of the migration solution.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareV2"
+ },
+ "VMwareV2FabricSpecificDetails": {
+ "description": "VMwareV2 fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string",
+ "readOnly": true
+ },
+ "physicalSiteId": {
+ "description": "The ARM Id of the physical site.",
+ "type": "string",
+ "readOnly": true
+ },
+ "migrationSolutionId": {
+ "description": "The Migration solution ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceEndpoint": {
+ "description": "The service endpoint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceResourceId": {
+ "description": "The service resource Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceContainerId": {
+ "description": "The service container Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processServers": {
+ "description": "The list of process servers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProcessServerDetails"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "VMwareV2"
+ },
+ "VMwareVirtualMachineDetails": {
+ "description": "VMware provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {
+ "agentGeneratedId": {
+ "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.",
+ "type": "string"
+ },
+ "agentInstalled": {
+ "description": "The value indicating if InMage scout agent is installed on guest.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OsType installed on VM.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address.",
+ "type": "string"
+ },
+ "poweredOn": {
+ "description": "The value indicating whether VM is powered on.",
+ "type": "string"
+ },
+ "vCenterInfrastructureId": {
+ "description": "The VCenter infrastructure Id.",
+ "type": "string"
+ },
+ "discoveryType": {
+ "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.",
+ "type": "string"
+ },
+ "diskDetails": {
+ "description": "The disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageDiskDetails"
+ }
+ },
+ "validationErrors": {
+ "description": "The validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "VMwareVirtualMachine"
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.go.md b/specification/recoveryservicessiterecovery/resource-manager/readme.go.md
index 5daa6ee7d83c..27134db3142a 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/readme.go.md
+++ b/specification/recoveryservicessiterecovery/resource-manager/readme.go.md
@@ -13,12 +13,21 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-08
- tag: package-2021-06
- tag: package-2021-02
- tag: package-2018-07
- tag: package-2018-01
- tag: package-2016-08
```
+### Tag: package-2021-08 and go
+
+These settings apply only when `--tag=package-2021-08 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-08' && $(go)
+output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2021-08-01/$(namespace)
+```
### Tag: package-2021-06 and go
diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.md b/specification/recoveryservicessiterecovery/resource-manager/readme.md
index 09c86e75125c..6f88f031f7e8 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/readme.md
+++ b/specification/recoveryservicessiterecovery/resource-manager/readme.md
@@ -54,13 +54,22 @@ These are the global settings for the RecoveryServicesSiteRecovery API.
``` yaml
openapi-type: arm
-tag: package-2021-07
+tag: package-2021-08
directive:
- where:
- $.paths
suppress:
- UniqueResourcePaths
```
+### Tag: package-2021-08
+
+These settings apply only when `--tag=package-2021-08` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-08'
+input-file:
+ - Microsoft.RecoveryServices/stable/2021-08-01/service.json
+```
+
### Tag: package-2021-07
These settings apply only when `--tag=package-2021-07` is specified on the command line.
diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateEndpointConnections.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateEndpointConnections.json
index 1ee3609a3509..45ede24defc0 100644
--- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateEndpointConnections.json
+++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateEndpointConnections.json
@@ -8,40 +8,42 @@
},
"responses": {
"200": {
- "body": [
- {
- "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01",
- "name": "pectest01",
- "type": "Microsoft.Cache/Redis/privateEndpointConnections",
- "properties": {
- "provisioningState": "Succeeded",
- "privateEndpoint": {
- "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01"
- },
- "privateLinkServiceConnectionState": {
- "status": "Approved",
- "description": "Auto-Approved",
- "actionsRequired": "None"
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01",
+ "name": "pectest01",
+ "type": "Microsoft.Cache/Redis/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
}
- }
- },
- {
- "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01",
- "name": "pectest01",
- "type": "Microsoft.Cache/Redis/privateEndpointConnections",
- "properties": {
- "provisioningState": "Succeeded",
- "privateEndpoint": {
- "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01"
- },
- "privateLinkServiceConnectionState": {
- "status": "Approved",
- "description": "Auto-Approved",
- "actionsRequired": "None"
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01",
+ "name": "pectest01",
+ "type": "Microsoft.Cache/Redis/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
}
}
- }
- ]
+ ]
+ }
}
}
}
diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json
index fade72a802c4..c99d21149c13 100644
--- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json
+++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json
@@ -1819,6 +1819,53 @@
"properties": {
"redisConfiguration": {
"type": "object",
+ "properties": {
+ "rdb-backup-enabled": {
+ "type": "string",
+ "description": "Specifies whether the rdb backup is enabled"
+ },
+ "rdb-backup-frequency": {
+ "type": "string",
+ "description": "Specifies the frequency for creating rdb backup"
+ },
+ "rdb-backup-max-snapshot-count": {
+ "type": "string",
+ "description": "Specifies the maximum number of snapshots for rdb backup"
+ },
+ "rdb-storage-connection-string": {
+ "type": "string",
+ "description": "The storage account connection string for storing rdb file"
+ },
+ "aof-storage-connection-string-0": {
+ "type": "string",
+ "description": "First storage account connection string"
+ },
+ "aof-storage-connection-string-1": {
+ "type": "string",
+ "description": "Second storage account connection string"
+ },
+ "maxfragmentationmemory-reserved": {
+ "type": "string",
+ "description": "Value in megabytes reserved for fragmentation per shard"
+ },
+ "maxmemory-policy": {
+ "type": "string",
+ "description": "The eviction strategy used when your data won't fit within its memory limit."
+ },
+ "maxmemory-reserved": {
+ "type": "string",
+ "description": "Value in megabytes reserved for non-cache usage per shard e.g. failover."
+ },
+ "maxmemory-delta": {
+ "type": "string",
+ "description": "Value in megabytes reserved for non-cache usage per shard e.g. failover."
+ },
+ "maxclients": {
+ "type": "string",
+ "description": "The max clients config",
+ "readOnly": true
+ }
+ },
"additionalProperties": {
"type": "string"
},
@@ -1826,6 +1873,7 @@
},
"enableNonSslPort": {
"type": "boolean",
+ "default": false,
"description": "Specifies whether the non-ssl Redis server port (6379) is enabled."
},
"replicasPerMaster": {
@@ -1865,6 +1913,7 @@
"Disabled"
],
"type": "string",
+ "default": "Enabled",
"x-ms-enum": {
"name": "PublicNetworkAccess",
"modelAsString": true
@@ -1888,7 +1937,11 @@
"staticIP": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$",
- "description": "Static IP address. Required when deploying a Redis cache inside an existing Azure Virtual Network."
+ "description": "Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
}
},
"required": [
@@ -2527,7 +2580,11 @@
},
"linkedRedisCacheLocation": {
"type": "string",
- "description": "Location of the linked redis cache."
+ "description": "Location of the linked redis cache.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serverRole": {
"type": "string",
diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCacheListPrivateEndpointConnections.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCacheListPrivateEndpointConnections.json
index a3b8e07f421f..aa4149741199 100644
--- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCacheListPrivateEndpointConnections.json
+++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCacheListPrivateEndpointConnections.json
@@ -8,40 +8,42 @@
},
"responses": {
"200": {
- "body": [
- {
- "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01",
- "name": "pectest01",
- "type": "Microsoft.Cache/Redis/privateEndpointConnections",
- "properties": {
- "provisioningState": "Succeeded",
- "privateEndpoint": {
- "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01"
- },
- "privateLinkServiceConnectionState": {
- "status": "Approved",
- "description": "Auto-Approved",
- "actionsRequired": "None"
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01",
+ "name": "pectest01",
+ "type": "Microsoft.Cache/Redis/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
}
- }
- },
- {
- "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01",
- "name": "pectest01",
- "type": "Microsoft.Cache/Redis/privateEndpointConnections",
- "properties": {
- "provisioningState": "Succeeded",
- "privateEndpoint": {
- "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01"
- },
- "privateLinkServiceConnectionState": {
- "status": "Approved",
- "description": "Auto-Approved",
- "actionsRequired": "None"
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01",
+ "name": "pectest01",
+ "type": "Microsoft.Cache/Redis/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
}
}
- }
- ]
+ ]
+ }
}
}
}
diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json
index 55ed658f4fe9..eebe5cd6f6da 100644
--- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json
+++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json
@@ -1822,6 +1822,53 @@
"properties": {
"redisConfiguration": {
"type": "object",
+ "properties": {
+ "rdb-backup-enabled": {
+ "type": "string",
+ "description": "Specifies whether the rdb backup is enabled"
+ },
+ "rdb-backup-frequency": {
+ "type": "string",
+ "description": "Specifies the frequency for creating rdb backup"
+ },
+ "rdb-backup-max-snapshot-count": {
+ "type": "string",
+ "description": "Specifies the maximum number of snapshots for rdb backup"
+ },
+ "rdb-storage-connection-string": {
+ "type": "string",
+ "description": "The storage account connection string for storing rdb file"
+ },
+ "aof-storage-connection-string-0": {
+ "type": "string",
+ "description": "First storage account connection string"
+ },
+ "aof-storage-connection-string-1": {
+ "type": "string",
+ "description": "Second storage account connection string"
+ },
+ "maxfragmentationmemory-reserved": {
+ "type": "string",
+ "description": "Value in megabytes reserved for fragmentation per shard"
+ },
+ "maxmemory-policy": {
+ "type": "string",
+ "description": "The eviction strategy used when your data won't fit within its memory limit."
+ },
+ "maxmemory-reserved": {
+ "type": "string",
+ "description": "Value in megabytes reserved for non-cache usage per shard e.g. failover."
+ },
+ "maxmemory-delta": {
+ "type": "string",
+ "description": "Value in megabytes reserved for non-cache usage per shard e.g. failover."
+ },
+ "maxclients": {
+ "type": "string",
+ "description": "The max clients config",
+ "readOnly": true
+ }
+ },
"additionalProperties": {
"type": "string"
},
@@ -1833,6 +1880,7 @@
},
"enableNonSslPort": {
"type": "boolean",
+ "default": false,
"description": "Specifies whether the non-ssl Redis server port (6379) is enabled."
},
"replicasPerMaster": {
@@ -1876,6 +1924,7 @@
"Enabled",
"Disabled"
],
+ "default": "Enabled",
"type": "string",
"x-ms-enum": {
"name": "PublicNetworkAccess",
@@ -1900,7 +1949,11 @@
"staticIP": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$",
- "description": "Static IP address. Required when deploying a Redis cache inside an existing Azure Virtual Network."
+ "description": "Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
}
},
"required": [
@@ -2472,7 +2525,11 @@
},
"linkedRedisCacheLocation": {
"type": "string",
- "description": "Location of the linked redis cache."
+ "description": "Location of the linked redis cache.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serverRole": {
"type": "string",
diff --git a/specification/redis/resource-manager/readme.go.md b/specification/redis/resource-manager/readme.go.md
index 925e0395be6f..e231c3bcc678 100644
--- a/specification/redis/resource-manager/readme.go.md
+++ b/specification/redis/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/redis/armredis
+module-name: sdk/resourcemanager/redis/armredis
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
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/Microsoft.Resources/stable/2015-11-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json
index 181020586092..11ad3eb2b568 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json
@@ -864,7 +864,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json
index c007d1e3e3c7..4ed68a96b402 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json
@@ -964,7 +964,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json
index c23e75848746..7c22ec05cff5 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json
@@ -964,7 +964,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json
index 2578a17df350..4c4adb259f29 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json
@@ -992,7 +992,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json
index 2ac832cd9bdd..1ba8696e8fab 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json
@@ -613,7 +613,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1041,7 +1041,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-02-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-02-01/resources.json
index 80a2cd5bad85..1d97275c7642 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-02-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-02-01/resources.json
@@ -621,7 +621,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1049,7 +1049,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json
index 45e1ee1ffe79..fe44edd36944 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json
@@ -961,7 +961,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1394,7 +1394,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-03-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-03-01/resources.json
index 326c6d1d699b..0d0143374794 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-03-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-03-01/resources.json
@@ -961,7 +961,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1402,7 +1402,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-01/resources.json
index cd62e06b5e29..92b6ca091605 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-01/resources.json
@@ -1134,7 +1134,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1575,7 +1575,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-10/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-10/resources.json
index b1461b049094..64b5b4b013f0 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-10/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-05-10/resources.json
@@ -1210,7 +1210,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1651,7 +1651,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json
index 9b2b4dbac31b..2d0d76b247dc 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json
@@ -2150,7 +2150,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2648,7 +2648,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
index 9bfd882dd169..f801ac38d902 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
@@ -2150,7 +2150,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2648,7 +2648,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json
index da5d6e1607ab..8d7cd9bbe5bf 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json
@@ -2297,7 +2297,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2795,7 +2795,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json
index 17f1ed9baf18..b45427c6a5c6 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json
@@ -2335,7 +2335,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2841,7 +2841,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-08-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-08-01/resources.json
index 2c0edc6cc1f5..f871f6f7ef7f 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-08-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-08-01/resources.json
@@ -2360,7 +2360,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2851,7 +2851,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/resources.json
index dc3e778b9198..e981ceefc5c4 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/resources.json
@@ -2398,7 +2398,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2889,7 +2889,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/resources.json
index 20777cc6065c..3afd7e5dcca8 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/resources.json
@@ -2408,7 +2408,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2921,7 +2921,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json
index ecdf5fdaa52c..29cd3e0ecbf0 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json
@@ -2444,7 +2444,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2942,7 +2942,7 @@
"in": "query",
"required": false,
"type": "string",
- "description": "The filter to apply on the operation.
Filter comparison operators include `eq` (equals) and `ne` (not equals) and may be used with the following properties: `location`, `resourceType`, `name`, `resourceGroup`, `identity`, `identity/principalId`, `plan`, `plan/publisher`, `plan/product`, `plan/name`, `plan/version`, and `plan/promotionCode`.
For example, to filter by a resource type, use `$filter=resourceType eq 'Microsoft.Network/virtualNetworks'`
`substringof(value, property)` can be used to filter for substrings of the following currently-supported properties: `name` and `resourceGroup`
For example, to get all resources with 'demo' anywhere in the resource name, use `$filter=substringof('demo', name)`
Multiple substring operations can also be combined using `and`/`or` operators.
Resources can be filtered by tag names and values. For example, to filter for a tag name and value, use `$filter=tagName eq 'tag1' and tagValue eq 'Value1'`. Note that when resources are filtered by tag name and value, the original tags for each resource will not be returned in the results. Any list of additional properties queried via `$expand` may also not be compatible when filtering by tag names/values.
For tag names only, resources can be filtered by prefix using the following syntax: `$filter=startswith(tagName, 'depart')`. This query will return all resources with a tag name prefixed by the phrase `depart` (i.e.`department`, `departureDate`, `departureTime`, etc.)
Note that some properties can be combined when filtering resources, which include the following: `substringof() and/or resourceType`, `plan and plan/publisher and plan/name`, and `identity and identity/principalId`."
+ "description": "The filter to apply on the operation.
Filter comparison operators include `eq` (equals) and `ne` (not equals) and may be used with the following properties: `location`, `resourceType`, `name`, `resourceGroup`, `identity`, `identity/principalId`, `plan`, `plan/publisher`, `plan/product`, `plan/name`, `plan/version`, and `plan/promotionCode`.
For example, to filter by a resource type, use `$filter=resourceType eq 'Microsoft.Network/virtualNetworks'`
`substringof(value, property)` can be used to filter for substrings of the following currently-supported properties: `name` and `resourceGroup`
For example, to get all resources with 'demo' anywhere in the resource name, use `$filter=substringof('demo', name)`
Multiple substring operations can also be combined using `and`/`or` operators.
Note that any truncated number of results queried via `$top` may also not be compatible when using a filter.
Resources can be filtered by tag names and values. For example, to filter for a tag name and value, use `$filter=tagName eq 'tag1' and tagValue eq 'Value1'`. Note that when resources are filtered by tag name and value, the original tags for each resource will not be returned in the results. Any list of additional properties queried via `$expand` may also not be compatible when filtering by tag names/values.
For tag names only, resources can be filtered by prefix using the following syntax: `$filter=startswith(tagName, 'depart')`. This query will return all resources with a tag name prefixed by the phrase `depart` (i.e.`department`, `departureDate`, `departureTime`, etc.)
Note that some properties can be combined when filtering resources, which include the following: `substringof() and/or resourceType`, `plan and plan/publisher and plan/name`, and `identity and identity/principalId`."
},
{
"name": "$expand",
@@ -2957,7 +2957,7 @@
"required": false,
"type": "integer",
"format": "int32",
- "description": "The maximum number of results to return. If null is passed, returns all resources."
+ "description": "The number of results to return. If null is passed, returns all resources."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/resources/resource-manager/readme.go.md b/specification/resources/resource-manager/readme.go.md
index 2909b89b6ebd..43a901b3c4af 100644
--- a/specification/resources/resource-manager/readme.go.md
+++ b/specification/resources/resource-manager/readme.go.md
@@ -20,7 +20,7 @@ go:
``` yaml $(go) && $(package-resources) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/resources/armresources
+module-name: sdk/resourcemanager/resources/armresources
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
@@ -35,6 +35,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
@@ -134,6 +135,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 840187a3361e..06e05d84ef9e 100644
--- a/specification/resources/resource-manager/readme.md
+++ b/specification/resources/resource-manager/readme.md
@@ -37,7 +37,7 @@ tag: package-locks-2020-05
```
``` yaml $(package-policy)
-tag: package-policy-2021-06
+tag: package-policy-2021-07
```
``` yaml $(package-resources)
@@ -64,6 +64,24 @@ tag: package-deploymentscripts-2020-10
tag: package-templatespecs-2021-05
```
+### 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.
@@ -670,6 +688,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
@@ -690,10 +712,18 @@ directive:
from: policyExemptions.json
where: $.paths
reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
+ - suppress: OperationsAPIImplementation
+ from: policyPricings.json
+ where: $.paths
+ reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
- 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
@@ -848,6 +878,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-node
- repo: azure-sdk-for-js
- repo: azure-resource-manager-schemas
diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md
index db2cdbd2033a..111708603d2a 100644
--- a/specification/resources/resource-manager/readme.python.md
+++ b/specification/resources/resource-manager/readme.python.md
@@ -27,6 +27,7 @@ batch:
- tag: package-locks-2015-01
- multiapiscript-locks: true
- tag: package-managedapplications-2018-06
+ - tag: package-policy-2021-07
- tag: package-policy-2021-06
- tag: package-policy-2020-09
- tag: package-policy-2019-09
@@ -199,6 +200,16 @@ namespace: azure.mgmt.resource.managedapplications
output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/managedapplications
```
+### 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/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json
index 0d1de8fcf10a..603788f0632e 100644
--- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json
+++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json
@@ -8574,7 +8574,8 @@
"ro",
"sr-Cyrl",
"sr-Latn",
- "sk"
+ "sk",
+ "unk"
],
"x-ms-enum": {
"name": "OcrSkillLanguage",
@@ -8683,6 +8684,10 @@
{
"value": "sk",
"description": "Slovak"
+ },
+ {
+ "value": "unk",
+ "description": "Unknown. If the language is explicitly set to \"unk\", the language will be auto-detected."
}
]
},
diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceResetSkills.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceResetSkills.json
new file mode 100644
index 000000000000..1cb05724a302
--- /dev/null
+++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceResetSkills.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "https://myservice.search.windows.net",
+ "skillsetName": "mySkillset",
+ "api-version": "2021-04-30-preview",
+ "skillNames": {
+ "skillNames": [
+ "skillName1",
+ "skillName2"
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json
index e3739babde34..97bae8ac0308 100644
--- a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json
+++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json
@@ -1455,7 +1455,7 @@
"lexicon"
],
"x-ms-enum": {
- "name": "Speller",
+ "name": "QuerySpellerType",
"modelAsString": true,
"values": [
{
@@ -1479,7 +1479,7 @@
"extractive"
],
"x-ms-enum": {
- "name": "Answers",
+ "name": "QueryAnswerType",
"modelAsString": true,
"values": [
{
@@ -1503,7 +1503,7 @@
"extractive"
],
"x-ms-enum": {
- "name": "Captions",
+ "name": "QueryCaptionType",
"modelAsString": true,
"values": [
{
diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json
index 3bad9eb9b454..18a3f1c3e092 100644
--- a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json
+++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json
@@ -345,7 +345,7 @@
},
"description": "Resets specific documents in the datasource to be selectively re-ingested by the indexer.",
"externalDocs": {
- "url": "N/A"
+ "url": "https://aka.ms/reset-documents"
},
"parameters": [
{
@@ -361,6 +361,7 @@
"required": false,
"schema": {
"type": "object",
+ "x-ms-client-name": "DocumentKeysOrIds",
"properties": {
"documentKeys": {
"type": "array",
@@ -500,10 +501,10 @@
"$ref": "#/parameters/ApiVersionParameter"
},
{
- "$ref": "#/parameters/DisableCacheReprocessingChangeDetectionParameter"
+ "$ref": "#/parameters/IgnoreResetRequirementsParameter"
},
{
- "$ref": "#/parameters/IgnoreResetRequirementsParameter"
+ "$ref": "#/parameters/DisableCacheReprocessingChangeDetectionParameter"
}
],
"x-ms-request-id": "request-id",
@@ -814,10 +815,10 @@
"$ref": "#/parameters/ApiVersionParameter"
},
{
- "$ref": "#/parameters/DisableCacheReprocessingChangeDetectionParameter"
+ "$ref": "#/parameters/IgnoreResetRequirementsParameter"
},
{
- "$ref": "#/parameters/IgnoreResetRequirementsParameter"
+ "$ref": "#/parameters/DisableCacheReprocessingChangeDetectionParameter"
}
],
"x-ms-request-id": "request-id",
@@ -1033,6 +1034,69 @@
}
}
},
+ "/skillsets('{skillsetName}')/search.resetskills": {
+ "post": {
+ "tags": [
+ "Skillsets"
+ ],
+ "operationId": "Skillsets_ResetSkills",
+ "x-ms-examples": {
+ "SearchServiceResetSkills": {
+ "$ref": "./examples/SearchServiceResetSkills.json"
+ }
+ },
+ "description": "Reset an existing skillset in a search service.",
+ "externalDocs": {
+ "url": "https://aka.ms/reset-skills"
+ },
+ "parameters": [
+ {
+ "name": "skillsetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the skillset to reset."
+ },
+ {
+ "name": "skillNames",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "x-ms-client-name": "SkillNames",
+ "properties": {
+ "skillNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "the names of skills to be reset."
+ }
+ }
+ },
+ "description": "The names of skills to reset."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "204": {
+ "description": "The skills in the skillset are successfully reset."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/SearchError"
+ }
+ }
+ }
+ }
+ },
"/synonymmaps('{synonymMapName}')": {
"put": {
"tags": [
@@ -6284,6 +6348,7 @@
},
"parameters": {
"type": "object",
+ "x-nullable": true,
"additionalProperties": {
"type": "object"
},
@@ -9971,6 +10036,7 @@
},
"IgnoreResetRequirementsParameter": {
"name": "ignoreResetRequirements",
+ "x-ms-client-name": "skipIndexerResetRequirementForCache",
"in": "query",
"required": false,
"type": "boolean",
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json
new file mode 100644
index 000000000000..a2c4910a09ca
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json
@@ -0,0 +1,383 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2021-07-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Security/customAssessmentAutomations/{customAssessmentAutomationName}": {
+ "get": {
+ "summary": "Gets a custom assessment automation",
+ "description": "Gets a single custom assessment automation by name for the provided subscription and resource group.",
+ "tags": [
+ "customAssessmentAutomations"
+ ],
+ "operationId": "CustomAssessmentAutomations_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/customAssessmentAutomationName"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a Custom Assessment Automation": {
+ "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customAssessmentAutomation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "summary": "Creates a custom assessment automation",
+ "description": "Creates or updates a custom assessment automation for the provided subscription. Please note that providing an existing custom assessment automation will replace the existing record.",
+ "tags": [
+ "customAssessmentAutomations"
+ ],
+ "operationId": "CustomAssessmentAutomations_Create",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/customAssessmentAutomationName"
+ },
+ {
+ "$ref": "#/parameters/customAssessmentAutomationBody"
+ }
+ ],
+ "x-ms-examples": {
+ "Create a Custom Assessment Automation": {
+ "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json"
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/customAssessmentAutomation"
+ }
+ },
+ "200": {
+ "description": "OK - Updated",
+ "schema": {
+ "$ref": "#/definitions/customAssessmentAutomation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes a custom assessment automation",
+ "description": "Deletes a custom assessment automation by name for a provided subscription",
+ "tags": [
+ "customAssessmentAutomations"
+ ],
+ "operationId": "CustomAssessmentAutomations_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/customAssessmentAutomationName"
+ }
+ ],
+ "x-ms-examples": {
+ "Delete a Custom Assessment Automation": {
+ "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationDelete_example.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK - Custom Assessment Automation was deleted"
+ },
+ "204": {
+ "description": "No Content - Custom Assessment Automation does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Security/customAssessmentAutomations": {
+ "get": {
+ "summary": "List custom assessment automations in a subscription and a resource group",
+ "description": "List custom assessment automations by provided subscription and resource group",
+ "tags": [
+ "customAssessmentAutomations"
+ ],
+ "operationId": "CustomAssessmentAutomations_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ }
+ ],
+ "x-ms-examples": {
+ "List Custom Assessment Automations in a subscription and a resource group": {
+ "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK - Returns a collection of Custom Assessment Automations",
+ "schema": {
+ "$ref": "#/definitions/customAssessmentAutomationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/customAssessmentAutomations": {
+ "get": {
+ "summary": "List custom assessment automations in a subscription",
+ "description": "List custom assessment automations by provided subscription",
+ "tags": [
+ "customAssessmentAutomations"
+ ],
+ "operationId": "CustomAssessmentAutomations_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "x-ms-examples": {
+ "List Custom Assessment Automations in a subscription": {
+ "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK - Returns a collection of Custom Assessment Automations",
+ "schema": {
+ "$ref": "#/definitions/customAssessmentAutomationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "customAssessmentAutomationsListResult": {
+ "type": "object",
+ "description": "A list of Custom Assessment Automations",
+ "properties": {
+ "value": {
+ "description": "Collection of Custom Assessment Automations",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/customAssessmentAutomation"
+ }
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "customAssessmentAutomation": {
+ "type": "object",
+ "description": "Custom Assessment Automation",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "describes Custom Assessment Automation properties.",
+ "$ref": "#/definitions/customAssessmentAutomationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "customAssessmentAutomationProperties": {
+ "type": "object",
+ "description": "describes the Custom Assessment Automation properties",
+ "properties": {
+ "compressedQuery": {
+ "description": "GZip encoded KQL query representing the assessment automation results required.",
+ "type": "string"
+ },
+ "supportedCloud": {
+ "description": "Relevant cloud for the custom assessment automation.",
+ "type": "string",
+ "enum": [
+ "AWS"
+ ],
+ "x-ms-enum": {
+ "name": "supportedCloudEnum",
+ "modelAsString": true
+ },
+ "x-ms-client-default": "AWS"
+ },
+ "severity": {
+ "description": "The severity to relate to the assessments generated by this assessment automation.",
+ "type": "string",
+ "enum": [
+ "High",
+ "Medium",
+ "Low"
+ ],
+ "x-ms-enum": {
+ "name": "severityEnum",
+ "modelAsString": true
+ },
+ "x-ms-client-default": "Low"
+ },
+ "userImpact": {
+ "description": "The user impact to relate to the assessments generated by this assessment automation.",
+ "type": "string",
+ "enum": [
+ "High",
+ "Moderate",
+ "Low"
+ ],
+ "x-ms-enum": {
+ "name": "userImpactEnum",
+ "modelAsString": true
+ },
+ "x-ms-client-default": "Low"
+ },
+ "implementationEffort": {
+ "description": "The implementation effort to relate to the assessments generated by this assessment automation.",
+ "type": "string",
+ "enum": [
+ "High",
+ "Moderate",
+ "Low"
+ ],
+ "x-ms-enum": {
+ "name": "implementationEffortEnum",
+ "modelAsString": true
+ },
+ "x-ms-client-default": "Low"
+ },
+ "description": {
+ "description": "The description to relate to the assessments generated by this assessment automation.",
+ "type": "string"
+ },
+ "remediationDescription": {
+ "description": "The remediation description to relate to the assessments generated by this assessment automation.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "customAssessmentAutomationName": {
+ "name": "customAssessmentAutomationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Custom Assessment Automation.",
+ "x-ms-parameter-location": "method"
+ },
+ "customAssessmentAutomationBody": {
+ "name": "customAssessmentAutomationBody",
+ "in": "body",
+ "description": "Custom Assessment Automation body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/customAssessmentAutomation"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json
new file mode 100644
index 000000000000..ba7ced35df38
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json
@@ -0,0 +1,345 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2021-07-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Security/customEntityStoreAssignments/{customEntityStoreAssignmentName}": {
+ "get": {
+ "summary": "Gets a custom entity store assignment",
+ "description": "Gets a single custom entity store assignment by name for the provided subscription and resource group.",
+ "tags": [
+ "customEntityStoreAssignments"
+ ],
+ "operationId": "CustomEntityStoreAssignments_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/customEntityStoreAssignmentName"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a custom entity store assignment": {
+ "$ref": "./examples/CustomEntityStoreAssignments/customEntityStoreAssignmentGet_example.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomEntityStoreAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "summary": "Creates a custom entity store assignment",
+ "description": "Creates a custom entity store assignment for the provided subscription, if not already exists.",
+ "tags": [
+ "customEntityStoreAssignments"
+ ],
+ "operationId": "CustomEntityStoreAssignments_Create",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/customEntityStoreAssignmentName"
+ },
+ {
+ "$ref": "#/parameters/customEntityStoreAssignmentRequestBody"
+ }
+ ],
+ "x-ms-examples": {
+ "Create a custom entity store assignment": {
+ "$ref": "./examples/CustomEntityStoreAssignments/customEntityStoreAssignmentCreate_example.json"
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/CustomEntityStoreAssignment"
+ }
+ },
+ "200": {
+ "description": "OK - Updated",
+ "schema": {
+ "$ref": "#/definitions/CustomEntityStoreAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deleted a custom entity store assignment",
+ "description": "Delete a custom entity store assignment by name for a provided subscription",
+ "tags": [
+ "customEntityStoreAssignments"
+ ],
+ "operationId": "CustomEntityStoreAssignments_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/customEntityStoreAssignmentName"
+ }
+ ],
+ "x-ms-examples": {
+ "Delete a custom entity store assignment": {
+ "$ref": "./examples/CustomEntityStoreAssignments/customEntityStoreAssignmentDelete_example.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK - Custom Entity Store Assignment was deleted"
+ },
+ "204": {
+ "description": "No Content - Custom Entity Store Assignment does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Security/customEntityStoreAssignments": {
+ "get": {
+ "summary": "List custom entity store assignments in a subscription and a resource group",
+ "description": "List custom entity store assignments by a provided subscription and resource group",
+ "tags": [
+ "customEntityStoreAssignments"
+ ],
+ "operationId": "CustomEntityStoreAssignments_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ }
+ ],
+ "x-ms-examples": {
+ "List custom entity store assignments in a subscription and a resource group": {
+ "$ref": "./examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListByResourceGroup_example.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK - Returns a collection of custom entity store assignments",
+ "schema": {
+ "$ref": "#/definitions/CustomEntityStoreAssignmentsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/customEntityStoreAssignments": {
+ "get": {
+ "summary": "List custom entity store assignments in a subscription",
+ "description": "List custom entity store assignments by provided subscription",
+ "tags": [
+ "customEntityStoreAssignments"
+ ],
+ "operationId": "CustomEntityStoreAssignments_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "x-ms-examples": {
+ "List custom entity store assignments in a subscription": {
+ "$ref": "./examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListBySubscription_example.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK - Returns a collection of custom entity store assignments",
+ "schema": {
+ "$ref": "#/definitions/CustomEntityStoreAssignmentsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CustomEntityStoreAssignmentsListResult": {
+ "type": "object",
+ "description": "A list of custom entity store assignments",
+ "properties": {
+ "value": {
+ "description": "Collection of custom entity store assignments",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomEntityStoreAssignment"
+ }
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomEntityStoreAssignment": {
+ "type": "object",
+ "description": "Custom entity store assignment",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "describes custom entity store assignment properties.",
+ "$ref": "#/definitions/CustomEntityStoreAssignmentProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "CustomEntityStoreAssignmentProperties": {
+ "type": "object",
+ "description": "describes the custom entity store assignment properties",
+ "properties": {
+ "principal": {
+ "description": "The principal assigned with entity store. Format of principal is: [AAD type]=[PrincipalObjectId];[TenantId]",
+ "type": "string"
+ },
+ "entityStoreDatabaseLink": {
+ "description": "The link to entity store database.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomEntityStoreAssignmentRequest": {
+ "type": "object",
+ "description": "describes the custom entity store assignment request",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CustomEntityStoreAssignmentRequestProperties"
+ }
+ }
+ },
+ "CustomEntityStoreAssignmentRequestProperties": {
+ "type": "object",
+ "description": "describes properties of custom entity store assignment request",
+ "properties": {
+ "principal": {
+ "description": "The principal assigned with entity store. If not provided, will use caller principal. Format of principal is: [AAD type]=[PrincipalObjectId];[TenantId]",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "customEntityStoreAssignmentName": {
+ "name": "customEntityStoreAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the custom entity store assignment. Generated name is GUID.",
+ "x-ms-parameter-location": "method"
+ },
+ "customEntityStoreAssignmentRequestBody": {
+ "name": "customEntityStoreAssignmentRequestBody",
+ "in": "body",
+ "description": "Custom entity store assignment body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CustomEntityStoreAssignmentRequest"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json
new file mode 100644
index 000000000000..eba83d725d88
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b",
+ "resourceGroupName": "TestResourceGroup",
+ "customAssessmentAutomationName": "MyCustomAssessmentAutomation",
+ "customAssessmentAutomationBody": {
+ "properties": {
+ "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=",
+ "supportedCloud": "AWS",
+ "severity": "Medium",
+ "userImpact": "Moderate",
+ "implementationEffort": "High",
+ "description": "Data should be encrypted",
+ "remediationDescription": "Encrypt store by..."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "name": "33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "type": "Microsoft.Security/customAssessmentAutomations",
+ "properties": {
+ "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=",
+ "supportedCloud": "AWS",
+ "severity": "Medium",
+ "userImpact": "Moderate",
+ "implementationEffort": "High",
+ "description": "Data should be encrypted",
+ "remediationDescription": "Encrypt store by..."
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "name": "33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "type": "Microsoft.Security/customAssessmentAutomations",
+ "properties": {
+ "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=",
+ "supportedCloud": "AWS",
+ "severity": "Medium",
+ "userImpact": "Moderate",
+ "implementationEffort": "High",
+ "description": "Data should be encrypted",
+ "remediationDescription": "Encrypt store by..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationDelete_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationDelete_example.json
new file mode 100644
index 000000000000..b6939c3fe989
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationDelete_example.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b",
+ "resourceGroupName": "TestResourceGroup",
+ "customAssessmentAutomationName": "MyCustomAssessmentAutomation"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json
new file mode 100644
index 000000000000..3db5ffa728ab
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b",
+ "resourceGroupName": "TestResourceGroup",
+ "customAssessmentAutomationName": "MyCustomAssessmentAutomation"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation",
+ "name": "MyCustomAssessmentAutomation",
+ "type": "Microsoft.Security/customAssessmentAutomations",
+ "properties": {
+ "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=",
+ "supportedCloud": "AWS",
+ "severity": "Low",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "description": "organization passwords policy",
+ "remediationDescription": "Change password policy to..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json
new file mode 100644
index 000000000000..a923d883f37f
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b",
+ "resourceGroupName": "TestResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation1",
+ "name": "MyCustomAssessmentAutomation1",
+ "type": "Microsoft.Security/customAssessmentAutomations",
+ "properties": {
+ "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=",
+ "supportedCloud": "AWS",
+ "severity": "Medium",
+ "userImpact": "Moderate",
+ "implementationEffort": "High",
+ "description": "Data should be encrypted",
+ "remediationDescription": "Encrypt store by..."
+ }
+ },
+ {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation2",
+ "name": "MyCustomAssessmentAutomation2",
+ "type": "Microsoft.Security/customAssessmentAutomations",
+ "properties": {
+ "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=",
+ "supportedCloud": "AWS",
+ "severity": "Low",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "description": "organization passwords policy",
+ "remediationDescription": "Change password policy to..."
+ }
+ }
+ ],
+ "nextLink": "link"
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json
new file mode 100644
index 000000000000..d1eca1ba3bfd
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation1",
+ "name": "MyCustomAssessmentAutomation1",
+ "type": "Microsoft.Security/customAssessmentAutomations",
+ "properties": {
+ "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=",
+ "supportedCloud": "AWS",
+ "severity": "Medium",
+ "userImpact": "Moderate",
+ "implementationEffort": "High",
+ "description": "Data should be encrypted",
+ "remediationDescription": "Encrypt store by..."
+ }
+ },
+ {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation2",
+ "name": "MyCustomAssessmentAutomation2",
+ "type": "Microsoft.Security/customAssessmentAutomations",
+ "properties": {
+ "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=",
+ "supportedCloud": "AWS",
+ "severity": "Low",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "description": "organization passwords policy",
+ "remediationDescription": "Change password policy to..."
+ }
+ }
+ ],
+ "nextLink": "link"
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentCreate_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentCreate_example.json
new file mode 100644
index 000000000000..7bb1740f357d
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentCreate_example.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b",
+ "resourceGroupName": "TestResourceGroup",
+ "customEntityStoreAssignmentName": "33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "customEntityStoreAssignmentRequestBody": {
+ "properties": {
+ "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "name": "33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "type": "Microsoft.Security/customEntityStoreAssignments",
+ "properties": {
+ "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA="
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "name": "33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "type": "Microsoft.Security/customEntityStoreAssignments",
+ "properties": {
+ "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA="
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentDelete_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentDelete_example.json
new file mode 100644
index 000000000000..bc98e0c7315a
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentDelete_example.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b",
+ "resourceGroupName": "TestResourceGroup",
+ "customEntityStoreAssignmentName": "33e7cc6e-a139-4723-a0e5-76993aee0771"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentGet_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentGet_example.json
new file mode 100644
index 000000000000..99ec085883fa
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentGet_example.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b",
+ "resourceGroupName": "TestResourceGroup",
+ "customEntityStoreAssignmentName": "33e7cc6e-a139-4723-a0e5-76993aee0771"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "name": "33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "type": "Microsoft.Security/customEntityStoreAssignments",
+ "properties": {
+ "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA="
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListByResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListByResourceGroup_example.json
new file mode 100644
index 000000000000..404f6dd0b6ae
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListByResourceGroup_example.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b",
+ "resourceGroupName": "TestResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "name": "33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "type": "Microsoft.Security/customEntityStoreAssignments",
+ "properties": {
+ "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA="
+ }
+ },
+ {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/a400695c-4728-d5cc-8e19-4b5a76f209df",
+ "name": "a400695c-4728-d5cc-8e19-4b5a76f209df",
+ "type": "Microsoft.Security/customEntityStoreAssignments",
+ "properties": {
+ "principal": "aaduser=f6e2564c-f34a-9b61-416c-5e5e7e521118;72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA="
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListBySubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListBySubscription_example.json
new file mode 100644
index 000000000000..a37928e26010
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomEntityStoreAssignments/customEntityStoreAssignmentListBySubscription_example.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "name": "33e7cc6e-a139-4723-a0e5-76993aee0771",
+ "type": "Microsoft.Security/customEntityStoreAssignments",
+ "properties": {
+ "principal": "aaduser=f3923a3e-ad57-4752-b1a9-fbf3c8e5e082;72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA="
+ }
+ },
+ {
+ "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customEntityStoreAssignments/a400695c-4728-d5cc-8e19-4b5a76f209df",
+ "name": "a400695c-4728-d5cc-8e19-4b5a76f209df",
+ "type": "Microsoft.Security/customEntityStoreAssignments",
+ "properties": {
+ "principal": "aaduser=f6e2564c-f34a-9b61-416c-5e5e7e521118;72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "entityStoreDatabaseLink": "https://dataexplorer.azure.com/clusters/securitydatastore.centralus/databases/DiscoveryAwsKedamari?query=H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA="
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/assignments.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/assignments.json
new file mode 100644
index 000000000000..be26e1b90a31
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/assignments.json
@@ -0,0 +1,382 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2021-08-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/assignments": {
+ "get": {
+ "x-ms-examples": {
+ "List security standardAssignments by subscription level scope": {
+ "$ref": "./examples/Assignments/ListBySubscriptionAssignments_example.json"
+ }
+ },
+ "tags": [
+ "Assignments"
+ ],
+ "description": "Get a list of all relevant standardAssignments over a subscription level scope",
+ "operationId": "Assignments_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/assignments": {
+ "get": {
+ "x-ms-examples": {
+ "List security standardAssignments by subscriptionId and resourceGroup scope": {
+ "$ref": "./examples/Assignments/ListAssignments_example.json"
+ }
+ },
+ "tags": [
+ "Assignments"
+ ],
+ "description": "Get a list of all relevant standardAssignments available for scope",
+ "operationId": "Assignments_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/assignments/{assignmentId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get security standardAssignments by by specific standardAssignmentId": {
+ "$ref": "./examples/Assignments/GetAssignment_example.json"
+ }
+ },
+ "tags": [
+ "Assignments"
+ ],
+ "description": "Get a specific standard assignment for the requested scope by resourceId",
+ "operationId": "Assignments_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/AssignmentId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Assignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Exempt Recommendation From standard and resource": {
+ "$ref": "./examples/Assignments/PutAssignment_example.json"
+ },
+ "Define a default standard assignment": {
+ "$ref": "./examples/Assignments/PutDefaultAssignment_example.json"
+ }
+ },
+ "tags": [
+ "Assignments"
+ ],
+ "description": "Create a security assignment on the given scope. Will create/update the required standard assignment. ",
+ "operationId": "Assignments_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/AssignmentId"
+ },
+ {
+ "$ref": "#/parameters/AssignmentBody"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Assignment"
+ }
+ },
+ "200": {
+ "description": "OK - Updated",
+ "schema": {
+ "$ref": "#/definitions/Assignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete security assignment": {
+ "$ref": "./examples/Assignments/DeleteAssignment_example.json"
+ }
+ },
+ "tags": [
+ "Assignments"
+ ],
+ "description": "Delete a standard assignment over a given scope",
+ "operationId": "Assignments_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/AssignmentId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Standard was deleted"
+ },
+ "204": {
+ "description": "No Content - Standard does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AssignmentList": {
+ "type": "object",
+ "description": "Page of a standard assignment list",
+ "properties": {
+ "value": {
+ "description": "Collection of standardAssignments in this page",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Assignment"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page"
+ }
+ }
+ },
+ "Assignment": {
+ "type": "object",
+ "description": "Security Assignment on a resource group over a given scope",
+ "properties": {
+ "properties": {
+ "description": "Properties of a security assignment",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AssignmentProperties"
+ },
+ "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"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "AssignmentProperties": {
+ "type": "object",
+ "description": "Describes the properties of a standardAssignment",
+ "properties": {
+ "displayName": {
+ "description": "display name of the standardAssignment",
+ "type": "string"
+ },
+ "description": {
+ "description": "description of the standardAssignment",
+ "type": "string"
+ },
+ "assignedStandard": {
+ "description": "Standard item with key as applied to this standard assignment over the given scope",
+ "$ref": "#/definitions/AssignedStandardItem"
+ },
+ "assignedComponent": {
+ "description": "Component item with key as applied to this standard assignment over the given scope",
+ "$ref": "#/definitions/AssignedComponentItem"
+ },
+ "scope": {
+ "description": "Scope to which the standardAssignment applies - can be a subscription path or a resource group under that subscription",
+ "type": "string"
+ },
+ "effect": {
+ "description": "expected effect of this assignment (Disable/Exempt/etc)",
+ "type": "string"
+ },
+ "expiresOn": {
+ "description": "Expiration date of this assignment as a full ISO date",
+ "type": "string",
+ "format": "date-time"
+ },
+ "additionalData": {
+ "description": "Additional data about the assignment",
+ "type": "object",
+ "properties": {
+ "exemptionCategory": {
+ "description": "Exemption category of this assignment",
+ "type": "string"
+ }
+ }
+ },
+ "metadata": {
+ "description": "The assignment metadata. Metadata is an open ended object and is typically a collection of key value pairs.",
+ "type": "object"
+ }
+ }
+ },
+ "AssignedStandardItem": {
+ "type": "object",
+ "description": "describe the properties of a of a security standard object reference",
+ "properties": {
+ "id": {
+ "description": "full resourceId of the Microsoft.Security/standard object",
+ "type": "string"
+ }
+ }
+ },
+ "AssignedComponentItem": {
+ "type": "object",
+ "description": "describe the properties of a security assessment object reference (by key)",
+ "properties": {
+ "key": {
+ "description": "unique key to a security assessment object",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AssignmentId": {
+ "name": "assignmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The security assignment key - unique key for the standard assignment",
+ "x-ms-parameter-location": "method"
+ },
+ "AssignmentBody": {
+ "name": "assignment",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Assignment"
+ },
+ "description": "Custom standard assignment over a pre-defined scope",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/DeleteAssignment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/DeleteAssignment_example.json
new file mode 100644
index 000000000000..6134d4a1a0a0
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/DeleteAssignment_example.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myResourceGroup",
+ "assignmentId": "8bb8be0a-6010-4789-812f-e4d661c4ed0e"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/GetAssignment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/GetAssignment_example.json
new file mode 100644
index 000000000000..32e810b59ccb
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/GetAssignment_example.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myResourceGroup",
+ "assignmentId": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/assignments",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "effect": "Exempt",
+ "expiresOn": "2022-05-01T19:50:47.083633Z",
+ "additionalData": {
+ "exemptionCategory": "waiver"
+ },
+ "metadata": {
+ "ticketId": 12345
+ },
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListAssignments_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListAssignments_example.json
new file mode 100644
index 000000000000..fa1133a2a29b
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListAssignments_example.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/assignments",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "effect": "Exempt",
+ "expiresOn": "2022-05-01T19:50:47.083633Z",
+ "additionalData": {
+ "exemptionCategory": "waiver"
+ },
+ "metadata": {
+ "ticketId": 12345
+ },
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ },
+ {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/assignment",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "effect": "Exempt",
+ "expiresOn": "2022-05-01T19:50:47.083633Z",
+ "additionalData": {
+ "exemptionCategory": "waiver"
+ },
+ "metadata": {
+ "ticketId": 12345
+ },
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListBySubscriptionAssignments_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListBySubscriptionAssignments_example.json
new file mode 100644
index 000000000000..254ff8ac8cbd
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/ListBySubscriptionAssignments_example.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignements/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/assignments",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "effect": "Exempt",
+ "expiresOn": "2022-05-01T19:50:47.083633Z",
+ "additionalData": {
+ "exemptionCategory": "waiver"
+ },
+ "metadata": {
+ "ticketId": 12345
+ },
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ },
+ {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/assignments",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "effect": "Exempt",
+ "expiresOn": "2022-05-01T19:50:47.083633Z",
+ "additionalData": {
+ "exemptionCategory": "waiver"
+ },
+ "metadata": {
+ "ticketId": 12345
+ },
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutAssignment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutAssignment_example.json
new file mode 100644
index 000000000000..0f91a2aab821
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutAssignment_example.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myResourceGroup",
+ "assignmentId": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "assignment": {
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "assignedComponent": {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ "effect": "Exempt",
+ "expiresOn": "2022-05-01T19:50:47.083633Z",
+ "additionalData": {
+ "exemptionCategory": "waiver"
+ },
+ "metadata": {
+ "ticketId": 12345
+ },
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/assignments",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "assignedComponent": {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ "effect": "Exempt",
+ "expiresOn": "2022-05-01T19:50:47.083633Z",
+ "additionalData": {
+ "exemptionCategory": "waiver"
+ },
+ "metadata": {
+ "ticketId": 12345
+ },
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/assignments",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "assignedComponent": {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ "effect": "Exempt",
+ "expiresOn": "2022-05-01T19:50:47.083633Z",
+ "additionalData": {
+ "exemptionCategory": "waiver"
+ },
+ "metadata": {
+ "ticketId": 12345
+ },
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutDefaultAssignment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutDefaultAssignment_example.json
new file mode 100644
index 000000000000..562e8d7c875a
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Assignments/PutDefaultAssignment_example.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myResourceGroup",
+ "assignmentId": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "assignment": {
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "effect": "audit",
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/assignments",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "effect": "audit",
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/assignments/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/assignments",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "ASC Default",
+ "description": "Set of policies monitored by Azure Security Center for cross cloud",
+ "assignedStandard": {
+ "id": "/providers/Microsoft.Security/Standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
+ },
+ "effect": "audit",
+ "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/ResourceGroup/rg"
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/DeleteStandard_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/DeleteStandard_example.json
new file mode 100644
index 000000000000..275b7ca62600
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/DeleteStandard_example.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myResourceGroup",
+ "standardId": "8bb8be0a-6010-4789-812f-e4d661c4ed0e"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json
new file mode 100644
index 000000000000..b21f0cff101e
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myResourceGroup",
+ "standardId": "21300918-b2e3-0346-785f-c77ff57d243b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/standards",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "Cross cloud standard 1",
+ "standardType": "Custom",
+ "description": "Controls and security data implementing security recommendations defined in Azure Security",
+ "category": "SecurityCenter",
+ "components": [
+ {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ {
+ "key": "dbd0cb49-b563-45e7-9724-889e799fa648"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json
new file mode 100644
index 000000000000..ab68d16db797
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/standards",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "Cross cloud standard 1",
+ "standardType": "Custom",
+ "description": "Controls and security data implementing security recommendations defined in Azure Security",
+ "category": "SecurityCenter",
+ "components": [
+ {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ {
+ "key": "dbd0cb49-b563-45e7-9724-889e799fa648"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ },
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/155afdf9-d239-4a5c-847f-89da613e7143",
+ "name": "155afdf9-d239-4a5c-847f-89da613e7143",
+ "type": "Microsoft.Security/standards",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "Cross cloud standard 2",
+ "standardType": "Custom",
+ "description": "Controls and security data implementing security recommendations defined in Azure Security",
+ "category": "SecurityCenter",
+ "components": [
+ {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ {
+ "key": "dbd0cb49-b563-45e7-9724-889e799fa648"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json
new file mode 100644
index 000000000000..333264a9acdd
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "type": "Microsoft.Security/standards",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "Cross cloud standard 1",
+ "standardType": "Custom",
+ "description": "Controls and security data implementing security recommendations defined in Azure Security",
+ "category": "SecurityCenter",
+ "components": [
+ {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ {
+ "key": "dbd0cb49-b563-45e7-9724-889e799fa648"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ },
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/providers/Microsoft.Security/standards/155afdf9-d239-4a5c-847f-89da613e7143",
+ "name": "155afdf9-d239-4a5c-847f-89da613e7143",
+ "type": "Microsoft.Security/standards",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "Cross cloud standard 2",
+ "standardType": "Custom",
+ "description": "Controls and security data implementing security recommendations defined in Azure Security",
+ "category": "SecurityCenter",
+ "components": [
+ {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ {
+ "key": "dbd0cb49-b563-45e7-9724-889e799fa648"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json
new file mode 100644
index 000000000000..f5f1c7edb385
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myResourceGroup",
+ "standardId": "8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "standard": {
+ "properties": {
+ "displayName": "Azure Test Security Standard 1",
+ "description": "description of Azure Test Security Standard 1",
+ "category": "SecurityCenter",
+ "components": [
+ {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ {
+ "key": "dbd0cb49-b563-45e7-9724-889e799fa648"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/provider/Microsoft.Security/standards/8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "name": "8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "type": "Microsoft.Security/standards",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "Azure Test Security Standard 1",
+ "standardType": "Custom",
+ "description": "description of Azure Test Security Standard 1",
+ "category": "SecurityCenter",
+ "components": [
+ {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ {
+ "key": "dbd0cb49-b563-45e7-9724-889e799fa648"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myResourceGroup/provider/Microsoft.Security/standards/8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "name": "8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "type": "Microsoft.Security/standards",
+ "location": "East US",
+ "etag": "etag value",
+ "properties": {
+ "displayName": "Azure Test Security Standard 1",
+ "standardType": "Custom",
+ "description": "description of Azure Test Security Standard 1",
+ "category": "SecurityCenter",
+ "components": [
+ {
+ "key": "1195afff-c881-495e-9bc5-1486211ae03f"
+ },
+ {
+ "key": "dbd0cb49-b563-45e7-9724-889e799fa648"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json
new file mode 100644
index 000000000000..4c4a5203cba0
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json
@@ -0,0 +1,353 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2021-08-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/standards": {
+ "get": {
+ "x-ms-examples": {
+ "List security standards by subscription level scope": {
+ "$ref": "./examples/Standards/ListBySubscriptionStandards_example.json"
+ }
+ },
+ "tags": [
+ "Standards"
+ ],
+ "description": "Get a list of all relevant security standards over a subscription level scope.",
+ "operationId": "Standards_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StandardList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/standards": {
+ "get": {
+ "x-ms-examples": {
+ "List security standards": {
+ "$ref": "./examples/Standards/ListStandards_example.json"
+ }
+ },
+ "tags": [
+ "Standards"
+ ],
+ "description": "Get security standards on all your resources inside a scope",
+ "operationId": "Standards_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StandardList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/standards/{standardId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get a specific security standard by scope and standardId": {
+ "$ref": "./examples/Standards/GetStandard_example.json"
+ }
+ },
+ "tags": [
+ "Standards"
+ ],
+ "description": "Get a specific security standard for the requested scope",
+ "operationId": "Standards_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/StandardId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Standard"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create a security standard on a specified scope": {
+ "$ref": "./examples/Standards/PutStandard_example.json"
+ }
+ },
+ "tags": [
+ "Standards"
+ ],
+ "description": "Create a security standard on the given scope. Available only for custom standards. Will create/update the required standard definitions.",
+ "operationId": "Standards_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/StandardId"
+ },
+ {
+ "$ref": "#/parameters/StandardBody"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Standard"
+ }
+ },
+ "200": {
+ "description": "OK - Updated",
+ "schema": {
+ "$ref": "#/definitions/Standard"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete a security standard over the specified scope": {
+ "$ref": "./examples/Standards/DeleteStandard_example.json"
+ }
+ },
+ "tags": [
+ "Standards"
+ ],
+ "description": "Delete a security standard on a scope.",
+ "operationId": "Standards_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/StandardId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Standard was deleted"
+ },
+ "204": {
+ "description": "No Content - Standard does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "StandardList": {
+ "type": "object",
+ "description": "Page of a Standard list",
+ "properties": {
+ "value": {
+ "description": "Collection of standards in this page",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Standard"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page"
+ }
+ }
+ },
+ "Standard": {
+ "type": "object",
+ "description": "Security Standard on a resource",
+ "properties": {
+ "properties": {
+ "description": "Properties of a security standard",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StandardProperties"
+ },
+ "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"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "StandardProperties": {
+ "type": "object",
+ "description": "Describes properties of a standard.",
+ "properties": {
+ "displayName": {
+ "description": "display name of the standard, equivalent to the standardId",
+ "type": "string"
+ },
+ "standardType": {
+ "description": "standard type (Custom or BuiltIn only currently)",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "description of the standard",
+ "type": "string"
+ },
+ "category": {
+ "description": "category of the standard provided",
+ "type": "string"
+ },
+ "components": {
+ "description": "List of component objects containing component unique keys (such as assessment keys) to apply to standard scope. Currently only supports assessment keys.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StandardComponentProperties"
+ }
+ }
+ }
+ },
+ "StandardComponentProperties": {
+ "type": "object",
+ "description": "Describes properties of an component as related to the standard",
+ "properties": {
+ "key": {
+ "description": "Component Key matching componentMetadata",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "StandardId": {
+ "name": "standardId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Security Standard key - unique key for the standard type",
+ "x-ms-parameter-location": "method"
+ },
+ "StandardBody": {
+ "name": "standard",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Standard"
+ },
+ "description": "Custom security standard over a pre-defined scope",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/assessmentMetadata.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/assessmentMetadata.json
index b130a9c0569e..566c9aaf5593 100644
--- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/assessmentMetadata.json
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/assessmentMetadata.json
@@ -719,9 +719,8 @@
"Network Sniffing",
"Non-Application Layer Protocol",
"Non-Standard Port",
- "Obfuscated Files or Information",
"Obtain Capabilities",
- "Obuscated Files or Information",
+ "Obfuscated Files or Information",
"Office Application Startup",
"OS Credential Dumping",
"Permission Groups Discovery",
@@ -961,14 +960,11 @@
{
"value": "Non-Standard Port"
},
- {
- "value": "Obfuscated Files or Information"
- },
{
"value": "Obtain Capabilities"
},
{
- "value": "Obuscated Files or Information"
+ "value": "Obfuscated Files or Information"
},
{
"value": "Office Application Startup"
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json
index 1d3b5a8c2ae8..e58f1307ae58 100644
--- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json
@@ -40,7 +40,7 @@
"Privilege Escalation"
],
"techniques": [
- "Obuscated Files or Information",
+ "Obfuscated Files or Information",
"Ingress Tool Transfer",
"Phishing",
"User Execution"
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json
index eccba4cfa404..665650571e6d 100644
--- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json
@@ -41,7 +41,7 @@
"Privilege Escalation"
],
"techniques": [
- "Obuscated Files or Information",
+ "Obfuscated Files or Information",
"Ingress Tool Transfer",
"Phishing",
"User Execution"
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json
index 9dd72f1eddb5..82a62fff2488 100644
--- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json
@@ -41,7 +41,7 @@
"Privilege Escalation"
],
"techniques": [
- "Obuscated Files or Information",
+ "Obfuscated Files or Information",
"Ingress Tool Transfer",
"Phishing",
"User Execution"
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json
index 652a8c6eca31..9e7f41e091d4 100644
--- a/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-06-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json
@@ -42,7 +42,7 @@
"Privilege Escalation"
],
"techniques": [
- "Obuscated Files or Information",
+ "Obfuscated Files or Information",
"Ingress Tool Transfer",
"Phishing",
"User Execution"
diff --git a/specification/security/resource-manager/readme.go.md b/specification/security/resource-manager/readme.go.md
index fd7665ccbe32..5e49df8201b5 100644
--- a/specification/security/resource-manager/readme.go.md
+++ b/specification/security/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/security/armsecurity
+module-name: sdk/resourcemanager/security/armsecurity
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md
index faf7ea0c9c48..728fd9b66f25 100644
--- a/specification/security/resource-manager/readme.md
+++ b/specification/security/resource-manager/readme.md
@@ -44,6 +44,18 @@ directive:
from: ingestionSettings.json
where: $.definitions.IngestionConnectionString.properties.value
reason: Secrets are OK to return in a POST response.
+ - suppress: OperationsAPIImplementation
+ where: $.paths
+ from: settings.json
+ reason: Operations API has nothing to do with current additions.
+ - suppress: OperationsAPIImplementation
+ where: $.paths
+ from: assignments.json
+ reason: Suppression of OperationsAPI as it doesn't apply to this specific file.
+ - suppress: OperationsAPIImplementation
+ where: $.paths
+ from: standards.json
+ reason: Suppression of OperationsAPI as it doesn't apply to this specific file.
```
### Basic Information
@@ -54,13 +66,25 @@ 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
The following packages may be composed from multiple api-versions.
+### Tag: package-preview-2021-08
+
+These settings apply only when `--tag=package-preview-2021-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2021-08'
+input-file:
+ - Microsoft.Security/preview/2021-08-01-preview/standards.json
+ - Microsoft.Security/preview/2021-08-01-preview/assignments.json
+
+override-info:
+ title: SecurityCenter
+```
### Tag: package-composite-v1
@@ -68,6 +92,8 @@ These settings apply only when `--tag=package-composite-v1` is specified on the
``` yaml $(tag) == 'package-composite-v1'
input-file:
+- Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json
+- Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json
- Microsoft.Security/preview/2021-05-01-preview/softwareInventories.json
- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json
- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json
@@ -111,6 +137,8 @@ These settings apply only when `--tag=package-composite-v2` is specified on the
``` yaml $(tag) == 'package-composite-v2'
input-file:
+- Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json
+- Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json
- Microsoft.Security/preview/2021-05-01-preview/softwareInventories.json
- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json
- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json
@@ -156,6 +184,8 @@ These settings apply only when `--tag=package-composite-v3` is specified on the
``` yaml $(tag) == 'package-composite-v3'
input-file:
+- Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json
+- Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json
- Microsoft.Security/stable/2017-08-01/complianceResults.json
- Microsoft.Security/stable/2018-06-01/pricings.json
- Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json
@@ -414,6 +444,21 @@ override-info:
title: SecurityCenter
```
+### Tag: package-preview-2021-07
+
+These settings apply only when `--tag=package-2021-07-preview-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-07-preview-only'
+input-file:
+ - Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json
+ - Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json
+```
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
### Tag: package-2021-06-only
These settings apply only when `--tag=package-2021-06-only` is specified on the command line. This tag is used for Ruby SDK.
@@ -442,6 +487,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/Metadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/Metadata.json
index b9779463df25..a85c80f07539 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/Metadata.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/Metadata.json
@@ -591,6 +591,58 @@
}
}
},
+ "metadataCategories": {
+ "type": "object",
+ "description": "ies for the solution content item",
+ "properties": {
+ "domains": {
+ "description": "domain for the solution content item",
+ "type": "array",
+ "example": [
+ "str1",
+ "str2",
+ "str3"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "verticals": {
+ "description": "Industry verticals for the solution content item",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "str1",
+ "str2",
+ "str3"
+ ]
+ }
+ }
+ },
+ "metadataProviders": {
+ "description": "Providers for the solution content item",
+ "type": "array",
+ "example": [
+ "str1",
+ "str2",
+ "str3"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "firstPublishDate": {
+ "description": "first publish date of solution content item",
+ "type": "string",
+ "format": "date"
+ },
+ "lastPublishDate": {
+ "description": "last publish date of solution content item",
+ "type": "string",
+ "format": "date"
+ },
"metadataProperties": {
"description": "Metadata property bag.",
"required": [
@@ -630,6 +682,22 @@
"dependencies": {
"$ref": "#/definitions/metadataDependencies",
"description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats."
+ },
+ "categories": {
+ "$ref": "#/definitions/metadataCategories",
+ "description": "Categories for the solution content item"
+ },
+ "providers": {
+ "$ref": "#/definitions/metadataProviders",
+ "description": "Providers for the solution content item"
+ },
+ "firstPublishDate": {
+ "$ref": "#/definitions/firstPublishDate",
+ "description": "first publish date solution content item"
+ },
+ "lastPublishDate": {
+ "$ref": "#/definitions/lastPublishDate",
+ "description": "last publish date for the solution content item"
}
}
},
@@ -668,6 +736,22 @@
"dependencies": {
"$ref": "#/definitions/metadataDependencies",
"description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats."
+ },
+ "categories": {
+ "$ref": "#/definitions/metadataCategories",
+ "description": "Categories for the solution content item"
+ },
+ "providers": {
+ "$ref": "#/definitions/metadataProviders",
+ "description": "Providers for the solution content item"
+ },
+ "firstPublishDate": {
+ "$ref": "#/definitions/firstPublishDate",
+ "description": "first publish date solution content item"
+ },
+ "lastPublishDate": {
+ "$ref": "#/definitions/lastPublishDate",
+ "description": "last publish date for the solution content item"
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/metadata/GetMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/metadata/GetMetadata.json
index 5753c829a1ed..2490d4197151 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/metadata/GetMetadata.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/metadata/GetMetadata.json
@@ -64,7 +64,22 @@
"contentId": "21ba424a-9438-4444-953a-7059539a7a1b"
}
]
- }
+ },
+ "categories": {
+ "domains": [
+ "Application",
+ "Security – Insider Threat"
+ ],
+ "verticals": [
+ "Healthcare"
+ ]
+ },
+ "providers": [
+ "Amazon",
+ "Microsoft"
+ ],
+ "firstPublishDate": "2021-05-18",
+ "lastPublishDate": "2021-05-18"
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/metadata/PutMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/metadata/PutMetadata.json
index a6bbd1386106..624d3f350c5f 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/metadata/PutMetadata.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-03-01-preview/examples/metadata/PutMetadata.json
@@ -59,7 +59,22 @@
"contentId": "21ba424a-9438-4444-953a-7059539a7a1b"
}
]
- }
+ },
+ "categories": {
+ "domains": [
+ "Application",
+ "Security – Insider Threat"
+ ],
+ "verticals": [
+ "Healthcare"
+ ]
+ },
+ "providers": [
+ "Amazon",
+ "Microsoft"
+ ],
+ "firstPublishDate": "2021-05-18",
+ "lastPublishDate": "2021-05-18"
}
}
},
@@ -120,7 +135,22 @@
"contentId": "21ba424a-9438-4444-953a-7059539a7a1b"
}
]
- }
+ },
+ "categories": {
+ "domains": [
+ "Application",
+ "Security – Insider Threat"
+ ],
+ "verticals": [
+ "Healthcare"
+ ]
+ },
+ "providers": [
+ "Amazon",
+ "Microsoft"
+ ],
+ "firstPublishDate": "2021-05-18",
+ "lastPublishDate": "2021-05-18"
}
}
},
@@ -180,7 +210,22 @@
"contentId": "21ba424a-9438-4444-953a-7059539a7a1b"
}
]
- }
+ },
+ "categories": {
+ "domains": [
+ "Application",
+ "Security – Insider Threat"
+ ],
+ "verticals": [
+ "Healthcare"
+ ]
+ },
+ "providers": [
+ "Amazon",
+ "Microsoft"
+ ],
+ "firstPublishDate": "2021-05-18",
+ "lastPublishDate": "2021-05-18"
}
}
}
diff --git a/specification/servicebus/resource-manager/readme.go.md b/specification/servicebus/resource-manager/readme.go.md
index 81cfc33cd8fa..5ed9b8f95f01 100644
--- a/specification/servicebus/resource-manager/readme.go.md
+++ b/specification/servicebus/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/servicebus/armservicebus
+module-name: sdk/resourcemanager/servicebus/armservicebus
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
@@ -21,11 +21,21 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-06-preview
- tag: package-2018-01-preview
- tag: package-2017-04
- tag: package-2015-08
```
+### Tag: package-2021-06-preview and go
+
+These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=