From 2aa64e009a52b508db1038d1bbe41906b24b05f9 Mon Sep 17 00:00:00 2001 From: stivanov-git <61129265+stivanov-git@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:36:55 -0700 Subject: [PATCH] MG RP new API versions: 2020-10-01 and 2021-04-01 (#13897) * API 2020-10-01 with 2020-05-01 files * 2020-10-01 API changes * 2021-04-01 API version with 2020-10-01 files * Changes for 2021-04-01 API * PR fixes * Fixed issues with model * PR fixes --- .../stable/2020-05-01/management.json | 16 +- .../AddManagementGroupSubscription.json | 25 + .../CheckManagementGroupNameAvailability.json | 19 + .../examples/DeleteHierarchySettings.json | 9 + .../examples/DeleteManagementGroup.json | 18 + ...etAllSubscriptionsFromManagementGroup.json | 28 + .../2020-10-01/examples/GetDescendants.json | 37 + .../2020-10-01/examples/GetEntities.json | 64 + .../examples/GetHierarchySettings.json | 20 + .../examples/GetManagementGroup.json | 30 + .../GetManagementGroupWithAncestors.json | 35 + .../GetManagementGroupWithExpand.json | 63 + ...etManagementGroupWithExpandAndRecurse.json | 62 + .../examples/GetManagementGroupWithPath.json | 41 + .../GetSubscriptionFromManagementGroup.json | 25 + .../examples/ListHierarchySettings.json | 25 + .../examples/ListManagementGroups.json | 33 + .../examples/PatchHierarchySettings.json | 26 + .../examples/PatchManagementGroup.json | 34 + .../examples/PutHierarchySettings.json | 26 + .../examples/PutManagementGroup.json | 48 + .../RemoveManagementGroupSubscription.json | 12 + .../examples/StartTenantBackfillRequest.json | 14 + .../examples/TenantBackfillStatusRequest.json | 14 + .../stable/2020-10-01/management.json | 2115 ++++++++++++++++ .../AddManagementGroupSubscription.json | 25 + .../CheckManagementGroupNameAvailability.json | 19 + .../examples/DeleteHierarchySettings.json | 9 + .../examples/DeleteManagementGroup.json | 18 + ...etAllSubscriptionsFromManagementGroup.json | 28 + .../2021-04-01/examples/GetDescendants.json | 37 + .../2021-04-01/examples/GetEntities.json | 64 + .../examples/GetHierarchySettings.json | 20 + .../examples/GetManagementGroup.json | 30 + .../GetManagementGroupWithAncestors.json | 41 + .../GetManagementGroupWithExpand.json | 63 + ...etManagementGroupWithExpandAndRecurse.json | 62 + .../examples/GetManagementGroupWithPath.json | 41 + .../GetSubscriptionFromManagementGroup.json | 25 + .../examples/ListHierarchySettings.json | 25 + .../examples/ListManagementGroups.json | 33 + .../examples/PatchHierarchySettings.json | 26 + .../examples/PatchManagementGroup.json | 34 + .../examples/PutHierarchySettings.json | 26 + .../examples/PutManagementGroup.json | 48 + .../RemoveManagementGroupSubscription.json | 12 + .../examples/StartTenantBackfillRequest.json | 14 + .../examples/TenantBackfillStatusRequest.json | 14 + .../stable/2021-04-01/management.json | 2123 +++++++++++++++++ .../readme.azureresourceschema.md | 24 + .../resource-manager/readme.go.md | 20 + .../resource-manager/readme.md | 46 +- 52 files changed, 5757 insertions(+), 9 deletions(-) create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/AddManagementGroupSubscription.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/CheckManagementGroupNameAvailability.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/DeleteHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/DeleteManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetAllSubscriptionsFromManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetDescendants.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetEntities.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithAncestors.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithExpand.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithExpandAndRecurse.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithPath.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetSubscriptionFromManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/ListHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/ListManagementGroups.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PatchHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PatchManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PutHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PutManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/RemoveManagementGroupSubscription.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/StartTenantBackfillRequest.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/TenantBackfillStatusRequest.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/management.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/AddManagementGroupSubscription.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/CheckManagementGroupNameAvailability.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetAllSubscriptionsFromManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetDescendants.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetEntities.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithAncestors.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithExpand.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithExpandAndRecurse.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithPath.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetSubscriptionFromManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListManagementGroups.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PatchHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PatchManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PutHierarchySettings.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PutManagementGroup.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/RemoveManagementGroupSubscription.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/StartTenantBackfillRequest.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/TenantBackfillStatusRequest.json create mode 100644 specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/management.json index c6f541ac5f51..9b17bfba4f29 100644 --- a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/management.json +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/management.json @@ -1220,14 +1220,6 @@ "items": { "$ref": "#/definitions/ManagementGroupChildInfo" } - }, - "path": { - "description": "The path from the root to the current group.", - "x-nullable": true, - "type": "array", - "items": { - "$ref": "#/definitions/ManagementGroupPathElement" - } } } }, @@ -1252,6 +1244,14 @@ "parent": { "title": "Parent", "$ref": "#/definitions/ParentGroupInfo" + }, + "path": { + "description": "The path from the root to the current group.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupPathElement" + } } } }, diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/AddManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/AddManagementGroupSubscription.json new file mode 100644 index 000000000000..f7ac80087f1e --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/AddManagementGroupSubscription.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": " /providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "Group", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/CheckManagementGroupNameAvailability.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/CheckManagementGroupNameAvailability.json new file mode 100644 index 000000000000..45f512e4c75a --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/CheckManagementGroupNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "checkNameAvailabilityRequest": { + "name": "nameTocheck", + "type": "Microsoft.Management/managementGroups" + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Error message" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/DeleteHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/DeleteHierarchySettings.json new file mode 100644 index 000000000000..03038ac7a840 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/DeleteHierarchySettings.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "root" + }, + "responses": { + "200": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/DeleteManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/DeleteManagementGroup.json new file mode 100644 index 000000000000..78caea237ff0 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/DeleteManagementGroup.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "GroupToDelete", + "Cache-Control": "no-cache" + }, + "responses": { + "202": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/GroupToDelete", + "type": "Microsoft.Management/managementGroups", + "name": "GroupToDelete", + "status": "NotStarted" + } + }, + "204": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetAllSubscriptionsFromManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetAllSubscriptionsFromManagementGroup.json new file mode 100644 index 000000000000..c7f222b00311 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetAllSubscriptionsFromManagementGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "Group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": "/providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "S5", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetDescendants.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetDescendants.json new file mode 100644 index 000000000000..411fce1d8f7e --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetDescendants.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "20000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "displayName": "Group 1", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + } + } + }, + { + "id": "/subscriptions/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups/subscriptions", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "displayName": "Subscription 4", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetEntities.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetEntities.json new file mode 100644 index 000000000000..0907534dd5a8 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetEntities.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + }, + "permissions": "view", + "inheritedPermissions": "view", + "parentDisplayNameChain": [ + "Tenant Root Group", + "Group 1 Tenant 2 Parent" + ], + "parentNameChain": [ + "TenantRootGroup", + "Group1Tenant2Parent" + ], + "numberOfDescendants": 3, + "numberOfChildren": 2, + "numberOfChildGroups": 1 + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 4 Tenant 2", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + }, + "permissions": "delete", + "inheritedPermissions": "delete", + "parentDisplayNameChain": [ + "Tenant Root Group", + "Group 4 Tenant 2 Parent" + ], + "parentNameChain": [ + "TenantRootGroup", + "Group4 Tenant2Parent" + ], + "numberOfDescendants": 0, + "numberOfChildren": 0, + "numberOfChildGroups": 0 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetHierarchySettings.json new file mode 100644 index 000000000000..79cef0072868 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetHierarchySettings.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "root" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroup.json new file mode 100644 index 000000000000..442512517de8 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "name": "RootGroup", + "displayName": "RootGroup" + } + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithAncestors.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithAncestors.json new file mode 100644 index 000000000000..59cc4301a17f --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithAncestors.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "ancestors", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000001", + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + }, + "managementGroupAncestors": [ + "20000000-0000-0000-0000-000000000001", + "20000000-0000-0000-0000-000000000000" + ] + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithExpand.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithExpand.json new file mode 100644 index 000000000000..fea9231dc010 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithExpand.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "children", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "20000000-0000-0000-0000-000000000000" + } + }, + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0002-0000-0000-000000000000", + "displayName": "Group 2 Tenant 2" + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0003-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0003-0000-0000-000000000000", + "displayName": "Group 3 Tenant 2" + }, + { + "id": "/subscriptions/10000000-F004-0000-0000-000000000000", + "type": "/subscriptions", + "name": "10000000-F004-0000-0000-000000000000", + "displayName": "Subscription 4 Tenant 1" + }, + { + "id": "/subscriptions/20000000-F005-0000-0000-000000000000", + "type": "/subscriptions", + "name": "20000000-F005-0000-0000-000000000000", + "displayName": "Subscription 5 Tenant 2" + }, + { + "id": "/subscriptions/30000000-F003-0000-0000-000000000000", + "type": "/subscriptions", + "name": "30000000-F003-0000-0000-000000000000", + "displayName": "Subscription 3 Tenant 3" + } + ] + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithExpandAndRecurse.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithExpandAndRecurse.json new file mode 100644 index 000000000000..48bcfc6068d2 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithExpandAndRecurse.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "children", + "$recurse": true, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "type": "Microsoft.Management/managementGroups", + "name": "RootGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "RootGroup", + "details": { + "version": 2, + "updatedTime": "2018-01-25T02:26:49.0022093Z", + "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "20000000-0000-0000-0000-000000000000" + } + }, + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/Child", + "type": "Microsoft.Management/managementGroups", + "name": "Child", + "displayName": "Child", + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/Leaf", + "type": "Microsoft.Management/managementGroups", + "name": "Leaf", + "displayName": "Leaf", + "children": [ + { + "id": "/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "/subscriptions", + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "displayName": "Pay-As-You-Go" + } + ] + } + ] + }, + { + "id": "/providers/Microsoft.Management/managementGroups/AnotherChild", + "type": "Microsoft.Management/managementGroups", + "name": "AnotherChild", + "displayName": "Leaf" + } + ] + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithPath.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithPath.json new file mode 100644 index 000000000000..ac96e22ad5ab --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetManagementGroupWithPath.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "path", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000001", + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + }, + "path": [ + { + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "Grandparent display name" + }, + { + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + } + ] + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetSubscriptionFromManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetSubscriptionFromManagementGroup.json new file mode 100644 index 000000000000..f7ac80087f1e --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/GetSubscriptionFromManagementGroup.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": " /providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "Group", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/ListHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/ListHierarchySettings.json new file mode 100644 index 000000000000..05aa8a9e391b --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/ListHierarchySettings.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "root" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/ListManagementGroups.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/ListManagementGroups.json new file mode 100644 index 000000000000..707b791f87e7 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/ListManagementGroups.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2" + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 4 Tenant 2" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PatchHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PatchHierarchySettings.json new file mode 100644 index 000000000000..05b91efa0ecd --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PatchHierarchySettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "root", + "CreateTenantSettingsRequest": { + "properties": { + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PatchManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PatchManagementGroup.json new file mode 100644 index 000000000000..945f8f41ec07 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PatchManagementGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "ChildGroup", + "patchGroupRequest": { + "displayName": "AlternateDisplayName", + "parentGroupId": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup" + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "AlternateDisplayName", + "details": { + "version": 2, + "updatedTime": "2018-01-25T02:46:59.0545645Z", + "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup", + "name": "AlternateRootGroup", + "displayName": "AlternateRootGroup" + } + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PutHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PutHierarchySettings.json new file mode 100644 index 000000000000..05b91efa0ecd --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PutHierarchySettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "root", + "CreateTenantSettingsRequest": { + "properties": { + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PutManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PutManagementGroup.json new file mode 100644 index 000000000000..cb7fae222e36 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/PutManagementGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "ChildGroup", + "createManagementGroupRequest": { + "properties": { + "displayName": "ChildGroup", + "details": { + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup" + } + } + } + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "ChildGroup", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "name": "RootGroup", + "displayName": "RootGroup" + } + } + } + } + }, + "202": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "status": "NotStarted" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/RemoveManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/RemoveManagementGroupSubscription.json new file mode 100644 index 000000000000..ef4b6a52cf2c --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/RemoveManagementGroupSubscription.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/StartTenantBackfillRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/StartTenantBackfillRequest.json new file mode 100644 index 000000000000..faa955d711c2 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/StartTenantBackfillRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "startTenantBackfillRequest": {} + }, + "responses": { + "200": { + "body": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "status": "Started" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/TenantBackfillStatusRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/TenantBackfillStatusRequest.json new file mode 100644 index 000000000000..8e21d9e0773a --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/examples/TenantBackfillStatusRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "tenantBackfillStatusRequest": {} + }, + "responses": { + "200": { + "body": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "status": "Started" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/management.json new file mode 100644 index 000000000000..94e2e99ed7cf --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-10-01/management.json @@ -0,0 +1,2115 @@ +{ + "swagger": "2.0", + "host": "management.azure.com", + "info": { + "version": "2020-10-01", + "title": "Management Groups API", + "description": "The Azure Management Groups API enables consolidation of multiple \nsubscriptions/resources into an organizational hierarchy and centrally \nmanage access control, policies, alerting and reporting for those resources.\n" + }, + "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" + } + } + }, + "tags": [ + { + "name": "ManagementGroups", + "description": "A Management Group is a customer defined scope (grouping mechanism) that \nprovides access control (authorization), policy management and reporting. \nManagement Groups are organized in a strictly tree-based hierarchy.\n" + }, + { + "name": "Operations", + "description": "Management operations supported by the Microsoft.Management resource provider.\n" + }, + { + "name": "Entities", + "description": "A list of entities that belong to the Management Groups.\n" + } + ], + "paths": { + "/providers/Microsoft.Management/managementGroups": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_List", + "description": "List management groups for the authenticated user.\n", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroupListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListManagementGroups": { + "$ref": "./examples/ListManagementGroups.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Get", + "description": "Get the details of the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + }, + { + "$ref": "#/parameters/RecurseParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetManagementGroup": { + "$ref": "./examples/GetManagementGroup.json" + }, + "GetManagementGroupWithPath": { + "$ref": "./examples/GetManagementGroupWithPath.json" + }, + "GetManagementGroupWithAncestors": { + "$ref": "./examples/GetManagementGroupWithAncestors.json" + }, + "GetManagementGroupWithExpand": { + "$ref": "./examples/GetManagementGroupWithExpand.json" + }, + "GetManagementGroupsWithExpandAndRecurse": { + "$ref": "./examples/GetManagementGroupWithExpandAndRecurse.json" + } + } + }, + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_CreateOrUpdate", + "description": "Create or update a management group.\nIf a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/CreateManagementGroupRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AzureAsyncOperationResults" + }, + "headers": { + "Location": { + "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\nThe URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL for checking the ongoing status of the operation.\nTo get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations", + "type": "string" + } + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PutManagementGroup": { + "$ref": "./examples/PutManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Update", + "description": "Update a management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/PatchGroupRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PatchManagementGroup": { + "$ref": "./examples/PatchManagementGroup.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Delete", + "description": "Delete management group.\nIf a management group contains child resources, the request will fail.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AzureAsyncOperationResults" + }, + "headers": { + "Location": { + "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\nThe URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL for checking the ongoing status of the operation.\nTo get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteManagementGroup": { + "$ref": "./examples/DeleteManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/descendants": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_GetDescendants", + "description": "List all entities that descend from a management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DescendantListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDescendants": { + "$ref": "./examples/GetDescendants.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}": { + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_Create", + "description": "Associates existing subscription with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AddSubscriptionToManagementGroup": { + "$ref": "./examples/AddManagementGroupSubscription.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_Delete", + "description": "De-associates subscription from the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteSubscriptionFromManagementGroup": { + "$ref": "./examples/RemoveManagementGroupSubscription.json" + } + } + }, + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_GetSubscription", + "description": "Retrieves details about given subscription which is associated with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetSubscriptionFromManagementGroup": { + "$ref": "./examples/GetSubscriptionFromManagementGroup.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_GetSubscriptionsUnderManagementGroup", + "description": "Retrieves details about all subscriptions which are associated with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListSubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetAllSubscriptionsFromManagementGroup": { + "$ref": "./examples/GetAllSubscriptionsFromManagementGroup.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/settings": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_List", + "description": "Gets all the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettingsList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ListGroupSettings": { + "$ref": "./examples/ListHierarchySettings.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/settings/default": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Get", + "description": "Gets the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/GetHierarchySettings.json" + } + } + }, + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_CreateOrUpdate", + "description": "Creates or updates the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CreateOrUpdateManagementGroupSettingsRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/PutHierarchySettings.json" + } + } + }, + "patch": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Update", + "description": "Updates the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CreateOrUpdateManagementGroupSettingsRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/PatchHierarchySettings.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Delete", + "description": "Deletes the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/DeleteHierarchySettings.json" + } + } + } + }, + "/providers/Microsoft.Management/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Management REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "operationId": "CheckNameAvailability", + "description": "Checks if the specified management group name is valid and unique", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CheckNameAvailabilityParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckManagementGroupNameAvailability": { + "$ref": "./examples/CheckManagementGroupNameAvailability.json" + } + } + } + }, + "/providers/Microsoft.Management/getEntities": { + "post": { + "tags": [ + "Entities" + ], + "operationId": "Entities_List", + "description": "List all entities (Management Groups, Subscriptions, etc.) for the authenticated user.\n", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/SkipParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/SelectParameter" + }, + { + "$ref": "#/parameters/SearchParameter" + }, + { + "$ref": "#/parameters/EntityFilterParameter" + }, + { + "$ref": "#/parameters/EntityViewParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetEntities": { + "$ref": "./examples/GetEntities.json" + } + } + } + }, + "/providers/Microsoft.Management/startTenantBackfill": { + "post": { + "tags": [ + "TenantBackfill" + ], + "operationId": "StartTenantBackfill", + "description": "Starts backfilling subscriptions for the Tenant.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TenantBackfillStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "StartTenantBackfill": { + "$ref": "./examples/StartTenantBackfillRequest.json" + } + } + } + }, + "/providers/Microsoft.Management/tenantBackfillStatus": { + "post": { + "tags": [ + "TenantBackfill" + ], + "operationId": "TenantBackfillStatus", + "description": "Gets tenant backfill status", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TenantBackfillStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TenantBackfillStatus": { + "$ref": "./examples/TenantBackfillStatusRequest.json" + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "The error object.", + "properties": { + "error": { + "title": "Error", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "type": "string" + }, + "message": { + "description": "A human-readable representation of the error.", + "type": "string" + }, + "details": { + "description": "A human-readable representation of the error's details.", + "type": "string" + } + } + }, + "Operation": { + "description": "Operation supported by the Microsoft.Management resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "title": "Display", + "$ref": "#/definitions/OperationDisplayProperties" + } + } + }, + "OperationDisplayProperties": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "The name of the provider.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The operation that can be performed.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Operation description.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Describes the result of the request to list Microsoft.Management operations.", + "properties": { + "value": { + "description": "List of operations supported by the Microsoft.Management resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "CheckNameAvailabilityResult": { + "description": "Describes the result of the request to check management group name availability.", + "properties": { + "nameAvailable": { + "description": "Required. True indicates name is valid and available. False indicates the name is invalid, unavailable, or both.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "Required if nameAvailable == false. Invalid indicates the name provided does not match the resource provider's naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false, + "values": [ + { + "value": "Invalid" + }, + { + "value": "AlreadyExists" + } + ] + }, + "readOnly": true + }, + "message": { + "description": "Required if nameAvailable == false. Localized. If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.", + "type": "string", + "readOnly": true + } + } + }, + "TenantBackfillStatusResult": { + "description": "The tenant backfill status", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "status": { + "description": "The status of the Tenant Backfill", + "type": "string", + "enum": [ + "NotStarted", + "NotStartedButGroupsExist", + "Started", + "Failed", + "Cancelled", + "Completed" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": false, + "values": [ + { + "value": "NotStarted" + }, + { + "value": "NotStartedButGroupsExist" + }, + { + "value": "Started" + }, + { + "value": "Failed" + }, + { + "value": "Cancelled" + }, + { + "value": "Completed" + } + ] + }, + "readOnly": true + } + } + }, + "ManagementGroupListResult": { + "description": "Describes the result of the request to list management groups.", + "properties": { + "value": { + "description": "The list of management groups.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagementGroupInfo": { + "description": "The management group resource.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "title": "Properties", + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "ManagementGroupInfoProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + } + } + }, + "ListSubscriptionUnderManagementGroup": { + "description": "The details of all subscriptions under management group.", + "properties": { + "value": { + "description": "The list of subscriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "SubscriptionUnderManagementGroup": { + "description": "The details of subscription under management group.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the subscription. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/subscriptions/0000000-0000-0000-0000-000000000001", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/subscriptions", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The stringified id of the subscription. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionUnderManagementGroupProperties" + } + } + }, + "SubscriptionUnderManagementGroupProperties": { + "description": "The generic properties of subscription under a management group.", + "type": "object", + "properties": { + "tenant": { + "type": "string", + "description": "The AAD Tenant ID associated with the subscription. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the subscription." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/DescendantParentGroupInfo", + "x-nullable": true + }, + "state": { + "type": "string", + "description": "The state of the subscription." + } + } + }, + "ManagementGroup": { + "description": "The management group details.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupProperties" + } + } + }, + "ManagementGroupProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + }, + "details": { + "title": "Details", + "$ref": "#/definitions/ManagementGroupDetails" + }, + "children": { + "description": "The list of children.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupChildInfo" + } + } + } + }, + "ManagementGroupDetails": { + "description": "The details of a management group.", + "type": "object", + "properties": { + "version": { + "type": "number", + "format": "int32", + "description": "The version number of the object." + }, + "updatedTime": { + "type": "string", + "format": "date-time", + "description": "The date and time when this object was last updated." + }, + "updatedBy": { + "type": "string", + "description": "The identity of the principal or process that updated the object." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/ParentGroupInfo" + }, + "path": { + "description": "The path from the root to the current group.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupPathElement" + } + }, + "managementGroupAncestors": { + "description": "The ancestors of the management group.", + "x-nullable": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ManagementGroupChildInfo": { + "description": "The child information of a management group.", + "properties": { + "type": { + "title": "The type of child resource.", + "$ref": "#/definitions/ManagementGroupChildType", + "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)" + }, + "id": { + "type": "string", + "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "description": "The name of the child entity." + }, + "displayName": { + "type": "string", + "description": "The friendly name of the child resource." + }, + "children": { + "description": "The list of children.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupChildInfo" + } + } + } + }, + "ManagementGroupPathElement": { + "description": "A path element of a management group ancestors.", + "properties": { + "name": { + "type": "string", + "description": "The name of the group." + }, + "displayName": { + "type": "string", + "description": "The friendly name of the group." + } + } + }, + "ParentGroupInfo": { + "description": "(Optional) The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "description": "The name of the parent management group" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the parent management group." + } + } + }, + "ManagementGroupChildType": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups", + "/subscriptions" + ], + "description": "The type of child resource." + }, + "OperationResults": { + "description": "The results of an asynchronous operation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "AzureAsyncOperationResults": { + "description": "The results of Azure-AsyncOperation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The current status of the asynchronous operation performed . For example, Running, Succeeded, Failed", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "HierarchySettings": { + "description": "Settings defined at the Management Group scope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the settings object. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/settings/default.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/settings.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the object. In this case, default.", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HierarchySettingsProperties" + } + } + }, + "HierarchySettingsProperties": { + "description": "The generic properties of hierarchy settings.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the hierarchy settings. For example, 00000000-0000-0000-0000-000000000000" + }, + "requireAuthorizationForGroupCreation": { + "type": "boolean", + "description": "Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access." + }, + "defaultManagementGroup": { + "type": "string", + "description": "Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup" + } + } + }, + "HierarchySettingsList": { + "description": "Lists all hierarchy settings.", + "properties": { + "value": { + "description": "The list of hierarchy settings.", + "type": "array", + "items": { + "$ref": "#/definitions/HierarchySettingsInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "HierarchySettingsInfo": { + "description": "The hierarchy settings resource.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the settings object. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/settings/default.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/settings.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the object. In this case, default.", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "title": "Properties", + "$ref": "#/definitions/HierarchySettingsProperties" + } + } + }, + "CreateOrUpdateSettingsRequest": { + "description": "Parameters for creating or updating Management Group settings", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreateOrUpdateSettingsProperties" + } + } + }, + "CreateOrUpdateSettingsProperties": { + "description": "The properties of the request to create or update Management Group settings", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "requireAuthorizationForGroupCreation": { + "type": "boolean", + "description": "Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access." + }, + "defaultManagementGroup": { + "type": "string", + "description": "Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup" + } + } + }, + "DescendantListResult": { + "description": "Describes the result of the request to view descendants.", + "properties": { + "value": { + "description": "The list of descendants.", + "type": "array", + "items": { + "$ref": "#/definitions/DescendantInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "DescendantInfo": { + "description": "The descendant.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the descendant. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 or /subscriptions/0000000-0000-0000-0000-000000000000", + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups or /subscriptions", + "readOnly": true, + "x-nullable": true + }, + "name": { + "type": "string", + "description": "The name of the descendant. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "x-nullable": true, + "$ref": "#/definitions/DescendantInfoProperties" + } + } + }, + "DescendantInfoProperties": { + "description": "The generic properties of an descendant.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/DescendantParentGroupInfo", + "x-nullable": true + } + } + }, + "DescendantParentGroupInfo": { + "description": "The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + } + } + }, + "EntityListResult": { + "description": "Describes the result of the request to view entities.", + "properties": { + "value": { + "description": "The list of entities.", + "type": "array", + "items": { + "$ref": "#/definitions/EntityInfo" + } + }, + "count": { + "description": "Total count of records that match the filter", + "type": "integer", + "readOnly": true + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "EntityInfo": { + "description": "The entity.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the entity. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true, + "x-nullable": true + }, + "name": { + "type": "string", + "description": "The name of the entity. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "x-nullable": true, + "$ref": "#/definitions/EntityInfoProperties" + } + } + }, + "EntityInfoProperties": { + "description": "The generic properties of an entity.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the entity. For example, 00000000-0000-0000-0000-000000000000", + "x-nullable": true + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/EntityParentGroupInfo", + "x-nullable": true + }, + "permissions": { + "title": "Permissions", + "x-nullable": true, + "$ref": "#/definitions/Permissions" + }, + "inheritedPermissions": { + "title": "Inherited Permissions", + "x-nullable": true, + "$ref": "#/definitions/Permissions" + }, + "numberOfDescendants": { + "title": "Number of Descendants", + "type": "integer", + "x-nullable": true + }, + "numberOfChildren": { + "title": "Number of Children", + "description": "Number of children is the number of Groups and Subscriptions that are exactly one level underneath the current Group.", + "type": "integer", + "x-nullable": true + }, + "numberOfChildGroups": { + "title": "Number of Child Groups", + "description": "Number of children is the number of Groups that are exactly one level underneath the current Group.", + "type": "integer", + "x-nullable": true + }, + "parentDisplayNameChain": { + "type": "array", + "description": "The parent display name chain from the root group to the immediate parent", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "parentNameChain": { + "type": "array", + "description": "The parent name chain from the root group to the immediate parent", + "x-nullable": true, + "items": { + "type": "string" + } + } + } + }, + "EntityParentGroupInfo": { + "description": "(Optional) The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + } + } + }, + "EntityHierarchyItem": { + "description": "The management group details for the hierarchy view.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EntityHierarchyItemProperties" + } + } + }, + "EntityHierarchyItemProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + }, + "permissions": { + "title": "Permissions", + "$ref": "#/definitions/Permissions" + }, + "children": { + "type": "array", + "description": "The list of children.", + "x-nullable": true, + "items": { + "$ref": "#/definitions/EntityHierarchyItem" + } + } + } + }, + "PatchManagementGroupRequest": { + "description": "Management group patch parameters.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parentGroupId": { + "type": "string", + "description": "(Optional) The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "x-nullable": true + } + } + }, + "CreateManagementGroupRequest": { + "description": "Management group creation parameters.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreateManagementGroupProperties" + } + } + }, + "CreateManagementGroupProperties": { + "description": "The generic properties of a management group used during creation.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "readOnly": true, + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group. If no value is passed then this field will be set to the groupId.", + "x-nullable": true + }, + "details": { + "title": "Details", + "$ref": "#/definitions/CreateManagementGroupDetails" + }, + "children": { + "description": "The list of children.", + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/CreateManagementGroupChildInfo" + } + } + } + }, + "CreateManagementGroupDetails": { + "description": "The details of a management group used during creation.", + "type": "object", + "properties": { + "version": { + "type": "number", + "readOnly": true, + "format": "int32", + "description": "The version number of the object." + }, + "updatedTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date and time when this object was last updated." + }, + "updatedBy": { + "type": "string", + "readOnly": true, + "description": "The identity of the principal or process that updated the object." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/CreateParentGroupInfo" + } + } + }, + "CreateManagementGroupChildInfo": { + "description": "The child information of a management group used during creation.", + "properties": { + "type": { + "title": "The type of child resource.", + "readOnly": true, + "$ref": "#/definitions/ManagementGroupChildType", + "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the child entity." + }, + "displayName": { + "type": "string", + "readOnly": true, + "description": "The friendly name of the child resource." + }, + "children": { + "description": "The list of children.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CreateManagementGroupChildInfo" + } + } + } + }, + "CreateParentGroupInfo": { + "description": "(Optional) The ID of the parent management group used during creation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the parent management group" + }, + "displayName": { + "type": "string", + "readOnly": true, + "description": "The friendly name of the parent management group." + } + } + }, + "Permissions": { + "type": "string", + "enum": [ + "noaccess", + "view", + "edit", + "delete" + ], + "description": "The users specific permissions to this item." + }, + "CheckNameAvailabilityRequest": { + "description": "Management group name availability check parameters.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "the name to check for availability" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Management/managementGroups" + } + ] + }, + "description": "fully qualified resource type which includes provider namespace" + } + } + } + }, + "parameters": { + "GroupIdParameter": { + "name": "groupId", + "in": "path", + "required": true, + "type": "string", + "description": "Management Group ID.", + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription ID.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2018-01-01-preview." + }, + "ExpandParameter": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "children", + "path", + "ancestors" + ], + "x-ms-parameter-location": "method", + "description": "The $expand=children query string parameter allows clients to request inclusion of children in the response payload. $expand=path includes the path from the root group to the current group. $expand=ancestors includes the ancestor Ids of the current group." + }, + "RecurseParameter": { + "name": "$recurse", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload. Note that $expand=children must be passed up if $recurse is set to true." + }, + "CreateManagementGroupRequestParameter": { + "name": "createManagementGroupRequest", + "in": "body", + "required": true, + "description": "Management group creation parameters.", + "schema": { + "$ref": "#/definitions/CreateManagementGroupRequest" + }, + "x-ms-parameter-location": "method" + }, + "PatchGroupRequestParameter": { + "name": "patchGroupRequest", + "in": "body", + "required": true, + "description": "Management group patch parameters.", + "schema": { + "$ref": "#/definitions/PatchManagementGroupRequest" + }, + "x-ms-parameter-location": "method" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "A filter which allows the exclusion of subscriptions from results (i.e. '$filter=children.childType ne Subscription')", + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "The filter parameter allows you to filter on the the name or display name fields. You can check for equality on the name field (e.g. name eq '{entityName}') and you can check for substrings on either the name or display name fields(e.g. contains(name, '{substringToSearch}'), contains(displayName, '{substringToSearch')). Note that the '{entityName}' and '{substringToSearch}' fields are checked case insensitively.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SelectParameter": { + "name": "$select", + "in": "query", + "required": false, + "description": "This parameter specifies the fields to include in the response. Can include any combination of Name,DisplayName,Type,ParentDisplayNameChain,ParentChain, e.g. '$select=Name,DisplayName,Type,ParentDisplayNameChain,ParentNameChain'. When specified the $select parameter can override select in $skipToken.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SearchParameter": { + "name": "$search", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "AllowedParents", + "AllowedChildren", + "ParentAndFirstLevelChildren", + "ParentOnly", + "ChildrenOnly" + ], + "x-ms-parameter-location": "method", + "description": "The $search parameter is used in conjunction with the $filter parameter to return three different outputs depending on the parameter passed in. \nWith $search=AllowedParents the API will return the entity info of all groups that the requested entity will be able to reparent to as determined by the user's permissions.\nWith $search=AllowedChildren the API will return the entity info of all entities that can be added as children of the requested entity.\nWith $search=ParentAndFirstLevelChildren the API will return the parent and first level of children that the user has either direct access to or indirect access via one of their descendants.\nWith $search=ParentOnly the API will return only the group if the user has access to at least one of the descendants of the group.\nWith $search=ChildrenOnly the API will return only the first level of children of the group entity info specified in $filter. The user must have direct access to the children entities or one of it's descendants for it to show up in the results." + }, + "GroupNameParameter": { + "name": "groupName", + "in": "query", + "required": false, + "description": "A filter which allows the get entities call to focus on a particular group (i.e. \"$filter=name eq 'groupName'\")", + "type": "string", + "x-ms-parameter-location": "method" + }, + "CreateOrUpdateManagementGroupSettingsRequestParameter": { + "name": "CreateTenantSettingsRequest", + "in": "body", + "required": true, + "description": "Tenant level settings request parameter.", + "schema": { + "$ref": "#/definitions/CreateOrUpdateSettingsRequest" + }, + "x-ms-parameter-location": "method" + }, + "CheckNameAvailabilityParameter": { + "name": "checkNameAvailabilityRequest", + "in": "body", + "required": true, + "description": "Management group name availability check parameters.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequest" + }, + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "description": "Number of entities to skip over when retrieving results. Passing this in will override $skipToken.", + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "Number of elements to return when retrieving results. Passing this in will override $skipToken.", + "x-ms-parameter-location": "method" + }, + "SkipTokenParameter": { + "name": "$skiptoken", + "in": "query", + "required": false, + "type": "string", + "description": "Page continuation token is only used if a previous operation returned a partial result. \nIf a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.\n", + "x-ms-parameter-location": "method" + }, + "CacheControlHeader": { + "name": "Cache-Control", + "in": "header", + "default": "no-cache", + "description": "Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityViewParameter": { + "name": "$view", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "FullHierarchy", + "GroupsOnly", + "SubscriptionsOnly", + "Audit" + ], + "x-ms-parameter-location": "method", + "description": "The view parameter allows clients to filter the type of data that is returned by the getEntities call." + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/AddManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/AddManagementGroupSubscription.json new file mode 100644 index 000000000000..1e62ffcd9c5b --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/AddManagementGroupSubscription.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": " /providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "Group", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/CheckManagementGroupNameAvailability.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/CheckManagementGroupNameAvailability.json new file mode 100644 index 000000000000..a76fd281ba86 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/CheckManagementGroupNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "checkNameAvailabilityRequest": { + "name": "nameTocheck", + "type": "Microsoft.Management/managementGroups" + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Error message" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteHierarchySettings.json new file mode 100644 index 000000000000..940b5356e2dd --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteHierarchySettings.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "root" + }, + "responses": { + "200": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json new file mode 100644 index 000000000000..94bb28c71f43 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "GroupToDelete", + "Cache-Control": "no-cache" + }, + "responses": { + "202": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/GroupToDelete", + "type": "Microsoft.Management/managementGroups", + "name": "GroupToDelete", + "status": "NotStarted" + } + }, + "204": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetAllSubscriptionsFromManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetAllSubscriptionsFromManagementGroup.json new file mode 100644 index 000000000000..ef5c1c9161eb --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetAllSubscriptionsFromManagementGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "Group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": "/providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "S5", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetDescendants.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetDescendants.json new file mode 100644 index 000000000000..67c042a7e5a2 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetDescendants.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "20000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "displayName": "Group 1", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + } + } + }, + { + "id": "/subscriptions/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups/subscriptions", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "displayName": "Subscription 4", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetEntities.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetEntities.json new file mode 100644 index 000000000000..3f2b659e7f56 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetEntities.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + }, + "permissions": "view", + "inheritedPermissions": "view", + "parentDisplayNameChain": [ + "Tenant Root Group", + "Group 1 Tenant 2 Parent" + ], + "parentNameChain": [ + "TenantRootGroup", + "Group1Tenant2Parent" + ], + "numberOfDescendants": 3, + "numberOfChildren": 2, + "numberOfChildGroups": 1 + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 4 Tenant 2", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + }, + "permissions": "delete", + "inheritedPermissions": "delete", + "parentDisplayNameChain": [ + "Tenant Root Group", + "Group 4 Tenant 2 Parent" + ], + "parentNameChain": [ + "TenantRootGroup", + "Group4 Tenant2Parent" + ], + "numberOfDescendants": 0, + "numberOfChildren": 0, + "numberOfChildGroups": 0 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetHierarchySettings.json new file mode 100644 index 000000000000..dcb2a7931649 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetHierarchySettings.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "root" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroup.json new file mode 100644 index 000000000000..97656bacaeb3 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "name": "RootGroup", + "displayName": "RootGroup" + } + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithAncestors.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithAncestors.json new file mode 100644 index 000000000000..6b0417365aff --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithAncestors.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "20000000-0001-0000-0000-00000000000", + "$expand": "ancestors", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000001", + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + }, + "managementGroupAncestorsChain": [ + { + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + }, + { + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "Grandparent display name" + } + ] + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithExpand.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithExpand.json new file mode 100644 index 000000000000..da862ac5bd0a --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithExpand.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "children", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "20000000-0000-0000-0000-000000000000" + } + }, + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0002-0000-0000-000000000000", + "displayName": "Group 2 Tenant 2" + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0003-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0003-0000-0000-000000000000", + "displayName": "Group 3 Tenant 2" + }, + { + "id": "/subscriptions/10000000-F004-0000-0000-000000000000", + "type": "/subscriptions", + "name": "10000000-F004-0000-0000-000000000000", + "displayName": "Subscription 4 Tenant 1" + }, + { + "id": "/subscriptions/20000000-F005-0000-0000-000000000000", + "type": "/subscriptions", + "name": "20000000-F005-0000-0000-000000000000", + "displayName": "Subscription 5 Tenant 2" + }, + { + "id": "/subscriptions/30000000-F003-0000-0000-000000000000", + "type": "/subscriptions", + "name": "30000000-F003-0000-0000-000000000000", + "displayName": "Subscription 3 Tenant 3" + } + ] + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithExpandAndRecurse.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithExpandAndRecurse.json new file mode 100644 index 000000000000..3b411790c6ed --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithExpandAndRecurse.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "children", + "$recurse": true, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "type": "Microsoft.Management/managementGroups", + "name": "RootGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "RootGroup", + "details": { + "version": 2, + "updatedTime": "2018-01-25T02:26:49.0022093Z", + "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "20000000-0000-0000-0000-000000000000" + } + }, + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/Child", + "type": "Microsoft.Management/managementGroups", + "name": "Child", + "displayName": "Child", + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/Leaf", + "type": "Microsoft.Management/managementGroups", + "name": "Leaf", + "displayName": "Leaf", + "children": [ + { + "id": "/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "/subscriptions", + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "displayName": "Pay-As-You-Go" + } + ] + } + ] + }, + { + "id": "/providers/Microsoft.Management/managementGroups/AnotherChild", + "type": "Microsoft.Management/managementGroups", + "name": "AnotherChild", + "displayName": "Leaf" + } + ] + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithPath.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithPath.json new file mode 100644 index 000000000000..8e9cbec283e7 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetManagementGroupWithPath.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "path", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000001", + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + }, + "path": [ + { + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "Grandparent display name" + }, + { + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + } + ] + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetSubscriptionFromManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetSubscriptionFromManagementGroup.json new file mode 100644 index 000000000000..1e62ffcd9c5b --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/GetSubscriptionFromManagementGroup.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": " /providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "Group", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListHierarchySettings.json new file mode 100644 index 000000000000..3d56530cb7d1 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListHierarchySettings.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "root" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListManagementGroups.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListManagementGroups.json new file mode 100644 index 000000000000..189cb209d9dc --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListManagementGroups.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2" + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 4 Tenant 2" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PatchHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PatchHierarchySettings.json new file mode 100644 index 000000000000..adce49ba8880 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PatchHierarchySettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "root", + "CreateTenantSettingsRequest": { + "properties": { + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PatchManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PatchManagementGroup.json new file mode 100644 index 000000000000..e7e3c57c8d45 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PatchManagementGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "ChildGroup", + "patchGroupRequest": { + "displayName": "AlternateDisplayName", + "parentGroupId": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup" + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "AlternateDisplayName", + "details": { + "version": 2, + "updatedTime": "2018-01-25T02:46:59.0545645Z", + "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup", + "name": "AlternateRootGroup", + "displayName": "AlternateRootGroup" + } + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PutHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PutHierarchySettings.json new file mode 100644 index 000000000000..adce49ba8880 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PutHierarchySettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "root", + "CreateTenantSettingsRequest": { + "properties": { + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PutManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PutManagementGroup.json new file mode 100644 index 000000000000..8e8df63375df --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/PutManagementGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "ChildGroup", + "createManagementGroupRequest": { + "properties": { + "displayName": "ChildGroup", + "details": { + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup" + } + } + } + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "ChildGroup", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "name": "RootGroup", + "displayName": "RootGroup" + } + } + } + } + }, + "202": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "status": "NotStarted" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/RemoveManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/RemoveManagementGroupSubscription.json new file mode 100644 index 000000000000..04c4b4c8dc88 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/RemoveManagementGroupSubscription.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/StartTenantBackfillRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/StartTenantBackfillRequest.json new file mode 100644 index 000000000000..f91d0a36e18f --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/StartTenantBackfillRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "startTenantBackfillRequest": {} + }, + "responses": { + "200": { + "body": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "status": "Started" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/TenantBackfillStatusRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/TenantBackfillStatusRequest.json new file mode 100644 index 000000000000..e7b3132ee405 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/TenantBackfillStatusRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-04-01", + "tenantBackfillStatusRequest": {} + }, + "responses": { + "200": { + "body": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "status": "Started" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json new file mode 100644 index 000000000000..dac391a711a6 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json @@ -0,0 +1,2123 @@ +{ + "swagger": "2.0", + "host": "management.azure.com", + "info": { + "version": "2021-04-01", + "title": "Management Groups API", + "description": "The Azure Management Groups API enables consolidation of multiple \nsubscriptions/resources into an organizational hierarchy and centrally \nmanage access control, policies, alerting and reporting for those resources.\n" + }, + "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" + } + } + }, + "tags": [ + { + "name": "ManagementGroups", + "description": "A Management Group is a customer defined scope (grouping mechanism) that \nprovides access control (authorization), policy management and reporting. \nManagement Groups are organized in a strictly tree-based hierarchy.\n" + }, + { + "name": "Operations", + "description": "Management operations supported by the Microsoft.Management resource provider.\n" + }, + { + "name": "Entities", + "description": "A list of entities that belong to the Management Groups.\n" + } + ], + "paths": { + "/providers/Microsoft.Management/managementGroups": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_List", + "description": "List management groups for the authenticated user.\n", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroupListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListManagementGroups": { + "$ref": "./examples/ListManagementGroups.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Get", + "description": "Get the details of the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + }, + { + "$ref": "#/parameters/RecurseParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetManagementGroup": { + "$ref": "./examples/GetManagementGroup.json" + }, + "GetManagementGroupWithPath": { + "$ref": "./examples/GetManagementGroupWithPath.json" + }, + "GetManagementGroupWithAncestors": { + "$ref": "./examples/GetManagementGroupWithAncestors.json" + }, + "GetManagementGroupWithExpand": { + "$ref": "./examples/GetManagementGroupWithExpand.json" + }, + "GetManagementGroupsWithExpandAndRecurse": { + "$ref": "./examples/GetManagementGroupWithExpandAndRecurse.json" + } + } + }, + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_CreateOrUpdate", + "description": "Create or update a management group.\nIf a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/CreateManagementGroupRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AzureAsyncOperationResults" + }, + "headers": { + "Location": { + "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\nThe URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL for checking the ongoing status of the operation.\nTo get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations", + "type": "string" + } + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PutManagementGroup": { + "$ref": "./examples/PutManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Update", + "description": "Update a management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/PatchGroupRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PatchManagementGroup": { + "$ref": "./examples/PatchManagementGroup.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Delete", + "description": "Delete management group.\nIf a management group contains child resources, the request will fail.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AzureAsyncOperationResults" + }, + "headers": { + "Location": { + "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\nThe URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL for checking the ongoing status of the operation.\nTo get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteManagementGroup": { + "$ref": "./examples/DeleteManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/descendants": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_GetDescendants", + "description": "List all entities that descend from a management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DescendantListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDescendants": { + "$ref": "./examples/GetDescendants.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}": { + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_Create", + "description": "Associates existing subscription with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AddSubscriptionToManagementGroup": { + "$ref": "./examples/AddManagementGroupSubscription.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_Delete", + "description": "De-associates subscription from the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteSubscriptionFromManagementGroup": { + "$ref": "./examples/RemoveManagementGroupSubscription.json" + } + } + }, + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_GetSubscription", + "description": "Retrieves details about given subscription which is associated with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetSubscriptionFromManagementGroup": { + "$ref": "./examples/GetSubscriptionFromManagementGroup.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_GetSubscriptionsUnderManagementGroup", + "description": "Retrieves details about all subscriptions which are associated with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListSubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetAllSubscriptionsFromManagementGroup": { + "$ref": "./examples/GetAllSubscriptionsFromManagementGroup.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/settings": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_List", + "description": "Gets all the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettingsList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ListGroupSettings": { + "$ref": "./examples/ListHierarchySettings.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/settings/default": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Get", + "description": "Gets the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/GetHierarchySettings.json" + } + } + }, + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_CreateOrUpdate", + "description": "Creates or updates the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CreateOrUpdateManagementGroupSettingsRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/PutHierarchySettings.json" + } + } + }, + "patch": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Update", + "description": "Updates the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CreateOrUpdateManagementGroupSettingsRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/PatchHierarchySettings.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Delete", + "description": "Deletes the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/DeleteHierarchySettings.json" + } + } + } + }, + "/providers/Microsoft.Management/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Management REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "operationId": "CheckNameAvailability", + "description": "Checks if the specified management group name is valid and unique", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CheckNameAvailabilityParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckManagementGroupNameAvailability": { + "$ref": "./examples/CheckManagementGroupNameAvailability.json" + } + } + } + }, + "/providers/Microsoft.Management/getEntities": { + "post": { + "tags": [ + "Entities" + ], + "operationId": "Entities_List", + "description": "List all entities (Management Groups, Subscriptions, etc.) for the authenticated user.\n", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/SkipParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/SelectParameter" + }, + { + "$ref": "#/parameters/SearchParameter" + }, + { + "$ref": "#/parameters/EntityFilterParameter" + }, + { + "$ref": "#/parameters/EntityViewParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetEntities": { + "$ref": "./examples/GetEntities.json" + } + } + } + }, + "/providers/Microsoft.Management/startTenantBackfill": { + "post": { + "tags": [ + "TenantBackfill" + ], + "operationId": "StartTenantBackfill", + "description": "Starts backfilling subscriptions for the Tenant.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TenantBackfillStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "StartTenantBackfill": { + "$ref": "./examples/StartTenantBackfillRequest.json" + } + } + } + }, + "/providers/Microsoft.Management/tenantBackfillStatus": { + "post": { + "tags": [ + "TenantBackfill" + ], + "operationId": "TenantBackfillStatus", + "description": "Gets tenant backfill status", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TenantBackfillStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TenantBackfillStatus": { + "$ref": "./examples/TenantBackfillStatusRequest.json" + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "The error object.", + "properties": { + "error": { + "title": "Error", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "type": "string" + }, + "message": { + "description": "A human-readable representation of the error.", + "type": "string" + }, + "details": { + "description": "A human-readable representation of the error's details.", + "type": "string" + } + } + }, + "Operation": { + "description": "Operation supported by the Microsoft.Management resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "title": "Display", + "$ref": "#/definitions/OperationDisplayProperties" + } + } + }, + "OperationDisplayProperties": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "The name of the provider.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The operation that can be performed.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Operation description.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Describes the result of the request to list Microsoft.Management operations.", + "properties": { + "value": { + "description": "List of operations supported by the Microsoft.Management resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "CheckNameAvailabilityResult": { + "description": "Describes the result of the request to check management group name availability.", + "properties": { + "nameAvailable": { + "description": "Required. True indicates name is valid and available. False indicates the name is invalid, unavailable, or both.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "Required if nameAvailable == false. Invalid indicates the name provided does not match the resource provider's naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false, + "values": [ + { + "value": "Invalid" + }, + { + "value": "AlreadyExists" + } + ] + }, + "readOnly": true + }, + "message": { + "description": "Required if nameAvailable == false. Localized. If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.", + "type": "string", + "readOnly": true + } + } + }, + "TenantBackfillStatusResult": { + "description": "The tenant backfill status", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "status": { + "description": "The status of the Tenant Backfill", + "type": "string", + "enum": [ + "NotStarted", + "NotStartedButGroupsExist", + "Started", + "Failed", + "Cancelled", + "Completed" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": false, + "values": [ + { + "value": "NotStarted" + }, + { + "value": "NotStartedButGroupsExist" + }, + { + "value": "Started" + }, + { + "value": "Failed" + }, + { + "value": "Cancelled" + }, + { + "value": "Completed" + } + ] + }, + "readOnly": true + } + } + }, + "ManagementGroupListResult": { + "description": "Describes the result of the request to list management groups.", + "properties": { + "value": { + "description": "The list of management groups.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagementGroupInfo": { + "description": "The management group resource.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "title": "Properties", + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "ManagementGroupInfoProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + } + } + }, + "ListSubscriptionUnderManagementGroup": { + "description": "The details of all subscriptions under management group.", + "properties": { + "value": { + "description": "The list of subscriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "SubscriptionUnderManagementGroup": { + "description": "The details of subscription under management group.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the subscription. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/subscriptions/0000000-0000-0000-0000-000000000001", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/subscriptions", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The stringified id of the subscription. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionUnderManagementGroupProperties" + } + } + }, + "SubscriptionUnderManagementGroupProperties": { + "description": "The generic properties of subscription under a management group.", + "type": "object", + "properties": { + "tenant": { + "type": "string", + "description": "The AAD Tenant ID associated with the subscription. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the subscription." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/DescendantParentGroupInfo", + "x-nullable": true + }, + "state": { + "type": "string", + "description": "The state of the subscription." + } + } + }, + "ManagementGroup": { + "description": "The management group details.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupProperties" + } + } + }, + "ManagementGroupProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + }, + "details": { + "title": "Details", + "$ref": "#/definitions/ManagementGroupDetails" + }, + "children": { + "description": "The list of children.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupChildInfo" + } + } + } + }, + "ManagementGroupDetails": { + "description": "The details of a management group.", + "type": "object", + "properties": { + "version": { + "type": "number", + "format": "int32", + "description": "The version number of the object." + }, + "updatedTime": { + "type": "string", + "format": "date-time", + "description": "The date and time when this object was last updated." + }, + "updatedBy": { + "type": "string", + "description": "The identity of the principal or process that updated the object." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/ParentGroupInfo" + }, + "path": { + "description": "The path from the root to the current group.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupPathElement" + } + }, + "managementGroupAncestors": { + "description": "The ancestors of the management group.", + "x-nullable": true, + "type": "array", + "items": { + "type": "string" + } + }, + "managementGroupAncestorsChain": { + "description": "The ancestors of the management group displayed in reversed order, from immediate parent to the root.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupPathElement" + } + } + } + }, + "ManagementGroupChildInfo": { + "description": "The child information of a management group.", + "properties": { + "type": { + "title": "The type of child resource.", + "$ref": "#/definitions/ManagementGroupChildType", + "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)" + }, + "id": { + "type": "string", + "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "description": "The name of the child entity." + }, + "displayName": { + "type": "string", + "description": "The friendly name of the child resource." + }, + "children": { + "description": "The list of children.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupChildInfo" + } + } + } + }, + "ManagementGroupPathElement": { + "description": "A path element of a management group ancestors.", + "properties": { + "name": { + "type": "string", + "description": "The name of the group." + }, + "displayName": { + "type": "string", + "description": "The friendly name of the group." + } + } + }, + "ParentGroupInfo": { + "description": "(Optional) The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "description": "The name of the parent management group" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the parent management group." + } + } + }, + "ManagementGroupChildType": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups", + "/subscriptions" + ], + "description": "The type of child resource." + }, + "OperationResults": { + "description": "The results of an asynchronous operation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "AzureAsyncOperationResults": { + "description": "The results of Azure-AsyncOperation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The current status of the asynchronous operation performed . For example, Running, Succeeded, Failed", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "HierarchySettings": { + "description": "Settings defined at the Management Group scope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the settings object. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/settings/default.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/settings.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the object. In this case, default.", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HierarchySettingsProperties" + } + } + }, + "HierarchySettingsProperties": { + "description": "The generic properties of hierarchy settings.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the hierarchy settings. For example, 00000000-0000-0000-0000-000000000000" + }, + "requireAuthorizationForGroupCreation": { + "type": "boolean", + "description": "Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access." + }, + "defaultManagementGroup": { + "type": "string", + "description": "Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup" + } + } + }, + "HierarchySettingsList": { + "description": "Lists all hierarchy settings.", + "properties": { + "value": { + "description": "The list of hierarchy settings.", + "type": "array", + "items": { + "$ref": "#/definitions/HierarchySettingsInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "HierarchySettingsInfo": { + "description": "The hierarchy settings resource.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the settings object. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/settings/default.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/settings.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the object. In this case, default.", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "title": "Properties", + "$ref": "#/definitions/HierarchySettingsProperties" + } + } + }, + "CreateOrUpdateSettingsRequest": { + "description": "Parameters for creating or updating Management Group settings", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreateOrUpdateSettingsProperties" + } + } + }, + "CreateOrUpdateSettingsProperties": { + "description": "The properties of the request to create or update Management Group settings", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "requireAuthorizationForGroupCreation": { + "type": "boolean", + "description": "Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access." + }, + "defaultManagementGroup": { + "type": "string", + "description": "Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup" + } + } + }, + "DescendantListResult": { + "description": "Describes the result of the request to view descendants.", + "properties": { + "value": { + "description": "The list of descendants.", + "type": "array", + "items": { + "$ref": "#/definitions/DescendantInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "DescendantInfo": { + "description": "The descendant.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the descendant. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 or /subscriptions/0000000-0000-0000-0000-000000000000", + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups or /subscriptions", + "readOnly": true, + "x-nullable": true + }, + "name": { + "type": "string", + "description": "The name of the descendant. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "x-nullable": true, + "$ref": "#/definitions/DescendantInfoProperties" + } + } + }, + "DescendantInfoProperties": { + "description": "The generic properties of an descendant.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/DescendantParentGroupInfo", + "x-nullable": true + } + } + }, + "DescendantParentGroupInfo": { + "description": "The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + } + } + }, + "EntityListResult": { + "description": "Describes the result of the request to view entities.", + "properties": { + "value": { + "description": "The list of entities.", + "type": "array", + "items": { + "$ref": "#/definitions/EntityInfo" + } + }, + "count": { + "description": "Total count of records that match the filter", + "type": "integer", + "readOnly": true + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "EntityInfo": { + "description": "The entity.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the entity. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true, + "x-nullable": true + }, + "name": { + "type": "string", + "description": "The name of the entity. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "x-nullable": true, + "$ref": "#/definitions/EntityInfoProperties" + } + } + }, + "EntityInfoProperties": { + "description": "The generic properties of an entity.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the entity. For example, 00000000-0000-0000-0000-000000000000", + "x-nullable": true + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/EntityParentGroupInfo", + "x-nullable": true + }, + "permissions": { + "title": "Permissions", + "x-nullable": true, + "$ref": "#/definitions/Permissions" + }, + "inheritedPermissions": { + "title": "Inherited Permissions", + "x-nullable": true, + "$ref": "#/definitions/Permissions" + }, + "numberOfDescendants": { + "title": "Number of Descendants", + "type": "integer", + "x-nullable": true + }, + "numberOfChildren": { + "title": "Number of Children", + "description": "Number of children is the number of Groups and Subscriptions that are exactly one level underneath the current Group.", + "type": "integer", + "x-nullable": true + }, + "numberOfChildGroups": { + "title": "Number of Child Groups", + "description": "Number of children is the number of Groups that are exactly one level underneath the current Group.", + "type": "integer", + "x-nullable": true + }, + "parentDisplayNameChain": { + "type": "array", + "description": "The parent display name chain from the root group to the immediate parent", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "parentNameChain": { + "type": "array", + "description": "The parent name chain from the root group to the immediate parent", + "x-nullable": true, + "items": { + "type": "string" + } + } + } + }, + "EntityParentGroupInfo": { + "description": "(Optional) The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + } + } + }, + "EntityHierarchyItem": { + "description": "The management group details for the hierarchy view.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EntityHierarchyItemProperties" + } + } + }, + "EntityHierarchyItemProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + }, + "permissions": { + "title": "Permissions", + "$ref": "#/definitions/Permissions" + }, + "children": { + "type": "array", + "description": "The list of children.", + "x-nullable": true, + "items": { + "$ref": "#/definitions/EntityHierarchyItem" + } + } + } + }, + "PatchManagementGroupRequest": { + "description": "Management group patch parameters.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parentGroupId": { + "type": "string", + "description": "(Optional) The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "x-nullable": true + } + } + }, + "CreateManagementGroupRequest": { + "description": "Management group creation parameters.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreateManagementGroupProperties" + } + } + }, + "CreateManagementGroupProperties": { + "description": "The generic properties of a management group used during creation.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "readOnly": true, + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group. If no value is passed then this field will be set to the groupId.", + "x-nullable": true + }, + "details": { + "title": "Details", + "$ref": "#/definitions/CreateManagementGroupDetails" + }, + "children": { + "description": "The list of children.", + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/CreateManagementGroupChildInfo" + } + } + } + }, + "CreateManagementGroupDetails": { + "description": "The details of a management group used during creation.", + "type": "object", + "properties": { + "version": { + "type": "number", + "readOnly": true, + "format": "int32", + "description": "The version number of the object." + }, + "updatedTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date and time when this object was last updated." + }, + "updatedBy": { + "type": "string", + "readOnly": true, + "description": "The identity of the principal or process that updated the object." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/CreateParentGroupInfo" + } + } + }, + "CreateManagementGroupChildInfo": { + "description": "The child information of a management group used during creation.", + "properties": { + "type": { + "title": "The type of child resource.", + "readOnly": true, + "$ref": "#/definitions/ManagementGroupChildType", + "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the child entity." + }, + "displayName": { + "type": "string", + "readOnly": true, + "description": "The friendly name of the child resource." + }, + "children": { + "description": "The list of children.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CreateManagementGroupChildInfo" + } + } + } + }, + "CreateParentGroupInfo": { + "description": "(Optional) The ID of the parent management group used during creation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the parent management group" + }, + "displayName": { + "type": "string", + "readOnly": true, + "description": "The friendly name of the parent management group." + } + } + }, + "Permissions": { + "type": "string", + "enum": [ + "noaccess", + "view", + "edit", + "delete" + ], + "description": "The users specific permissions to this item." + }, + "CheckNameAvailabilityRequest": { + "description": "Management group name availability check parameters.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "the name to check for availability" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Management/managementGroups" + } + ] + }, + "description": "fully qualified resource type which includes provider namespace" + } + } + } + }, + "parameters": { + "GroupIdParameter": { + "name": "groupId", + "in": "path", + "required": true, + "type": "string", + "description": "Management Group ID.", + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription ID.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2018-01-01-preview." + }, + "ExpandParameter": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "children", + "path", + "ancestors" + ], + "x-ms-parameter-location": "method", + "description": "The $expand=children query string parameter allows clients to request inclusion of children in the response payload. $expand=path includes the path from the root group to the current group. $expand=ancestors includes the ancestor Ids of the current group." + }, + "RecurseParameter": { + "name": "$recurse", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload. Note that $expand=children must be passed up if $recurse is set to true." + }, + "CreateManagementGroupRequestParameter": { + "name": "createManagementGroupRequest", + "in": "body", + "required": true, + "description": "Management group creation parameters.", + "schema": { + "$ref": "#/definitions/CreateManagementGroupRequest" + }, + "x-ms-parameter-location": "method" + }, + "PatchGroupRequestParameter": { + "name": "patchGroupRequest", + "in": "body", + "required": true, + "description": "Management group patch parameters.", + "schema": { + "$ref": "#/definitions/PatchManagementGroupRequest" + }, + "x-ms-parameter-location": "method" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "A filter which allows the exclusion of subscriptions from results (i.e. '$filter=children.childType ne Subscription')", + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "The filter parameter allows you to filter on the the name or display name fields. You can check for equality on the name field (e.g. name eq '{entityName}') and you can check for substrings on either the name or display name fields(e.g. contains(name, '{substringToSearch}'), contains(displayName, '{substringToSearch')). Note that the '{entityName}' and '{substringToSearch}' fields are checked case insensitively.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SelectParameter": { + "name": "$select", + "in": "query", + "required": false, + "description": "This parameter specifies the fields to include in the response. Can include any combination of Name,DisplayName,Type,ParentDisplayNameChain,ParentChain, e.g. '$select=Name,DisplayName,Type,ParentDisplayNameChain,ParentNameChain'. When specified the $select parameter can override select in $skipToken.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SearchParameter": { + "name": "$search", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "AllowedParents", + "AllowedChildren", + "ParentAndFirstLevelChildren", + "ParentOnly", + "ChildrenOnly" + ], + "x-ms-parameter-location": "method", + "description": "The $search parameter is used in conjunction with the $filter parameter to return three different outputs depending on the parameter passed in. \nWith $search=AllowedParents the API will return the entity info of all groups that the requested entity will be able to reparent to as determined by the user's permissions.\nWith $search=AllowedChildren the API will return the entity info of all entities that can be added as children of the requested entity.\nWith $search=ParentAndFirstLevelChildren the API will return the parent and first level of children that the user has either direct access to or indirect access via one of their descendants.\nWith $search=ParentOnly the API will return only the group if the user has access to at least one of the descendants of the group.\nWith $search=ChildrenOnly the API will return only the first level of children of the group entity info specified in $filter. The user must have direct access to the children entities or one of it's descendants for it to show up in the results." + }, + "GroupNameParameter": { + "name": "groupName", + "in": "query", + "required": false, + "description": "A filter which allows the get entities call to focus on a particular group (i.e. \"$filter=name eq 'groupName'\")", + "type": "string", + "x-ms-parameter-location": "method" + }, + "CreateOrUpdateManagementGroupSettingsRequestParameter": { + "name": "CreateTenantSettingsRequest", + "in": "body", + "required": true, + "description": "Tenant level settings request parameter.", + "schema": { + "$ref": "#/definitions/CreateOrUpdateSettingsRequest" + }, + "x-ms-parameter-location": "method" + }, + "CheckNameAvailabilityParameter": { + "name": "checkNameAvailabilityRequest", + "in": "body", + "required": true, + "description": "Management group name availability check parameters.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequest" + }, + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "description": "Number of entities to skip over when retrieving results. Passing this in will override $skipToken.", + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "Number of elements to return when retrieving results. Passing this in will override $skipToken.", + "x-ms-parameter-location": "method" + }, + "SkipTokenParameter": { + "name": "$skiptoken", + "in": "query", + "required": false, + "type": "string", + "description": "Page continuation token is only used if a previous operation returned a partial result. \nIf a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.\n", + "x-ms-parameter-location": "method" + }, + "CacheControlHeader": { + "name": "Cache-Control", + "in": "header", + "default": "no-cache", + "description": "Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityViewParameter": { + "name": "$view", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "FullHierarchy", + "GroupsOnly", + "SubscriptionsOnly", + "Audit" + ], + "x-ms-parameter-location": "method", + "description": "The view parameter allows clients to filter the type of data that is returned by the getEntities call." + } + } +} diff --git a/specification/managementgroups/resource-manager/readme.azureresourceschema.md b/specification/managementgroups/resource-manager/readme.azureresourceschema.md index 5361de218b69..fa0c2c74c6e6 100644 --- a/specification/managementgroups/resource-manager/readme.azureresourceschema.md +++ b/specification/managementgroups/resource-manager/readme.azureresourceschema.md @@ -6,6 +6,8 @@ These settings apply only when `--azureresourceschema` is specified on the comma ``` yaml $(azureresourceschema) && $(multiapi) batch: + - tag: schema-management-2021-04-01 + - tag: schema-management-2020-10-01 - tag: schema-management-2020-05-01 - tag: schema-management-2020-02-01 - tag: schema-management-2019-11-01 @@ -18,6 +20,28 @@ batch: Please also specify `--azureresourceschema-folder=`. +### Tag: schema-management-2021-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-management-2021-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/stable/2021-04-01/management.json + +``` + +### Tag: schema-management-2020-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-management-2020-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/stable/2020-10-01/management.json + +``` + ### Tag: schema-management-2020-05-01 and azureresourceschema ``` yaml $(tag) == 'schema-management-2020-05-01' && $(azureresourceschema) diff --git a/specification/managementgroups/resource-manager/readme.go.md b/specification/managementgroups/resource-manager/readme.go.md index 4309b59c87ba..60c68669323e 100644 --- a/specification/managementgroups/resource-manager/readme.go.md +++ b/specification/managementgroups/resource-manager/readme.go.md @@ -13,6 +13,8 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-04 + - tag: package-2020-10 - tag: package-2020-05 - tag: package-2020-02 - tag: package-2019-11 @@ -21,6 +23,24 @@ batch: - tag: package-2017-11 - tag: package-2017-08 ``` +### Tag: package-2021-04 and go + +These settings apply only when `--tag=package-2021-04 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2021-04' && $(go) +output-folder: $(go-sdk-folder)/services/resources/mgmt/2021-04-01/$(namespace) +``` + +### Tag: package-2020-10 and go + +These settings apply only when `--tag=package-2020-10 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-10' && $(go) +output-folder: $(go-sdk-folder)/services/resources/mgmt/2020-10-01/$(namespace) +``` + ### Tag: package-2020-05 and go These settings apply only when `--tag=package-2020-05 --go` is specified on the command line. diff --git a/specification/managementgroups/resource-manager/readme.md b/specification/managementgroups/resource-manager/readme.md index 2b9de18f0e63..c9a7f9078aba 100644 --- a/specification/managementgroups/resource-manager/readme.md +++ b/specification/managementgroups/resource-manager/readme.md @@ -24,7 +24,23 @@ These are the global settings for the API. ``` yaml openapi-type: arm -tag: package-2020-05 +tag: package-2021-04 +``` + +### Tag: package-2021-04 +These settings apply only when `--tag=package-2021-04` is specified on the command line. + +``` yaml $(tag) == 'package-2021-04' +input-file: + - Microsoft.Management/stable/2021-04-01/management.json +``` + +### Tag: package-2020-10 +These settings apply only when `--tag=package-2020-10` is specified on the command line. + +``` yaml $(tag) == 'package-2020-10' +input-file: + - Microsoft.Management/stable/2020-10-01/management.json ``` ### Tag: package-2020-05 @@ -176,6 +192,8 @@ batch: - tag: package-2019-11 - tag: package-2020-02 - tag: package-2020-05 + - tag: package-2020-10 + - tag: package-2021-04 ``` ### Tag: package-2017-08 and java @@ -269,6 +287,32 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-10 and java + +These settings apply only when `--tag=package-2020-10 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-10' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.managementgroups.v2020_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/managementgroups/mgmt-v2020_10_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2021-04 and java + +These settings apply only when `--tag=package-2021-04 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2021-04' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.managementgroups.v2021_04_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/managementgroups/mgmt-v2021_04_01 +regenerate-manager: true +generate-interface: true +``` + ## AzureResourceSchema