Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.security.GovernanceRuleArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** 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.azurenative.security;
import com.pulumi.azurenative.security.enums.GovernanceRuleSourceResourceType;
import com.pulumi.azurenative.security.enums.GovernanceRuleType;
import com.pulumi.azurenative.security.inputs.GovernanceRuleEmailNotificationArgs;
import com.pulumi.azurenative.security.inputs.GovernanceRuleOwnerSourceArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class GovernanceRuleArgs extends com.pulumi.resources.ResourceArgs {
public static final GovernanceRuleArgs Empty = new GovernanceRuleArgs();
/**
* Description of the governance rule
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return Description of the governance rule
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* Display name of the governance rule
*
*/
@Import(name="displayName", required=true)
private Output displayName;
/**
* @return Display name of the governance rule
*
*/
public Output displayName() {
return this.displayName;
}
/**
* Excluded scopes, filter out the descendants of the scope (on management scopes)
*
*/
@Import(name="excludedScopes")
private @Nullable Output> excludedScopes;
/**
* @return Excluded scopes, filter out the descendants of the scope (on management scopes)
*
*/
public Optional>> excludedScopes() {
return Optional.ofNullable(this.excludedScopes);
}
/**
* The email notifications settings for the governance rule, states whether to disable notifications for mangers and owners
*
*/
@Import(name="governanceEmailNotification")
private @Nullable Output governanceEmailNotification;
/**
* @return The email notifications settings for the governance rule, states whether to disable notifications for mangers and owners
*
*/
public Optional> governanceEmailNotification() {
return Optional.ofNullable(this.governanceEmailNotification);
}
/**
* Defines whether the rule is management scope rule (master connector as a single scope or management scope)
*
*/
@Import(name="includeMemberScopes")
private @Nullable Output includeMemberScopes;
/**
* @return Defines whether the rule is management scope rule (master connector as a single scope or management scope)
*
*/
public Optional> includeMemberScopes() {
return Optional.ofNullable(this.includeMemberScopes);
}
/**
* Defines whether the rule is active/inactive
*
*/
@Import(name="isDisabled")
private @Nullable Output isDisabled;
/**
* @return Defines whether the rule is active/inactive
*
*/
public Optional> isDisabled() {
return Optional.ofNullable(this.isDisabled);
}
/**
* Defines whether there is a grace period on the governance rule
*
*/
@Import(name="isGracePeriod")
private @Nullable Output isGracePeriod;
/**
* @return Defines whether there is a grace period on the governance rule
*
*/
public Optional> isGracePeriod() {
return Optional.ofNullable(this.isGracePeriod);
}
/**
* The owner source for the governance rule - e.g. Manually by user{@literal @}contoso.com - see example
*
*/
@Import(name="ownerSource", required=true)
private Output ownerSource;
/**
* @return The owner source for the governance rule - e.g. Manually by user{@literal @}contoso.com - see example
*
*/
public Output ownerSource() {
return this.ownerSource;
}
/**
* Governance rule remediation timeframe - this is the time that will affect on the grace-period duration e.g. 7.00:00:00 - means 7 days
*
*/
@Import(name="remediationTimeframe")
private @Nullable Output remediationTimeframe;
/**
* @return Governance rule remediation timeframe - this is the time that will affect on the grace-period duration e.g. 7.00:00:00 - means 7 days
*
*/
public Optional> remediationTimeframe() {
return Optional.ofNullable(this.remediationTimeframe);
}
/**
* The governance rule key - unique key for the standard governance rule (GUID)
*
*/
@Import(name="ruleId")
private @Nullable Output ruleId;
/**
* @return The governance rule key - unique key for the standard governance rule (GUID)
*
*/
public Optional> ruleId() {
return Optional.ofNullable(this.ruleId);
}
/**
* The governance rule priority, priority to the lower number. Rules with the same priority on the same scope will not be allowed
*
*/
@Import(name="rulePriority", required=true)
private Output rulePriority;
/**
* @return The governance rule priority, priority to the lower number. Rules with the same priority on the same scope will not be allowed
*
*/
public Output rulePriority() {
return this.rulePriority;
}
/**
* The rule type of the governance rule, defines the source of the rule e.g. Integrated
*
*/
@Import(name="ruleType", required=true)
private Output> ruleType;
/**
* @return The rule type of the governance rule, defines the source of the rule e.g. Integrated
*
*/
public Output> ruleType() {
return this.ruleType;
}
/**
* The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
*
*/
@Import(name="scope", required=true)
private Output scope;
/**
* @return The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
*
*/
public Output scope() {
return this.scope;
}
/**
* The governance rule source, what the rule affects, e.g. Assessments
*
*/
@Import(name="sourceResourceType", required=true)
private Output> sourceResourceType;
/**
* @return The governance rule source, what the rule affects, e.g. Assessments
*
*/
public Output> sourceResourceType() {
return this.sourceResourceType;
}
private GovernanceRuleArgs() {}
private GovernanceRuleArgs(GovernanceRuleArgs $) {
this.description = $.description;
this.displayName = $.displayName;
this.excludedScopes = $.excludedScopes;
this.governanceEmailNotification = $.governanceEmailNotification;
this.includeMemberScopes = $.includeMemberScopes;
this.isDisabled = $.isDisabled;
this.isGracePeriod = $.isGracePeriod;
this.ownerSource = $.ownerSource;
this.remediationTimeframe = $.remediationTimeframe;
this.ruleId = $.ruleId;
this.rulePriority = $.rulePriority;
this.ruleType = $.ruleType;
this.scope = $.scope;
this.sourceResourceType = $.sourceResourceType;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GovernanceRuleArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private GovernanceRuleArgs $;
public Builder() {
$ = new GovernanceRuleArgs();
}
public Builder(GovernanceRuleArgs defaults) {
$ = new GovernanceRuleArgs(Objects.requireNonNull(defaults));
}
/**
* @param description Description of the governance rule
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description Description of the governance rule
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param displayName Display name of the governance rule
*
* @return builder
*
*/
public Builder displayName(Output displayName) {
$.displayName = displayName;
return this;
}
/**
* @param displayName Display name of the governance rule
*
* @return builder
*
*/
public Builder displayName(String displayName) {
return displayName(Output.of(displayName));
}
/**
* @param excludedScopes Excluded scopes, filter out the descendants of the scope (on management scopes)
*
* @return builder
*
*/
public Builder excludedScopes(@Nullable Output> excludedScopes) {
$.excludedScopes = excludedScopes;
return this;
}
/**
* @param excludedScopes Excluded scopes, filter out the descendants of the scope (on management scopes)
*
* @return builder
*
*/
public Builder excludedScopes(List excludedScopes) {
return excludedScopes(Output.of(excludedScopes));
}
/**
* @param excludedScopes Excluded scopes, filter out the descendants of the scope (on management scopes)
*
* @return builder
*
*/
public Builder excludedScopes(String... excludedScopes) {
return excludedScopes(List.of(excludedScopes));
}
/**
* @param governanceEmailNotification The email notifications settings for the governance rule, states whether to disable notifications for mangers and owners
*
* @return builder
*
*/
public Builder governanceEmailNotification(@Nullable Output governanceEmailNotification) {
$.governanceEmailNotification = governanceEmailNotification;
return this;
}
/**
* @param governanceEmailNotification The email notifications settings for the governance rule, states whether to disable notifications for mangers and owners
*
* @return builder
*
*/
public Builder governanceEmailNotification(GovernanceRuleEmailNotificationArgs governanceEmailNotification) {
return governanceEmailNotification(Output.of(governanceEmailNotification));
}
/**
* @param includeMemberScopes Defines whether the rule is management scope rule (master connector as a single scope or management scope)
*
* @return builder
*
*/
public Builder includeMemberScopes(@Nullable Output includeMemberScopes) {
$.includeMemberScopes = includeMemberScopes;
return this;
}
/**
* @param includeMemberScopes Defines whether the rule is management scope rule (master connector as a single scope or management scope)
*
* @return builder
*
*/
public Builder includeMemberScopes(Boolean includeMemberScopes) {
return includeMemberScopes(Output.of(includeMemberScopes));
}
/**
* @param isDisabled Defines whether the rule is active/inactive
*
* @return builder
*
*/
public Builder isDisabled(@Nullable Output isDisabled) {
$.isDisabled = isDisabled;
return this;
}
/**
* @param isDisabled Defines whether the rule is active/inactive
*
* @return builder
*
*/
public Builder isDisabled(Boolean isDisabled) {
return isDisabled(Output.of(isDisabled));
}
/**
* @param isGracePeriod Defines whether there is a grace period on the governance rule
*
* @return builder
*
*/
public Builder isGracePeriod(@Nullable Output isGracePeriod) {
$.isGracePeriod = isGracePeriod;
return this;
}
/**
* @param isGracePeriod Defines whether there is a grace period on the governance rule
*
* @return builder
*
*/
public Builder isGracePeriod(Boolean isGracePeriod) {
return isGracePeriod(Output.of(isGracePeriod));
}
/**
* @param ownerSource The owner source for the governance rule - e.g. Manually by user{@literal @}contoso.com - see example
*
* @return builder
*
*/
public Builder ownerSource(Output ownerSource) {
$.ownerSource = ownerSource;
return this;
}
/**
* @param ownerSource The owner source for the governance rule - e.g. Manually by user{@literal @}contoso.com - see example
*
* @return builder
*
*/
public Builder ownerSource(GovernanceRuleOwnerSourceArgs ownerSource) {
return ownerSource(Output.of(ownerSource));
}
/**
* @param remediationTimeframe Governance rule remediation timeframe - this is the time that will affect on the grace-period duration e.g. 7.00:00:00 - means 7 days
*
* @return builder
*
*/
public Builder remediationTimeframe(@Nullable Output remediationTimeframe) {
$.remediationTimeframe = remediationTimeframe;
return this;
}
/**
* @param remediationTimeframe Governance rule remediation timeframe - this is the time that will affect on the grace-period duration e.g. 7.00:00:00 - means 7 days
*
* @return builder
*
*/
public Builder remediationTimeframe(String remediationTimeframe) {
return remediationTimeframe(Output.of(remediationTimeframe));
}
/**
* @param ruleId The governance rule key - unique key for the standard governance rule (GUID)
*
* @return builder
*
*/
public Builder ruleId(@Nullable Output ruleId) {
$.ruleId = ruleId;
return this;
}
/**
* @param ruleId The governance rule key - unique key for the standard governance rule (GUID)
*
* @return builder
*
*/
public Builder ruleId(String ruleId) {
return ruleId(Output.of(ruleId));
}
/**
* @param rulePriority The governance rule priority, priority to the lower number. Rules with the same priority on the same scope will not be allowed
*
* @return builder
*
*/
public Builder rulePriority(Output rulePriority) {
$.rulePriority = rulePriority;
return this;
}
/**
* @param rulePriority The governance rule priority, priority to the lower number. Rules with the same priority on the same scope will not be allowed
*
* @return builder
*
*/
public Builder rulePriority(Integer rulePriority) {
return rulePriority(Output.of(rulePriority));
}
/**
* @param ruleType The rule type of the governance rule, defines the source of the rule e.g. Integrated
*
* @return builder
*
*/
public Builder ruleType(Output> ruleType) {
$.ruleType = ruleType;
return this;
}
/**
* @param ruleType The rule type of the governance rule, defines the source of the rule e.g. Integrated
*
* @return builder
*
*/
public Builder ruleType(Either ruleType) {
return ruleType(Output.of(ruleType));
}
/**
* @param ruleType The rule type of the governance rule, defines the source of the rule e.g. Integrated
*
* @return builder
*
*/
public Builder ruleType(String ruleType) {
return ruleType(Either.ofLeft(ruleType));
}
/**
* @param ruleType The rule type of the governance rule, defines the source of the rule e.g. Integrated
*
* @return builder
*
*/
public Builder ruleType(GovernanceRuleType ruleType) {
return ruleType(Either.ofRight(ruleType));
}
/**
* @param scope The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
*
* @return builder
*
*/
public Builder scope(Output scope) {
$.scope = scope;
return this;
}
/**
* @param scope The scope of the Governance rules. Valid scopes are: management group (format: 'providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: 'subscriptions/{subscriptionId}'), or security connector (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName})'
*
* @return builder
*
*/
public Builder scope(String scope) {
return scope(Output.of(scope));
}
/**
* @param sourceResourceType The governance rule source, what the rule affects, e.g. Assessments
*
* @return builder
*
*/
public Builder sourceResourceType(Output> sourceResourceType) {
$.sourceResourceType = sourceResourceType;
return this;
}
/**
* @param sourceResourceType The governance rule source, what the rule affects, e.g. Assessments
*
* @return builder
*
*/
public Builder sourceResourceType(Either sourceResourceType) {
return sourceResourceType(Output.of(sourceResourceType));
}
/**
* @param sourceResourceType The governance rule source, what the rule affects, e.g. Assessments
*
* @return builder
*
*/
public Builder sourceResourceType(String sourceResourceType) {
return sourceResourceType(Either.ofLeft(sourceResourceType));
}
/**
* @param sourceResourceType The governance rule source, what the rule affects, e.g. Assessments
*
* @return builder
*
*/
public Builder sourceResourceType(GovernanceRuleSourceResourceType sourceResourceType) {
return sourceResourceType(Either.ofRight(sourceResourceType));
}
public GovernanceRuleArgs build() {
if ($.displayName == null) {
throw new MissingRequiredPropertyException("GovernanceRuleArgs", "displayName");
}
if ($.ownerSource == null) {
throw new MissingRequiredPropertyException("GovernanceRuleArgs", "ownerSource");
}
if ($.rulePriority == null) {
throw new MissingRequiredPropertyException("GovernanceRuleArgs", "rulePriority");
}
if ($.ruleType == null) {
throw new MissingRequiredPropertyException("GovernanceRuleArgs", "ruleType");
}
if ($.scope == null) {
throw new MissingRequiredPropertyException("GovernanceRuleArgs", "scope");
}
if ($.sourceResourceType == null) {
throw new MissingRequiredPropertyException("GovernanceRuleArgs", "sourceResourceType");
}
return $;
}
}
}