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.authorization.PolicyDefinitionVersionAtManagementGroupArgs Maven / Gradle / Ivy
// *** 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.authorization;
import com.pulumi.azurenative.authorization.enums.PolicyType;
import com.pulumi.azurenative.authorization.inputs.ParameterDefinitionsValueArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Object;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class PolicyDefinitionVersionAtManagementGroupArgs extends com.pulumi.resources.ResourceArgs {
public static final PolicyDefinitionVersionAtManagementGroupArgs Empty = new PolicyDefinitionVersionAtManagementGroupArgs();
/**
* The policy definition description.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return The policy definition description.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* The display name of the policy definition.
*
*/
@Import(name="displayName")
private @Nullable Output displayName;
/**
* @return The display name of the policy definition.
*
*/
public Optional> displayName() {
return Optional.ofNullable(this.displayName);
}
/**
* The name of the management group. The name is case insensitive.
*
*/
@Import(name="managementGroupName", required=true)
private Output managementGroupName;
/**
* @return The name of the management group. The name is case insensitive.
*
*/
public Output managementGroupName() {
return this.managementGroupName;
}
/**
* The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
*
*/
@Import(name="metadata")
private @Nullable Output metadata;
/**
* @return The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
*
*/
public Optional> metadata() {
return Optional.ofNullable(this.metadata);
}
/**
* The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data.
*
*/
@Import(name="mode")
private @Nullable Output mode;
/**
* @return The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data.
*
*/
public Optional> mode() {
return Optional.ofNullable(this.mode);
}
/**
* The parameter definitions for parameters used in the policy rule. The keys are the parameter names.
*
*/
@Import(name="parameters")
private @Nullable Output> parameters;
/**
* @return The parameter definitions for parameters used in the policy rule. The keys are the parameter names.
*
*/
public Optional>> parameters() {
return Optional.ofNullable(this.parameters);
}
/**
* The name of the policy definition.
*
*/
@Import(name="policyDefinitionName", required=true)
private Output policyDefinitionName;
/**
* @return The name of the policy definition.
*
*/
public Output policyDefinitionName() {
return this.policyDefinitionName;
}
/**
* The policy definition version. The format is x.y.z where x is the major version number, y is the minor version number, and z is the patch number
*
*/
@Import(name="policyDefinitionVersion")
private @Nullable Output policyDefinitionVersion;
/**
* @return The policy definition version. The format is x.y.z where x is the major version number, y is the minor version number, and z is the patch number
*
*/
public Optional> policyDefinitionVersion() {
return Optional.ofNullable(this.policyDefinitionVersion);
}
/**
* The policy rule.
*
*/
@Import(name="policyRule")
private @Nullable Output policyRule;
/**
* @return The policy rule.
*
*/
public Optional> policyRule() {
return Optional.ofNullable(this.policyRule);
}
/**
* The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
*
*/
@Import(name="policyType")
private @Nullable Output> policyType;
/**
* @return The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
*
*/
public Optional>> policyType() {
return Optional.ofNullable(this.policyType);
}
/**
* The policy definition version in #.#.# format.
*
*/
@Import(name="version")
private @Nullable Output version;
/**
* @return The policy definition version in #.#.# format.
*
*/
public Optional> version() {
return Optional.ofNullable(this.version);
}
private PolicyDefinitionVersionAtManagementGroupArgs() {}
private PolicyDefinitionVersionAtManagementGroupArgs(PolicyDefinitionVersionAtManagementGroupArgs $) {
this.description = $.description;
this.displayName = $.displayName;
this.managementGroupName = $.managementGroupName;
this.metadata = $.metadata;
this.mode = $.mode;
this.parameters = $.parameters;
this.policyDefinitionName = $.policyDefinitionName;
this.policyDefinitionVersion = $.policyDefinitionVersion;
this.policyRule = $.policyRule;
this.policyType = $.policyType;
this.version = $.version;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(PolicyDefinitionVersionAtManagementGroupArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private PolicyDefinitionVersionAtManagementGroupArgs $;
public Builder() {
$ = new PolicyDefinitionVersionAtManagementGroupArgs();
}
public Builder(PolicyDefinitionVersionAtManagementGroupArgs defaults) {
$ = new PolicyDefinitionVersionAtManagementGroupArgs(Objects.requireNonNull(defaults));
}
/**
* @param description The policy definition description.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description The policy definition description.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param displayName The display name of the policy definition.
*
* @return builder
*
*/
public Builder displayName(@Nullable Output displayName) {
$.displayName = displayName;
return this;
}
/**
* @param displayName The display name of the policy definition.
*
* @return builder
*
*/
public Builder displayName(String displayName) {
return displayName(Output.of(displayName));
}
/**
* @param managementGroupName The name of the management group. The name is case insensitive.
*
* @return builder
*
*/
public Builder managementGroupName(Output managementGroupName) {
$.managementGroupName = managementGroupName;
return this;
}
/**
* @param managementGroupName The name of the management group. The name is case insensitive.
*
* @return builder
*
*/
public Builder managementGroupName(String managementGroupName) {
return managementGroupName(Output.of(managementGroupName));
}
/**
* @param metadata The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
*
* @return builder
*
*/
public Builder metadata(@Nullable Output metadata) {
$.metadata = metadata;
return this;
}
/**
* @param metadata The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
*
* @return builder
*
*/
public Builder metadata(Object metadata) {
return metadata(Output.of(metadata));
}
/**
* @param mode The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data.
*
* @return builder
*
*/
public Builder mode(@Nullable Output mode) {
$.mode = mode;
return this;
}
/**
* @param mode The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data.
*
* @return builder
*
*/
public Builder mode(String mode) {
return mode(Output.of(mode));
}
/**
* @param parameters The parameter definitions for parameters used in the policy rule. The keys are the parameter names.
*
* @return builder
*
*/
public Builder parameters(@Nullable Output> parameters) {
$.parameters = parameters;
return this;
}
/**
* @param parameters The parameter definitions for parameters used in the policy rule. The keys are the parameter names.
*
* @return builder
*
*/
public Builder parameters(Map parameters) {
return parameters(Output.of(parameters));
}
/**
* @param policyDefinitionName The name of the policy definition.
*
* @return builder
*
*/
public Builder policyDefinitionName(Output policyDefinitionName) {
$.policyDefinitionName = policyDefinitionName;
return this;
}
/**
* @param policyDefinitionName The name of the policy definition.
*
* @return builder
*
*/
public Builder policyDefinitionName(String policyDefinitionName) {
return policyDefinitionName(Output.of(policyDefinitionName));
}
/**
* @param policyDefinitionVersion The policy definition version. The format is x.y.z where x is the major version number, y is the minor version number, and z is the patch number
*
* @return builder
*
*/
public Builder policyDefinitionVersion(@Nullable Output policyDefinitionVersion) {
$.policyDefinitionVersion = policyDefinitionVersion;
return this;
}
/**
* @param policyDefinitionVersion The policy definition version. The format is x.y.z where x is the major version number, y is the minor version number, and z is the patch number
*
* @return builder
*
*/
public Builder policyDefinitionVersion(String policyDefinitionVersion) {
return policyDefinitionVersion(Output.of(policyDefinitionVersion));
}
/**
* @param policyRule The policy rule.
*
* @return builder
*
*/
public Builder policyRule(@Nullable Output policyRule) {
$.policyRule = policyRule;
return this;
}
/**
* @param policyRule The policy rule.
*
* @return builder
*
*/
public Builder policyRule(Object policyRule) {
return policyRule(Output.of(policyRule));
}
/**
* @param policyType The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
*
* @return builder
*
*/
public Builder policyType(@Nullable Output> policyType) {
$.policyType = policyType;
return this;
}
/**
* @param policyType The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
*
* @return builder
*
*/
public Builder policyType(Either policyType) {
return policyType(Output.of(policyType));
}
/**
* @param policyType The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
*
* @return builder
*
*/
public Builder policyType(String policyType) {
return policyType(Either.ofLeft(policyType));
}
/**
* @param policyType The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
*
* @return builder
*
*/
public Builder policyType(PolicyType policyType) {
return policyType(Either.ofRight(policyType));
}
/**
* @param version The policy definition version in #.#.# format.
*
* @return builder
*
*/
public Builder version(@Nullable Output version) {
$.version = version;
return this;
}
/**
* @param version The policy definition version in #.#.# format.
*
* @return builder
*
*/
public Builder version(String version) {
return version(Output.of(version));
}
public PolicyDefinitionVersionAtManagementGroupArgs build() {
if ($.managementGroupName == null) {
throw new MissingRequiredPropertyException("PolicyDefinitionVersionAtManagementGroupArgs", "managementGroupName");
}
$.mode = Codegen.stringProp("mode").output().arg($.mode).def("Indexed").getNullable();
if ($.policyDefinitionName == null) {
throw new MissingRequiredPropertyException("PolicyDefinitionVersionAtManagementGroupArgs", "policyDefinitionName");
}
return $;
}
}
}