All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.googlenative.bigqueryreservation.v1.CapacityCommitmentArgs 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.googlenative.bigqueryreservation.v1;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.bigqueryreservation.v1.enums.CapacityCommitmentEdition;
import com.pulumi.googlenative.bigqueryreservation.v1.enums.CapacityCommitmentPlan;
import com.pulumi.googlenative.bigqueryreservation.v1.enums.CapacityCommitmentRenewalPlan;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class CapacityCommitmentArgs extends com.pulumi.resources.ResourceArgs {

    public static final CapacityCommitmentArgs Empty = new CapacityCommitmentArgs();

    /**
     * The optional capacity commitment ID. Capacity commitment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dashes. The first and last character cannot be a dash. Max length is 64 characters. NOTE: this ID won't be kept if the capacity commitment is split or merged.
     * 
     */
    @Import(name="capacityCommitmentId")
    private @Nullable Output capacityCommitmentId;

    /**
     * @return The optional capacity commitment ID. Capacity commitment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dashes. The first and last character cannot be a dash. Max length is 64 characters. NOTE: this ID won't be kept if the capacity commitment is split or merged.
     * 
     */
    public Optional> capacityCommitmentId() {
        return Optional.ofNullable(this.capacityCommitmentId);
    }

    /**
     * Edition of the capacity commitment.
     * 
     */
    @Import(name="edition")
    private @Nullable Output edition;

    /**
     * @return Edition of the capacity commitment.
     * 
     */
    public Optional> edition() {
        return Optional.ofNullable(this.edition);
    }

    /**
     * If true, fail the request if another project in the organization has a capacity commitment.
     * 
     */
    @Import(name="enforceSingleAdminProjectPerOrg")
    private @Nullable Output enforceSingleAdminProjectPerOrg;

    /**
     * @return If true, fail the request if another project in the organization has a capacity commitment.
     * 
     */
    public Optional> enforceSingleAdminProjectPerOrg() {
        return Optional.ofNullable(this.enforceSingleAdminProjectPerOrg);
    }

    @Import(name="location")
    private @Nullable Output location;

    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Applicable only for commitments located within one of the BigQuery multi-regions (US or EU). If set to true, this commitment is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this commitment is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.
     * 
     */
    @Import(name="multiRegionAuxiliary")
    private @Nullable Output multiRegionAuxiliary;

    /**
     * @return Applicable only for commitments located within one of the BigQuery multi-regions (US or EU). If set to true, this commitment is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this commitment is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.
     * 
     */
    public Optional> multiRegionAuxiliary() {
        return Optional.ofNullable(this.multiRegionAuxiliary);
    }

    /**
     * Capacity commitment commitment plan.
     * 
     */
    @Import(name="plan")
    private @Nullable Output plan;

    /**
     * @return Capacity commitment commitment plan.
     * 
     */
    public Optional> plan() {
        return Optional.ofNullable(this.plan);
    }

    @Import(name="project")
    private @Nullable Output project;

    public Optional> project() {
        return Optional.ofNullable(this.project);
    }

    /**
     * The plan this capacity commitment is converted to after commitment_end_time passes. Once the plan is changed, committed period is extended according to commitment plan. Only applicable for ANNUAL and TRIAL commitments.
     * 
     */
    @Import(name="renewalPlan")
    private @Nullable Output renewalPlan;

    /**
     * @return The plan this capacity commitment is converted to after commitment_end_time passes. Once the plan is changed, committed period is extended according to commitment plan. Only applicable for ANNUAL and TRIAL commitments.
     * 
     */
    public Optional> renewalPlan() {
        return Optional.ofNullable(this.renewalPlan);
    }

    /**
     * Number of slots in this commitment.
     * 
     */
    @Import(name="slotCount")
    private @Nullable Output slotCount;

    /**
     * @return Number of slots in this commitment.
     * 
     */
    public Optional> slotCount() {
        return Optional.ofNullable(this.slotCount);
    }

    private CapacityCommitmentArgs() {}

    private CapacityCommitmentArgs(CapacityCommitmentArgs $) {
        this.capacityCommitmentId = $.capacityCommitmentId;
        this.edition = $.edition;
        this.enforceSingleAdminProjectPerOrg = $.enforceSingleAdminProjectPerOrg;
        this.location = $.location;
        this.multiRegionAuxiliary = $.multiRegionAuxiliary;
        this.plan = $.plan;
        this.project = $.project;
        this.renewalPlan = $.renewalPlan;
        this.slotCount = $.slotCount;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(CapacityCommitmentArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private CapacityCommitmentArgs $;

        public Builder() {
            $ = new CapacityCommitmentArgs();
        }

        public Builder(CapacityCommitmentArgs defaults) {
            $ = new CapacityCommitmentArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param capacityCommitmentId The optional capacity commitment ID. Capacity commitment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dashes. The first and last character cannot be a dash. Max length is 64 characters. NOTE: this ID won't be kept if the capacity commitment is split or merged.
         * 
         * @return builder
         * 
         */
        public Builder capacityCommitmentId(@Nullable Output capacityCommitmentId) {
            $.capacityCommitmentId = capacityCommitmentId;
            return this;
        }

        /**
         * @param capacityCommitmentId The optional capacity commitment ID. Capacity commitment name will be generated automatically if this field is empty. This field must only contain lower case alphanumeric characters or dashes. The first and last character cannot be a dash. Max length is 64 characters. NOTE: this ID won't be kept if the capacity commitment is split or merged.
         * 
         * @return builder
         * 
         */
        public Builder capacityCommitmentId(String capacityCommitmentId) {
            return capacityCommitmentId(Output.of(capacityCommitmentId));
        }

        /**
         * @param edition Edition of the capacity commitment.
         * 
         * @return builder
         * 
         */
        public Builder edition(@Nullable Output edition) {
            $.edition = edition;
            return this;
        }

        /**
         * @param edition Edition of the capacity commitment.
         * 
         * @return builder
         * 
         */
        public Builder edition(CapacityCommitmentEdition edition) {
            return edition(Output.of(edition));
        }

        /**
         * @param enforceSingleAdminProjectPerOrg If true, fail the request if another project in the organization has a capacity commitment.
         * 
         * @return builder
         * 
         */
        public Builder enforceSingleAdminProjectPerOrg(@Nullable Output enforceSingleAdminProjectPerOrg) {
            $.enforceSingleAdminProjectPerOrg = enforceSingleAdminProjectPerOrg;
            return this;
        }

        /**
         * @param enforceSingleAdminProjectPerOrg If true, fail the request if another project in the organization has a capacity commitment.
         * 
         * @return builder
         * 
         */
        public Builder enforceSingleAdminProjectPerOrg(Boolean enforceSingleAdminProjectPerOrg) {
            return enforceSingleAdminProjectPerOrg(Output.of(enforceSingleAdminProjectPerOrg));
        }

        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param multiRegionAuxiliary Applicable only for commitments located within one of the BigQuery multi-regions (US or EU). If set to true, this commitment is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this commitment is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.
         * 
         * @return builder
         * 
         */
        public Builder multiRegionAuxiliary(@Nullable Output multiRegionAuxiliary) {
            $.multiRegionAuxiliary = multiRegionAuxiliary;
            return this;
        }

        /**
         * @param multiRegionAuxiliary Applicable only for commitments located within one of the BigQuery multi-regions (US or EU). If set to true, this commitment is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this commitment is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.
         * 
         * @return builder
         * 
         */
        public Builder multiRegionAuxiliary(Boolean multiRegionAuxiliary) {
            return multiRegionAuxiliary(Output.of(multiRegionAuxiliary));
        }

        /**
         * @param plan Capacity commitment commitment plan.
         * 
         * @return builder
         * 
         */
        public Builder plan(@Nullable Output plan) {
            $.plan = plan;
            return this;
        }

        /**
         * @param plan Capacity commitment commitment plan.
         * 
         * @return builder
         * 
         */
        public Builder plan(CapacityCommitmentPlan plan) {
            return plan(Output.of(plan));
        }

        public Builder project(@Nullable Output project) {
            $.project = project;
            return this;
        }

        public Builder project(String project) {
            return project(Output.of(project));
        }

        /**
         * @param renewalPlan The plan this capacity commitment is converted to after commitment_end_time passes. Once the plan is changed, committed period is extended according to commitment plan. Only applicable for ANNUAL and TRIAL commitments.
         * 
         * @return builder
         * 
         */
        public Builder renewalPlan(@Nullable Output renewalPlan) {
            $.renewalPlan = renewalPlan;
            return this;
        }

        /**
         * @param renewalPlan The plan this capacity commitment is converted to after commitment_end_time passes. Once the plan is changed, committed period is extended according to commitment plan. Only applicable for ANNUAL and TRIAL commitments.
         * 
         * @return builder
         * 
         */
        public Builder renewalPlan(CapacityCommitmentRenewalPlan renewalPlan) {
            return renewalPlan(Output.of(renewalPlan));
        }

        /**
         * @param slotCount Number of slots in this commitment.
         * 
         * @return builder
         * 
         */
        public Builder slotCount(@Nullable Output slotCount) {
            $.slotCount = slotCount;
            return this;
        }

        /**
         * @param slotCount Number of slots in this commitment.
         * 
         * @return builder
         * 
         */
        public Builder slotCount(String slotCount) {
            return slotCount(Output.of(slotCount));
        }

        public CapacityCommitmentArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy