com.pulumi.azure.pim.outputs.RoleManagementPolicyActivationRules Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azure.pim.outputs;
import com.pulumi.azure.pim.outputs.RoleManagementPolicyActivationRulesApprovalStage;
import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class RoleManagementPolicyActivationRules {
/**
* @return An `approval_stage` block as defined below.
*
*/
private @Nullable RoleManagementPolicyActivationRulesApprovalStage approvalStage;
/**
* @return The maximum length of time an activated role can be valid, in an ISO8601 Duration format (e.g. `PT8H`). Valid range is `PT30M` to `PT23H30M`, in 30 minute increments, or `PT1D`.
*
*/
private @Nullable String maximumDuration;
/**
* @return Is approval required for activation. If `true` an `approval_stage` block must be provided.
*
*/
private @Nullable Boolean requireApproval;
/**
* @return Is a justification required during activation of the role.
*
*/
private @Nullable Boolean requireJustification;
/**
* @return Is multi-factor authentication required to activate the role. Conflicts with `required_conditional_access_authentication_context`.
*
*/
private @Nullable Boolean requireMultifactorAuthentication;
/**
* @return Is ticket information requrired during activation of the role.
*
*/
private @Nullable Boolean requireTicketInfo;
/**
* @return The Entra ID Conditional Access context that must be present for activation. Conflicts with `require_multifactor_authentication`.
*
*/
private @Nullable String requiredConditionalAccessAuthenticationContext;
private RoleManagementPolicyActivationRules() {}
/**
* @return An `approval_stage` block as defined below.
*
*/
public Optional approvalStage() {
return Optional.ofNullable(this.approvalStage);
}
/**
* @return The maximum length of time an activated role can be valid, in an ISO8601 Duration format (e.g. `PT8H`). Valid range is `PT30M` to `PT23H30M`, in 30 minute increments, or `PT1D`.
*
*/
public Optional maximumDuration() {
return Optional.ofNullable(this.maximumDuration);
}
/**
* @return Is approval required for activation. If `true` an `approval_stage` block must be provided.
*
*/
public Optional requireApproval() {
return Optional.ofNullable(this.requireApproval);
}
/**
* @return Is a justification required during activation of the role.
*
*/
public Optional requireJustification() {
return Optional.ofNullable(this.requireJustification);
}
/**
* @return Is multi-factor authentication required to activate the role. Conflicts with `required_conditional_access_authentication_context`.
*
*/
public Optional requireMultifactorAuthentication() {
return Optional.ofNullable(this.requireMultifactorAuthentication);
}
/**
* @return Is ticket information requrired during activation of the role.
*
*/
public Optional requireTicketInfo() {
return Optional.ofNullable(this.requireTicketInfo);
}
/**
* @return The Entra ID Conditional Access context that must be present for activation. Conflicts with `require_multifactor_authentication`.
*
*/
public Optional requiredConditionalAccessAuthenticationContext() {
return Optional.ofNullable(this.requiredConditionalAccessAuthenticationContext);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(RoleManagementPolicyActivationRules defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable RoleManagementPolicyActivationRulesApprovalStage approvalStage;
private @Nullable String maximumDuration;
private @Nullable Boolean requireApproval;
private @Nullable Boolean requireJustification;
private @Nullable Boolean requireMultifactorAuthentication;
private @Nullable Boolean requireTicketInfo;
private @Nullable String requiredConditionalAccessAuthenticationContext;
public Builder() {}
public Builder(RoleManagementPolicyActivationRules defaults) {
Objects.requireNonNull(defaults);
this.approvalStage = defaults.approvalStage;
this.maximumDuration = defaults.maximumDuration;
this.requireApproval = defaults.requireApproval;
this.requireJustification = defaults.requireJustification;
this.requireMultifactorAuthentication = defaults.requireMultifactorAuthentication;
this.requireTicketInfo = defaults.requireTicketInfo;
this.requiredConditionalAccessAuthenticationContext = defaults.requiredConditionalAccessAuthenticationContext;
}
@CustomType.Setter
public Builder approvalStage(@Nullable RoleManagementPolicyActivationRulesApprovalStage approvalStage) {
this.approvalStage = approvalStage;
return this;
}
@CustomType.Setter
public Builder maximumDuration(@Nullable String maximumDuration) {
this.maximumDuration = maximumDuration;
return this;
}
@CustomType.Setter
public Builder requireApproval(@Nullable Boolean requireApproval) {
this.requireApproval = requireApproval;
return this;
}
@CustomType.Setter
public Builder requireJustification(@Nullable Boolean requireJustification) {
this.requireJustification = requireJustification;
return this;
}
@CustomType.Setter
public Builder requireMultifactorAuthentication(@Nullable Boolean requireMultifactorAuthentication) {
this.requireMultifactorAuthentication = requireMultifactorAuthentication;
return this;
}
@CustomType.Setter
public Builder requireTicketInfo(@Nullable Boolean requireTicketInfo) {
this.requireTicketInfo = requireTicketInfo;
return this;
}
@CustomType.Setter
public Builder requiredConditionalAccessAuthenticationContext(@Nullable String requiredConditionalAccessAuthenticationContext) {
this.requiredConditionalAccessAuthenticationContext = requiredConditionalAccessAuthenticationContext;
return this;
}
public RoleManagementPolicyActivationRules build() {
final var _resultValue = new RoleManagementPolicyActivationRules();
_resultValue.approvalStage = approvalStage;
_resultValue.maximumDuration = maximumDuration;
_resultValue.requireApproval = requireApproval;
_resultValue.requireJustification = requireJustification;
_resultValue.requireMultifactorAuthentication = requireMultifactorAuthentication;
_resultValue.requireTicketInfo = requireTicketInfo;
_resultValue.requiredConditionalAccessAuthenticationContext = requiredConditionalAccessAuthenticationContext;
return _resultValue;
}
}
}