forked from Azure/azure-rest-api-specs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add commontypes/resource-management/v3/managedidentity (Azure#15968)
* Add commontypes/resource-management/v3/managedidentity which models managed identity for services supporting both SystemAssignedIdentity and UserAssignedIdentity. * Add a canonical SystemAssignedServiceIdentityType type definition which supports 'None', since that is required going forward. Also make the 'type' property required, since omitting it from the request would not be clear in intent. * Add principalId and tenantId.
- Loading branch information
1 parent
cc36aca
commit 884b1c8
Showing
2 changed files
with
114 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1092,6 +1092,7 @@ localmapview | |
localrun | ||
localsearch | ||
Lockdown | ||
managedidentity | ||
loganalytics | ||
loggerid | ||
logio | ||
|
113 changes: 113 additions & 0 deletions
113
specification/common-types/resource-management/v3/managedidentity.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
{ | ||
"swagger": "2.0", | ||
"info": { | ||
"version": "3.0", | ||
"title": "Common types" | ||
}, | ||
"paths": {}, | ||
"definitions": { | ||
"UserAssignedIdentities": { | ||
"title": "User-Assigned Identities", | ||
"description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/UserAssignedIdentity" | ||
} | ||
}, | ||
"UserAssignedIdentity": { | ||
"type": "object", | ||
"description": "User assigned identity properties", | ||
"properties": { | ||
"principalId": { | ||
"description": "The principal ID of the assigned identity.", | ||
"format": "uuid", | ||
"type": "string", | ||
"readOnly": true | ||
}, | ||
"clientId": { | ||
"description": "The client ID of the assigned identity.", | ||
"format": "uuid", | ||
"type": "string", | ||
"readOnly": true | ||
} | ||
} | ||
}, | ||
"ManagedServiceIdentityType": { | ||
"description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", | ||
"enum": [ | ||
"None", | ||
"SystemAssigned", | ||
"UserAssigned", | ||
"SystemAssigned,UserAssigned" | ||
], | ||
"type": "string", | ||
"x-ms-enum": { | ||
"name": "ManagedServiceIdentityType", | ||
"modelAsString": true | ||
} | ||
}, | ||
"ManagedServiceIdentity": { | ||
"description": "Managed service identity (system assigned and/or user assigned identities)", | ||
"type": "object", | ||
"properties": { | ||
"principalId": { | ||
"readOnly": true, | ||
"format": "uuid", | ||
"type": "string", | ||
"description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity." | ||
}, | ||
"tenantId": { | ||
"readOnly": true, | ||
"format": "uuid", | ||
"type": "string", | ||
"description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity." | ||
}, | ||
"type": { | ||
"$ref": "#/definitions/ManagedServiceIdentityType" | ||
}, | ||
"userAssignedIdentities": { | ||
"$ref": "#/definitions/UserAssignedIdentities" | ||
} | ||
}, | ||
"required": [ | ||
"type" | ||
] | ||
}, | ||
"SystemAssignedServiceIdentityType": { | ||
"description": "Type of managed service identity (either system assigned, or none).", | ||
"enum": [ | ||
"None", | ||
"SystemAssigned" | ||
], | ||
"type": "string", | ||
"x-ms-enum": { | ||
"name": "SystemAssignedServiceIdentityType", | ||
"modelAsString": true | ||
} | ||
}, | ||
"SystemAssignedServiceIdentity": { | ||
"description": "Managed service identity (either system assigned, or none)", | ||
"type": "object", | ||
"properties": { | ||
"principalId": { | ||
"readOnly": true, | ||
"format": "uuid", | ||
"type": "string", | ||
"description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity." | ||
}, | ||
"tenantId": { | ||
"readOnly": true, | ||
"format": "uuid", | ||
"type": "string", | ||
"description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity." | ||
}, | ||
"type": { | ||
"$ref": "#/definitions/SystemAssignedServiceIdentityType" | ||
} | ||
}, | ||
"required": [ | ||
"type" | ||
] | ||
} | ||
} | ||
} |