@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, Object.assign(Object.assign({}, 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 || args.principalId === undefined) && !opts.urn) {
throw new Error("Missing required property 'principalId'");
}
if ((!args || args.roleDefinitionId === undefined) && !opts.urn) {
throw new Error("Missing required property 'roleDefinitionId'");
}
if ((!args || args.scope === undefined) && !opts.urn) {
throw new Error("Missing required property 'scope'");
}
resourceInputs["condition"] = args ? args.condition : undefined;
resourceInputs["conditionVersion"] = args ? args.conditionVersion : undefined;
resourceInputs["justification"] = args ? args.justification : undefined;
resourceInputs["principalId"] = args ? args.principalId : undefined;
resourceInputs["roleDefinitionId"] = args ? args.roleDefinitionId : undefined;
resourceInputs["scheduleInfo"] = args ? args.scheduleInfo : undefined;
resourceInputs["scope"] = args ? args.scope : undefined;
resourceInputs["targetRoleEligibilityScheduleId"] = args ? args.targetRoleEligibilityScheduleId : undefined;
resourceInputs["targetRoleEligibilityScheduleInstanceId"] = args ? args.targetRoleEligibilityScheduleInstanceId : undefined;
resourceInputs["ticketInfo"] = args ? args.ticketInfo : undefined;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGltUm9sZUVsaWdpYmlsaXR5U2NoZWR1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9hdXRob3JpemF0aW9uL3BpbVJvbGVFbGlnaWJpbGl0eVNjaGVkdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzRUFBc0U7QUFDdEUsaUZBQWlGOzs7QUFFakYseUNBQXlDO0FBSXpDLDBDQUEwQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsMEJBQTJCLFNBQVEsTUFBTSxDQUFDLGNBQWM7SUFDakU7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQTJCLEVBQUUsSUFBbUM7UUFDNUYsT0FBTyxJQUFJLDBCQUEwQixDQUFDLElBQUksRUFBRSxTQUFnQixrQ0FBTyxJQUFJLEtBQUUsRUFBRSxFQUFFLEVBQUUsSUFBRyxDQUFDO0lBQ3ZGLENBQUM7SUFLRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVE7UUFDN0IsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDbkMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSywwQkFBMEIsQ0FBQyxZQUFZLENBQUM7SUFDM0UsQ0FBQztJQW1GRDs7Ozs7O09BTUc7SUFDSCxZQUFZLElBQVksRUFBRSxJQUFvQyxFQUFFLElBQW1DO1FBQy9GLElBQUksY0FBYyxHQUFrQixFQUFFLENBQUM7UUFDdkMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDVixJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMseUNB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