Skip to content

Temp PR #28305

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Temp PR #28305

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions common-types/resource-management/customermanagedkeys.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{
"swagger": "2.0",
"info": {
"title": "Common types",
"version": "5.0"
},
"paths": {},
"definitions": {
"encryption": {
"type": "object",
"description": "All encryption configuration for a resource.",
"properties": {
"infrastructureEncryption": {
"type": "string",
"description": "(Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled.",
"enum": [
"enabled",
"disabled"
],
"x-ms-enum": {
"name": "InfrastructureEncryption",
"modelAsString": true
}
},
"customerManagedKeyEncryption": {
"type": "object",
"description": "All Customer-managed key encryption properties for the resource.",
"properties": {
"keyEncryptionKeyIdentity": {
"type": "object",
"description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault.",
"properties": {
"identityType": {
"type": "string",
"description": "The type of identity to use. Values can be systemAssignedIdentity, userAssignedIdentity, or delegatedResourceIdentity.",
"enum": [
"systemAssignedIdentity",
"userAssignedIdentity",
"delegatedResourceIdentity"
]
},
"userAssignedIdentityResourceId": {
"type": "string",
"format": "arm-id",
"description": "User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity."
},
"federatedClientId": {
"type": "string",
"format": "uuid",
"description": "application client identity to use for accessing key encryption key Url in a different tenant. Ex: f83c6b1b-4d34-47e4-bb34-9d83df58b540"
},
"delegatedIdentityClientId": {
"type": "string",
"format": "uuid",
"description": "delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only."
}
}
},
"keyEncryptionKeyUrl": {
"type": "string",
"description": "key encryption key Url, versioned or unversioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek."
}
}
}
}
}
}
}
114 changes: 114 additions & 0 deletions common-types/resource-management/managedidentity.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
{
"swagger": "2.0",
"info": {
"title": "Common types",
"version": "5.0"
},
"paths": {},
"definitions": {
"ManagedServiceIdentity": {
"type": "object",
"description": "Managed service identity (system assigned and/or user assigned identities)",
"properties": {
"principalId": {
"type": "string",
"format": "uuid",
"description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.",
"readOnly": true
},
"tenantId": {
"type": "string",
"format": "uuid",
"description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.",
"readOnly": true
},
"type": {
"$ref": "#/definitions/ManagedServiceIdentityType"
},
"userAssignedIdentities": {
"$ref": "#/definitions/UserAssignedIdentities"
}
},
"required": [
"type"
]
},
"ManagedServiceIdentityType": {
"type": "string",
"description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).",
"enum": [
"None",
"SystemAssigned",
"UserAssigned",
"SystemAssigned,UserAssigned"
],
"x-ms-enum": {
"name": "ManagedServiceIdentityType",
"modelAsString": true
}
},
"SystemAssignedServiceIdentity": {
"type": "object",
"description": "Managed service identity (either system assigned, or none)",
"properties": {
"principalId": {
"type": "string",
"format": "uuid",
"description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.",
"readOnly": true
},
"tenantId": {
"type": "string",
"format": "uuid",
"description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.",
"readOnly": true
},
"type": {
"$ref": "#/definitions/SystemAssignedServiceIdentityType"
}
},
"required": [
"type"
]
},
"SystemAssignedServiceIdentityType": {
"type": "string",
"description": "Type of managed service identity (either system assigned, or none).",
"enum": [
"None",
"SystemAssigned"
],
"x-ms-enum": {
"name": "SystemAssignedServiceIdentityType",
"modelAsString": true
}
},
"UserAssignedIdentities": {
"type": "object",
"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.",
"additionalProperties": {
"$ref": "#/definitions/UserAssignedIdentity",
"x-nullable": true
}
},
"UserAssignedIdentity": {
"type": "object",
"description": "User assigned identity properties",
"properties": {
"principalId": {
"type": "string",
"format": "uuid",
"description": "The principal ID of the assigned identity.",
"readOnly": true
},
"clientId": {
"type": "string",
"format": "uuid",
"description": "The client ID of the assigned identity.",
"readOnly": true
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"swagger": "2.0",
"info": {
"title": "Common types",
"version": "5.0"
},
"paths": {},
"definitions": {
"DelegatedResource": {
"type": "object",
"description": "Delegated resource properties - internal use only.",
"properties": {
"resourceId": {
"type": "string",
"description": "The ARM resource id of the delegated resource - internal use only."
},
"tenantId": {
"type": "string",
"format": "uuid",
"description": "The tenant id of the delegated resource - internal use only."
},
"referralResource": {
"type": "string",
"description": "The delegation id of the referral delegation (optional) - internal use only."
},
"location": {
"type": "string",
"description": "The source resource location - internal use only."
}
}
},
"DelegatedResources": {
"type": "object",
"description": "The set of delegated resources. The delegated resources dictionary keys will be source resource internal ids - internal use only.",
"additionalProperties": {
"$ref": "#/definitions/DelegatedResource"
}
},
"ManagedServiceIdentityWithDelegation": {
"type": "object",
"description": "Managed service identity (system assigned and/or user assigned identities and/or delegated identities) - internal use only.",
"properties": {
"delegatedResources": {
"$ref": "#/definitions/DelegatedResources"
}
},
"allOf": [
{
"$ref": "managedidentity.json#/definitions/ManagedServiceIdentity"
}
]
}
}
}
38 changes: 38 additions & 0 deletions common-types/resource-management/mobo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"swagger": "2.0",
"info": {
"title": "Common types",
"version": "5.0"
},
"paths": {},
"definitions": {
"ManagedOnBehalfOfConfiguration": {
"type": "object",
"description": "Managed-On-Behalf-Of configuration properties. This configuration exists for the resources where a resource provider manages those resources on behalf of the resource owner.",
"properties": {
"moboBrokerResources": {
"type": "array",
"description": "Managed-On-Behalf-Of broker resources",
"items": {
"$ref": "#/definitions/MoboBrokerResource"
},
"x-ms-identifiers": [
"id"
]
}
},
"readOnly": true
},
"MoboBrokerResource": {
"type": "object",
"description": "Managed-On-Behalf-Of broker resource. This resource is created by the Resource Provider to manage some resources on behalf of the user.",
"properties": {
"id": {
"type": "string",
"format": "arm-id",
"description": "Resource identifier of a Managed-On-Behalf-Of broker resource"
}
}
}
}
}
Loading