Skip to content
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

PIM API Specs #12526

Merged
merged 9 commits into from
Jan 26, 2021
Merged
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,353 @@
{
"swagger": "2.0",
"info": {
"title": "AuthorizationManagementClient",
"version": "2020-10-01-preview",
"description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role assignments. A role assignment grants access to Azure Active Directory users."
},
"host": "management.azure.com",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"security": [
{
"azure_auth": [
"user_impersonation"
]
}
],
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
"description": "Azure Active Directory OAuth2 Flow",
"scopes": {
"user_impersonation": "impersonate your user account"
}
}
},
"paths": {
"/{scope}/providers/Microsoft.Authorization/roleAssignmentSchedules/{roleAssignmentScheduleName}": {
"get": {
"tags": [
"roleAssignmentSchedules"
],
"operationId": "roleAssignmentSchedules_Get",
"description": "Get the specified role assignment schedule for a resource scope",
"parameters": [
{
"name": "scope",
"in": "path",
"required": true,
"type": "string",
"description": "The scope of the role assignment schedule.",
"x-ms-skip-url-encoding": true
},
{
"name": "roleAssignmentScheduleName",
"in": "path",
"required": true,
"type": "string",
"description": "The name (guid) of the role assignment schedule to get."
},
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "OK - Returns information about the role assignment schedule.",
"schema": {
"$ref": "#/definitions/RoleAssignmentSchedule"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/CloudError"
}
}
},
"x-ms-examples": {
"GetRoleAssignmentScheduleByName": {
"$ref": "./examples/GetRoleAssignmentScheduleByName.json"
}
}
}
},
"/{scope}/providers/Microsoft.Authorization/roleAssignmentSchedules": {
"get": {
"tags": [
"roleAssignmentSchedules"
],
"operationId": "roleAssignmentSchedules_ListForScope",
"description": "Gets role assignment schedules for a resource scope.",
"parameters": [
{
"name": "scope",
"in": "path",
"required": true,
"type": "string",
"description": "The scope of the role assignments schedules.",
"x-ms-skip-url-encoding": true
},
{
"name": "$filter",
"in": "query",
"required": false,
"type": "string",
"description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all role assignment schedules requested by the current user. Use $filter=asTarget() to return all role assignment schedules created for the current user."
},
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "OK - Returns an array of role assignments schedules.",
"schema": {
"$ref": "#/definitions/RoleAssignmentScheduleListResult"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/CloudError"
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
"x-ms-odata": "#/definitions/RoleAssignmentScheduleFilter",
"x-ms-examples": {
"GetRoleAssignmentSchedulesByScope": {
"$ref": "./examples/GetRoleAssignmentSchedulesByScope.json"
}
}
}
}
},
"definitions": {
"RoleAssignmentScheduleFilter": {
"properties": {
"principalId": {
"type": "string",
"description": "Returns role assignment schedule of the specific principal."
},
"roleDefinitionId": {
"type": "string",
"description": "Returns role assignment schedule of the specific role definition."
},
"status": {
"type": "string",
"description": "Returns role assignment schedule instances of the specific status."
}
},
"description": "Role assignment schedule filter"
},
"RoleAssignmentScheduleProperties": {
"properties": {
"scope": {
"type": "string",
"description": "The role assignment schedule scope."
},
"roleDefinitionId": {
"type": "string",
"description": "The role definition ID."
},
"principalId": {
"type": "string",
"description": "The principal ID."
},
"principalType": {
"type": "string",
"description": "The principal type of the assigned principal ID.",
"enum": [
"User",
"Group",
"ServicePrincipal"
],
"x-ms-enum": {
"name": "PrincipalType",
"modelAsString": true
}
},
"roleAssignmentScheduleRequestId": {
"type": "string",
"description": "The id of roleAssignmentScheduleRequest used to create this roleAssignmentSchedule"
},
"linkedRoleEligibilityScheduleId": {
"type": "string",
"description": "The id of roleEligibilitySchedule used to activated this roleAssignmentSchedule"
},
"assignmentType": {
"type": "string",
"description": "Assignment type of the role assignment schedule",
"enum": [
"Activated",
"Assigned"
],
"x-ms-enum": {
"name": "AssignmentType",
"modelAsString": true
}
},
"memberType": {
"type": "string",
"description": "Membership type of the role assignment schedule",
"enum": [
"Inherited",
"Direct",
"Group"
],
"x-ms-enum": {
"name": "MemberType",
"modelAsString": true
}
},
"status": {
"type": "string",
"description": "The status of the role assignment schedule.",
"enum": [
"Accepted",
"PendingEvaluation",
"Granted",
"Denied",
"PendingProvisioning",
"Provisioned",
"PendingRevocation",
"Revoked",
"Canceled",
"Failed",
"PendingApprovalProvisioning",
"PendingApproval",
"FailedAsResourceIsLocked",
"PendingAdminDecision",
"AdminApproved",
"AdminDenied",
"TimedOut",
"ProvisioningStarted",
"Invalid",
"PendingScheduleCreation",
"ScheduleCreated",
"PendingExternalProvisioning"
],
"x-ms-enum": {
"name": "Status",
"modelAsString": true
}
},
"startDateTime": {
"type": "string",
"format": "date-time",
"description": "Start DateTime when role assignment schedule"
},
"endDateTime": {
"type": "string",
"format": "date-time",
"description": "End DateTime when role assignment schedule"
},
"condition": {
"type": "string",
"description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'"
},
"conditionVersion": {
"type": "string",
"description": "Version of the condition. Currently accepted value is '2.0'"
},
"createdOn": {
"type": "string",
"format": "date-time",
"description": "DateTime when role assignment schedule was created"
},
"updatedOn": {
"type": "string",
"format": "date-time",
"description": "DateTime when role assignment schedule was modified"
}
},
"description": "Role assignment schedule properties with scope."
},
"RoleAssignmentSchedule": {
"properties": {
"id": {
"type": "string",
"readOnly": true,
"description": "The role assignment schedule Id."
},
"name": {
"type": "string",
"readOnly": true,
"description": "The role assignment schedule name."
},
"type": {
"type": "string",
"readOnly": true,
"description": "The role assignment schedule type."
},
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/RoleAssignmentScheduleProperties",
"description": "Role assignment schedule properties."
}
},
"description": "Role Assignment schedule"
},
"RoleAssignmentScheduleListResult": {
"properties": {
"value": {
"type": "array",
"items": {
"$ref": "#/definitions/RoleAssignmentSchedule"
},
"description": "Role assignment schedule list."
},
"nextLink": {
"type": "string",
"description": "The URL to use for getting the next set of results."
}
},
"description": "Role assignment schedule list operation result."
},
"CloudError": {
"x-ms-external": true,
"properties": {
"error": {
"$ref": "#/definitions/CloudErrorBody"
}
},
"description": "An error response from the service."
},
"CloudErrorBody": {
"x-ms-external": true,
"properties": {
"code": {
"type": "string",
"description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
},
"message": {
"type": "string",
"description": "A message describing the error, intended to be suitable for display in a user interface."
}
},
"description": "An error response from the service."
}
},
"parameters": {
"ApiVersionParameter": {
"name": "api-version",
"in": "query",
"required": true,
"type": "string",
"description": "The API version to use for this operation."
}
}
}
Loading