@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [ • 7.23 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* A PIM (Privileged Identity Management) Role Eligibility Schedule.
*
* Role Eligibility Schedules are used to limit standing administrator access to privileged roles in Azure PIM. See
* [here](https://learn.microsoft.com/en-us/rest/api/authorization/privileged-role-eligibility-rest-sample) for details.
*
* A Role Eligibility Schedule is uniquely defined by scope, principal, and role. At present, only one instance of this
* resource can exist for a given scope|principal|role tuple.
*
* Note that this resource cannot be updated. Each change leads to a recreation.
*
* Internally, this resource uses the
* [Role Eligibility Schedule Requests](https://learn.microsoft.com/en-us/rest/api/authorization/role-eligibility-schedule-requests?view=rest-authorization-2020-10-01)
* API to create and delete the schedules.
*/
export declare class PimRoleEligibilitySchedule extends pulumi.CustomResource {
/**
* Get an existing PimRoleEligibilitySchedule resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): PimRoleEligibilitySchedule;
/**
* Returns true if the given object is an instance of PimRoleEligibilitySchedule. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is PimRoleEligibilitySchedule;
/**
* The approvalId of the role eligibility schedule request.
*/
readonly approvalId: pulumi.Output<string>;
/**
* The Azure API version of the resource.
*/
readonly azureApiVersion: pulumi.Output<string>;
/**
* 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'
*/
readonly condition: pulumi.Output<string | undefined>;
/**
* Version of the condition. Currently accepted value is '2.0'
*/
readonly conditionVersion: pulumi.Output<string | undefined>;
/**
* DateTime when role eligibility schedule request was created
*/
readonly createdOn: pulumi.Output<string>;
/**
* Additional properties of principal, scope and role definition
*/
readonly expandedProperties: pulumi.Output<outputs.authorization.ExpandedPropertiesResponse>;
/**
* Justification for the role eligibility
*/
readonly justification: pulumi.Output<string | undefined>;
/**
* The role eligibility schedule request name.
*/
readonly name: pulumi.Output<string>;
/**
* The principal ID.
*/
readonly principalId: pulumi.Output<string>;
/**
* The principal type of the assigned principal ID.
*/
readonly principalType: pulumi.Output<string>;
/**
* The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc
*/
readonly requestType: pulumi.Output<string | undefined>;
/**
* Id of the user who created this request
*/
readonly requestorId: pulumi.Output<string>;
/**
* The role definition ID.
*/
readonly roleDefinitionId: pulumi.Output<string>;
/**
* Schedule info of the role eligibility schedule
*/
readonly scheduleInfo: pulumi.Output<outputs.authorization.RoleEligibilityScheduleRequestPropertiesResponseScheduleInfo | undefined>;
/**
* The role eligibility schedule request scope.
*/
readonly scope: pulumi.Output<string>;
/**
* The status of the role eligibility schedule request.
*/
readonly status: pulumi.Output<string>;
/**
* The resultant role eligibility schedule id or the role eligibility schedule id being updated
*/
readonly targetRoleEligibilityScheduleId: pulumi.Output<string | undefined>;
/**
* The role eligibility schedule instance id being updated
*/
readonly targetRoleEligibilityScheduleInstanceId: pulumi.Output<string | undefined>;
/**
* Ticket Info of the role eligibility
*/
readonly ticketInfo: pulumi.Output<outputs.authorization.RoleEligibilityScheduleRequestPropertiesResponseTicketInfo | undefined>;
/**
* The role eligibility schedule request type.
*/
readonly type: pulumi.Output<string>;
/**
* Create a PimRoleEligibilitySchedule resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: PimRoleEligibilityScheduleArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a PimRoleEligibilitySchedule resource.
*/
export interface PimRoleEligibilityScheduleArgs {
/**
* 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'
*/
condition?: pulumi.Input<string>;
/**
* Version of the condition. Currently accepted value is '2.0'
*/
conditionVersion?: pulumi.Input<string>;
/**
* Justification for the role eligibility
*/
justification?: pulumi.Input<string>;
/**
* The principal ID.
*/
principalId: pulumi.Input<string>;
/**
* The role definition ID.
*/
roleDefinitionId: pulumi.Input<string>;
/**
* Schedule info of the role eligibility schedule
*/
scheduleInfo?: pulumi.Input<inputs.authorization.RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs>;
/**
* The scope of the role eligibility schedule request to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.
*/
scope: pulumi.Input<string>;
/**
* The resultant role eligibility schedule id or the role eligibility schedule id being updated
*/
targetRoleEligibilityScheduleId?: pulumi.Input<string>;
/**
* The role eligibility schedule instance id being updated
*/
targetRoleEligibilityScheduleInstanceId?: pulumi.Input<string>;
/**
* Ticket Info of the role eligibility
*/
ticketInfo?: pulumi.Input<inputs.authorization.RoleEligibilityScheduleRequestPropertiesTicketInfoArgs>;
}