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.PricingArgs 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.Enforce;
import com.pulumi.azurenative.security.enums.PricingTier;
import com.pulumi.azurenative.security.inputs.ExtensionArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class PricingArgs extends com.pulumi.resources.ResourceArgs {
public static final PricingArgs Empty = new PricingArgs();
/**
* If set to "False", it allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False"). If set to "True", it prevents overrides and forces this pricing configuration on all the descendants of this scope. This field is only available for subscription-level pricing.
*
*/
@Import(name="enforce")
private @Nullable Output> enforce;
/**
* @return If set to "False", it allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False"). If set to "True", it prevents overrides and forces this pricing configuration on all the descendants of this scope. This field is only available for subscription-level pricing.
*
*/
public Optional>> enforce() {
return Optional.ofNullable(this.enforce);
}
/**
* Optional. List of extensions offered under a plan.
*
*/
@Import(name="extensions")
private @Nullable Output> extensions;
/**
* @return Optional. List of extensions offered under a plan.
*
*/
public Optional>> extensions() {
return Optional.ofNullable(this.extensions);
}
/**
* name of the pricing configuration
*
*/
@Import(name="pricingName")
private @Nullable Output pricingName;
/**
* @return name of the pricing configuration
*
*/
public Optional> pricingName() {
return Optional.ofNullable(this.pricingName);
}
/**
* Indicates whether the Defender plan is enabled on the selected scope. Microsoft Defender for Cloud is provided in two pricing tiers: free and standard. The standard tier offers advanced security capabilities, while the free tier offers basic security features.
*
*/
@Import(name="pricingTier", required=true)
private Output> pricingTier;
/**
* @return Indicates whether the Defender plan is enabled on the selected scope. Microsoft Defender for Cloud is provided in two pricing tiers: free and standard. The standard tier offers advanced security capabilities, while the free tier offers basic security features.
*
*/
public Output> pricingTier() {
return this.pricingTier;
}
/**
* The scope id of the pricing. Valid scopes are: subscription (format: 'subscriptions/{subscriptionId}'), or a specific resource (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}) - Supported resources are (VirtualMachines)
*
*/
@Import(name="scopeId", required=true)
private Output scopeId;
/**
* @return The scope id of the pricing. Valid scopes are: subscription (format: 'subscriptions/{subscriptionId}'), or a specific resource (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}) - Supported resources are (VirtualMachines)
*
*/
public Output scopeId() {
return this.scopeId;
}
/**
* The sub-plan selected for a Standard pricing configuration, when more than one sub-plan is available. Each sub-plan enables a set of security features. When not specified, full plan is applied. For VirtualMachines plan, available sub plans are 'P1' & 'P2', where for resource level only 'P1' sub plan is supported.
*
*/
@Import(name="subPlan")
private @Nullable Output subPlan;
/**
* @return The sub-plan selected for a Standard pricing configuration, when more than one sub-plan is available. Each sub-plan enables a set of security features. When not specified, full plan is applied. For VirtualMachines plan, available sub plans are 'P1' & 'P2', where for resource level only 'P1' sub plan is supported.
*
*/
public Optional> subPlan() {
return Optional.ofNullable(this.subPlan);
}
private PricingArgs() {}
private PricingArgs(PricingArgs $) {
this.enforce = $.enforce;
this.extensions = $.extensions;
this.pricingName = $.pricingName;
this.pricingTier = $.pricingTier;
this.scopeId = $.scopeId;
this.subPlan = $.subPlan;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(PricingArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private PricingArgs $;
public Builder() {
$ = new PricingArgs();
}
public Builder(PricingArgs defaults) {
$ = new PricingArgs(Objects.requireNonNull(defaults));
}
/**
* @param enforce If set to "False", it allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False"). If set to "True", it prevents overrides and forces this pricing configuration on all the descendants of this scope. This field is only available for subscription-level pricing.
*
* @return builder
*
*/
public Builder enforce(@Nullable Output> enforce) {
$.enforce = enforce;
return this;
}
/**
* @param enforce If set to "False", it allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False"). If set to "True", it prevents overrides and forces this pricing configuration on all the descendants of this scope. This field is only available for subscription-level pricing.
*
* @return builder
*
*/
public Builder enforce(Either enforce) {
return enforce(Output.of(enforce));
}
/**
* @param enforce If set to "False", it allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False"). If set to "True", it prevents overrides and forces this pricing configuration on all the descendants of this scope. This field is only available for subscription-level pricing.
*
* @return builder
*
*/
public Builder enforce(String enforce) {
return enforce(Either.ofLeft(enforce));
}
/**
* @param enforce If set to "False", it allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False"). If set to "True", it prevents overrides and forces this pricing configuration on all the descendants of this scope. This field is only available for subscription-level pricing.
*
* @return builder
*
*/
public Builder enforce(Enforce enforce) {
return enforce(Either.ofRight(enforce));
}
/**
* @param extensions Optional. List of extensions offered under a plan.
*
* @return builder
*
*/
public Builder extensions(@Nullable Output> extensions) {
$.extensions = extensions;
return this;
}
/**
* @param extensions Optional. List of extensions offered under a plan.
*
* @return builder
*
*/
public Builder extensions(List extensions) {
return extensions(Output.of(extensions));
}
/**
* @param extensions Optional. List of extensions offered under a plan.
*
* @return builder
*
*/
public Builder extensions(ExtensionArgs... extensions) {
return extensions(List.of(extensions));
}
/**
* @param pricingName name of the pricing configuration
*
* @return builder
*
*/
public Builder pricingName(@Nullable Output pricingName) {
$.pricingName = pricingName;
return this;
}
/**
* @param pricingName name of the pricing configuration
*
* @return builder
*
*/
public Builder pricingName(String pricingName) {
return pricingName(Output.of(pricingName));
}
/**
* @param pricingTier Indicates whether the Defender plan is enabled on the selected scope. Microsoft Defender for Cloud is provided in two pricing tiers: free and standard. The standard tier offers advanced security capabilities, while the free tier offers basic security features.
*
* @return builder
*
*/
public Builder pricingTier(Output> pricingTier) {
$.pricingTier = pricingTier;
return this;
}
/**
* @param pricingTier Indicates whether the Defender plan is enabled on the selected scope. Microsoft Defender for Cloud is provided in two pricing tiers: free and standard. The standard tier offers advanced security capabilities, while the free tier offers basic security features.
*
* @return builder
*
*/
public Builder pricingTier(Either pricingTier) {
return pricingTier(Output.of(pricingTier));
}
/**
* @param pricingTier Indicates whether the Defender plan is enabled on the selected scope. Microsoft Defender for Cloud is provided in two pricing tiers: free and standard. The standard tier offers advanced security capabilities, while the free tier offers basic security features.
*
* @return builder
*
*/
public Builder pricingTier(String pricingTier) {
return pricingTier(Either.ofLeft(pricingTier));
}
/**
* @param pricingTier Indicates whether the Defender plan is enabled on the selected scope. Microsoft Defender for Cloud is provided in two pricing tiers: free and standard. The standard tier offers advanced security capabilities, while the free tier offers basic security features.
*
* @return builder
*
*/
public Builder pricingTier(PricingTier pricingTier) {
return pricingTier(Either.ofRight(pricingTier));
}
/**
* @param scopeId The scope id of the pricing. Valid scopes are: subscription (format: 'subscriptions/{subscriptionId}'), or a specific resource (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}) - Supported resources are (VirtualMachines)
*
* @return builder
*
*/
public Builder scopeId(Output scopeId) {
$.scopeId = scopeId;
return this;
}
/**
* @param scopeId The scope id of the pricing. Valid scopes are: subscription (format: 'subscriptions/{subscriptionId}'), or a specific resource (format: 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}) - Supported resources are (VirtualMachines)
*
* @return builder
*
*/
public Builder scopeId(String scopeId) {
return scopeId(Output.of(scopeId));
}
/**
* @param subPlan The sub-plan selected for a Standard pricing configuration, when more than one sub-plan is available. Each sub-plan enables a set of security features. When not specified, full plan is applied. For VirtualMachines plan, available sub plans are 'P1' & 'P2', where for resource level only 'P1' sub plan is supported.
*
* @return builder
*
*/
public Builder subPlan(@Nullable Output subPlan) {
$.subPlan = subPlan;
return this;
}
/**
* @param subPlan The sub-plan selected for a Standard pricing configuration, when more than one sub-plan is available. Each sub-plan enables a set of security features. When not specified, full plan is applied. For VirtualMachines plan, available sub plans are 'P1' & 'P2', where for resource level only 'P1' sub plan is supported.
*
* @return builder
*
*/
public Builder subPlan(String subPlan) {
return subPlan(Output.of(subPlan));
}
public PricingArgs build() {
if ($.pricingTier == null) {
throw new MissingRequiredPropertyException("PricingArgs", "pricingTier");
}
if ($.scopeId == null) {
throw new MissingRequiredPropertyException("PricingArgs", "scopeId");
}
return $;
}
}
}