@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [;
exports.PimRoleEligibilitySchedule = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* 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.
*/
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, id, opts) {
return new PimRoleEligibilitySchedule(name, undefined, { ...opts, id: id });
}
/**
* 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) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === PimRoleEligibilitySchedule.__pulumiType;
}
/**
* 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, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
if (args?.principalId === undefined && !opts.urn) {
throw new Error("Missing required property 'principalId'");
}
if (args?.roleDefinitionId === undefined && !opts.urn) {
throw new Error("Missing required property 'roleDefinitionId'");
}
if (args?.scope === undefined && !opts.urn) {
throw new Error("Missing required property 'scope'");
}
resourceInputs["condition"] = args?.condition;
resourceInputs["conditionVersion"] = args?.conditionVersion;
resourceInputs["justification"] = args?.justification;
resourceInputs["principalId"] = args?.principalId;
resourceInputs["roleDefinitionId"] = args?.roleDefinitionId;
resourceInputs["scheduleInfo"] = args?.scheduleInfo;
resourceInputs["scope"] = args?.scope;
resourceInputs["targetRoleEligibilityScheduleId"] = args?.targetRoleEligibilityScheduleId;
resourceInputs["targetRoleEligibilityScheduleInstanceId"] = args?.targetRoleEligibilityScheduleInstanceId;
resourceInputs["ticketInfo"] = args?.ticketInfo;
resourceInputs["approvalId"] = undefined /*out*/;
resourceInputs["azureApiVersion"] = undefined /*out*/;
resourceInputs["createdOn"] = undefined /*out*/;
resourceInputs["expandedProperties"] = undefined /*out*/;
resourceInputs["name"] = undefined /*out*/;
resourceInputs["principalType"] = undefined /*out*/;
resourceInputs["requestType"] = undefined /*out*/;
resourceInputs["requestorId"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
resourceInputs["type"] = undefined /*out*/;
}
else {
resourceInputs["approvalId"] = undefined /*out*/;
resourceInputs["azureApiVersion"] = undefined /*out*/;
resourceInputs["condition"] = undefined /*out*/;
resourceInputs["conditionVersion"] = undefined /*out*/;
resourceInputs["createdOn"] = undefined /*out*/;
resourceInputs["expandedProperties"] = undefined /*out*/;
resourceInputs["justification"] = undefined /*out*/;
resourceInputs["name"] = undefined /*out*/;
resourceInputs["principalId"] = undefined /*out*/;
resourceInputs["principalType"] = undefined /*out*/;
resourceInputs["requestType"] = undefined /*out*/;
resourceInputs["requestorId"] = undefined /*out*/;
resourceInputs["roleDefinitionId"] = undefined /*out*/;
resourceInputs["scheduleInfo"] = undefined /*out*/;
resourceInputs["scope"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
resourceInputs["targetRoleEligibilityScheduleId"] = undefined /*out*/;
resourceInputs["targetRoleEligibilityScheduleInstanceId"] = undefined /*out*/;
resourceInputs["ticketInfo"] = undefined /*out*/;
resourceInputs["type"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "azure-native:authorization/v20201001:PimRoleEligibilitySchedule" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(PimRoleEligibilitySchedule.__pulumiType, name, resourceInputs, opts);
}
}
exports.PimRoleEligibilitySchedule = PimRoleEligibilitySchedule;
/** @internal */
PimRoleEligibilitySchedule.__pulumiType = 'azure-native:authorization:PimRoleEligibilitySchedule';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGltUm9sZUVsaWdpYmlsaXR5U2NoZWR1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9hdXRob3JpemF0aW9uL3BpbVJvbGVFbGlnaWJpbGl0eVNjaGVkdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzRUFBc0U7QUFDdEUsaUZBQWlGOzs7QUFFakYseUNBQXlDO0FBSXpDLDBDQUEwQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsMEJBQTJCLFNBQVEsTUFBTSxDQUFDLGNBQWM7SUFDakU7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQTJCLEVBQUUsSUFBbUM7UUFDNUYsT0FBTyxJQUFJLDBCQUEwQixDQUFDLElBQUksRUFBRSxTQUFnQixFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUtEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBUTtRQUM3QixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLDBCQUEwQixDQUFDLFlBQVksQ0FBQztJQUMzRSxDQUFDO0lBbUZEOzs7Ozs7T0FNRztJQUNILFlBQVksSUFBWSxFQUFFLElBQW9DLEVBQUUsSUFBbUM7UUFDL0YsSUFBSSxjQUFjLEdBQWtCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNWLElBQUksSUFBSSxFQUFFLFdBQVcsS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENB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