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

com.pulumi.aws.ec2.inputs.CapacityBlockReservationState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** 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.aws.ec2.inputs;

import com.pulumi.aws.ec2.inputs.CapacityBlockReservationTimeoutsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CapacityBlockReservationState Empty = new CapacityBlockReservationState();

    /**
     * The ARN of the reservation.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The ARN of the reservation.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * The Availability Zone in which to create the Capacity Block Reservation.
     * 
     */
    @Import(name="availabilityZone")
    private @Nullable Output availabilityZone;

    /**
     * @return The Availability Zone in which to create the Capacity Block Reservation.
     * 
     */
    public Optional> availabilityZone() {
        return Optional.ofNullable(this.availabilityZone);
    }

    /**
     * The Capacity Block Reservation ID.
     * 
     */
    @Import(name="capacityBlockOfferingId")
    private @Nullable Output capacityBlockOfferingId;

    /**
     * @return The Capacity Block Reservation ID.
     * 
     */
    public Optional> capacityBlockOfferingId() {
        return Optional.ofNullable(this.capacityBlockOfferingId);
    }

    /**
     * The date and time at which the Capacity Block Reservation was created.
     * 
     */
    @Import(name="createdDate")
    private @Nullable Output createdDate;

    /**
     * @return The date and time at which the Capacity Block Reservation was created.
     * 
     */
    public Optional> createdDate() {
        return Optional.ofNullable(this.createdDate);
    }

    /**
     * Indicates whether the Capacity Reservation supports EBS-optimized instances.
     * 
     */
    @Import(name="ebsOptimized")
    private @Nullable Output ebsOptimized;

    /**
     * @return Indicates whether the Capacity Reservation supports EBS-optimized instances.
     * 
     */
    public Optional> ebsOptimized() {
        return Optional.ofNullable(this.ebsOptimized);
    }

    /**
     * The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
     * 
     */
    @Import(name="endDate")
    private @Nullable Output endDate;

    /**
     * @return The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
     * 
     */
    public Optional> endDate() {
        return Optional.ofNullable(this.endDate);
    }

    /**
     * Indicates the way in which the Capacity Reservation ends.
     * 
     */
    @Import(name="endDateType")
    private @Nullable Output endDateType;

    /**
     * @return Indicates the way in which the Capacity Reservation ends.
     * 
     */
    public Optional> endDateType() {
        return Optional.ofNullable(this.endDateType);
    }

    /**
     * The number of instances for which to reserve capacity.
     * 
     */
    @Import(name="instanceCount")
    private @Nullable Output instanceCount;

    /**
     * @return The number of instances for which to reserve capacity.
     * 
     */
    public Optional> instanceCount() {
        return Optional.ofNullable(this.instanceCount);
    }

    /**
     * The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`.
     * 
     */
    @Import(name="instancePlatform")
    private @Nullable Output instancePlatform;

    /**
     * @return The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`.
     * 
     */
    public Optional> instancePlatform() {
        return Optional.ofNullable(this.instancePlatform);
    }

    /**
     * The instance type for which to reserve capacity.
     * 
     */
    @Import(name="instanceType")
    private @Nullable Output instanceType;

    /**
     * @return The instance type for which to reserve capacity.
     * 
     */
    public Optional> instanceType() {
        return Optional.ofNullable(this.instanceType);
    }

    /**
     * The ARN of the Outpost on which to create the Capacity Block Reservation.
     * 
     */
    @Import(name="outpostArn")
    private @Nullable Output outpostArn;

    /**
     * @return The ARN of the Outpost on which to create the Capacity Block Reservation.
     * 
     */
    public Optional> outpostArn() {
        return Optional.ofNullable(this.outpostArn);
    }

    /**
     * The ARN of the placement group in which to create the Capacity Block Reservation.
     * 
     */
    @Import(name="placementGroupArn")
    private @Nullable Output placementGroupArn;

    /**
     * @return The ARN of the placement group in which to create the Capacity Block Reservation.
     * 
     */
    public Optional> placementGroupArn() {
        return Optional.ofNullable(this.placementGroupArn);
    }

    /**
     * The type of Capacity Reservation.
     * 
     */
    @Import(name="reservationType")
    private @Nullable Output reservationType;

    /**
     * @return The type of Capacity Reservation.
     * 
     */
    public Optional> reservationType() {
        return Optional.ofNullable(this.reservationType);
    }

    /**
     * The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
     * 
     */
    @Import(name="startDate")
    private @Nullable Output startDate;

    /**
     * @return The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
     * 
     */
    public Optional> startDate() {
        return Optional.ofNullable(this.startDate);
    }

    /**
     * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    /**
     * Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`.
     * 
     */
    @Import(name="tenancy")
    private @Nullable Output tenancy;

    /**
     * @return Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`.
     * 
     */
    public Optional> tenancy() {
        return Optional.ofNullable(this.tenancy);
    }

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

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

    private CapacityBlockReservationState() {}

    private CapacityBlockReservationState(CapacityBlockReservationState $) {
        this.arn = $.arn;
        this.availabilityZone = $.availabilityZone;
        this.capacityBlockOfferingId = $.capacityBlockOfferingId;
        this.createdDate = $.createdDate;
        this.ebsOptimized = $.ebsOptimized;
        this.endDate = $.endDate;
        this.endDateType = $.endDateType;
        this.instanceCount = $.instanceCount;
        this.instancePlatform = $.instancePlatform;
        this.instanceType = $.instanceType;
        this.outpostArn = $.outpostArn;
        this.placementGroupArn = $.placementGroupArn;
        this.reservationType = $.reservationType;
        this.startDate = $.startDate;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.tenancy = $.tenancy;
        this.timeouts = $.timeouts;
    }

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

    public static final class Builder {
        private CapacityBlockReservationState $;

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

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

        /**
         * @param arn The ARN of the reservation.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The ARN of the reservation.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param availabilityZone The Availability Zone in which to create the Capacity Block Reservation.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(@Nullable Output availabilityZone) {
            $.availabilityZone = availabilityZone;
            return this;
        }

        /**
         * @param availabilityZone The Availability Zone in which to create the Capacity Block Reservation.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(String availabilityZone) {
            return availabilityZone(Output.of(availabilityZone));
        }

        /**
         * @param capacityBlockOfferingId The Capacity Block Reservation ID.
         * 
         * @return builder
         * 
         */
        public Builder capacityBlockOfferingId(@Nullable Output capacityBlockOfferingId) {
            $.capacityBlockOfferingId = capacityBlockOfferingId;
            return this;
        }

        /**
         * @param capacityBlockOfferingId The Capacity Block Reservation ID.
         * 
         * @return builder
         * 
         */
        public Builder capacityBlockOfferingId(String capacityBlockOfferingId) {
            return capacityBlockOfferingId(Output.of(capacityBlockOfferingId));
        }

        /**
         * @param createdDate The date and time at which the Capacity Block Reservation was created.
         * 
         * @return builder
         * 
         */
        public Builder createdDate(@Nullable Output createdDate) {
            $.createdDate = createdDate;
            return this;
        }

        /**
         * @param createdDate The date and time at which the Capacity Block Reservation was created.
         * 
         * @return builder
         * 
         */
        public Builder createdDate(String createdDate) {
            return createdDate(Output.of(createdDate));
        }

        /**
         * @param ebsOptimized Indicates whether the Capacity Reservation supports EBS-optimized instances.
         * 
         * @return builder
         * 
         */
        public Builder ebsOptimized(@Nullable Output ebsOptimized) {
            $.ebsOptimized = ebsOptimized;
            return this;
        }

        /**
         * @param ebsOptimized Indicates whether the Capacity Reservation supports EBS-optimized instances.
         * 
         * @return builder
         * 
         */
        public Builder ebsOptimized(Boolean ebsOptimized) {
            return ebsOptimized(Output.of(ebsOptimized));
        }

        /**
         * @param endDate The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
         * 
         * @return builder
         * 
         */
        public Builder endDate(@Nullable Output endDate) {
            $.endDate = endDate;
            return this;
        }

        /**
         * @param endDate The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
         * 
         * @return builder
         * 
         */
        public Builder endDate(String endDate) {
            return endDate(Output.of(endDate));
        }

        /**
         * @param endDateType Indicates the way in which the Capacity Reservation ends.
         * 
         * @return builder
         * 
         */
        public Builder endDateType(@Nullable Output endDateType) {
            $.endDateType = endDateType;
            return this;
        }

        /**
         * @param endDateType Indicates the way in which the Capacity Reservation ends.
         * 
         * @return builder
         * 
         */
        public Builder endDateType(String endDateType) {
            return endDateType(Output.of(endDateType));
        }

        /**
         * @param instanceCount The number of instances for which to reserve capacity.
         * 
         * @return builder
         * 
         */
        public Builder instanceCount(@Nullable Output instanceCount) {
            $.instanceCount = instanceCount;
            return this;
        }

        /**
         * @param instanceCount The number of instances for which to reserve capacity.
         * 
         * @return builder
         * 
         */
        public Builder instanceCount(Integer instanceCount) {
            return instanceCount(Output.of(instanceCount));
        }

        /**
         * @param instancePlatform The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`.
         * 
         * @return builder
         * 
         */
        public Builder instancePlatform(@Nullable Output instancePlatform) {
            $.instancePlatform = instancePlatform;
            return this;
        }

        /**
         * @param instancePlatform The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`.
         * 
         * @return builder
         * 
         */
        public Builder instancePlatform(String instancePlatform) {
            return instancePlatform(Output.of(instancePlatform));
        }

        /**
         * @param instanceType The instance type for which to reserve capacity.
         * 
         * @return builder
         * 
         */
        public Builder instanceType(@Nullable Output instanceType) {
            $.instanceType = instanceType;
            return this;
        }

        /**
         * @param instanceType The instance type for which to reserve capacity.
         * 
         * @return builder
         * 
         */
        public Builder instanceType(String instanceType) {
            return instanceType(Output.of(instanceType));
        }

        /**
         * @param outpostArn The ARN of the Outpost on which to create the Capacity Block Reservation.
         * 
         * @return builder
         * 
         */
        public Builder outpostArn(@Nullable Output outpostArn) {
            $.outpostArn = outpostArn;
            return this;
        }

        /**
         * @param outpostArn The ARN of the Outpost on which to create the Capacity Block Reservation.
         * 
         * @return builder
         * 
         */
        public Builder outpostArn(String outpostArn) {
            return outpostArn(Output.of(outpostArn));
        }

        /**
         * @param placementGroupArn The ARN of the placement group in which to create the Capacity Block Reservation.
         * 
         * @return builder
         * 
         */
        public Builder placementGroupArn(@Nullable Output placementGroupArn) {
            $.placementGroupArn = placementGroupArn;
            return this;
        }

        /**
         * @param placementGroupArn The ARN of the placement group in which to create the Capacity Block Reservation.
         * 
         * @return builder
         * 
         */
        public Builder placementGroupArn(String placementGroupArn) {
            return placementGroupArn(Output.of(placementGroupArn));
        }

        /**
         * @param reservationType The type of Capacity Reservation.
         * 
         * @return builder
         * 
         */
        public Builder reservationType(@Nullable Output reservationType) {
            $.reservationType = reservationType;
            return this;
        }

        /**
         * @param reservationType The type of Capacity Reservation.
         * 
         * @return builder
         * 
         */
        public Builder reservationType(String reservationType) {
            return reservationType(Output.of(reservationType));
        }

        /**
         * @param startDate The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
         * 
         * @return builder
         * 
         */
        public Builder startDate(@Nullable Output startDate) {
            $.startDate = startDate;
            return this;
        }

        /**
         * @param startDate The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
         * 
         * @return builder
         * 
         */
        public Builder startDate(String startDate) {
            return startDate(Output.of(startDate));
        }

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        /**
         * @param tenancy Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`.
         * 
         * @return builder
         * 
         */
        public Builder tenancy(@Nullable Output tenancy) {
            $.tenancy = tenancy;
            return this;
        }

        /**
         * @param tenancy Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`.
         * 
         * @return builder
         * 
         */
        public Builder tenancy(String tenancy) {
            return tenancy(Output.of(tenancy));
        }

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

        public Builder timeouts(CapacityBlockReservationTimeoutsArgs timeouts) {
            return timeouts(Output.of(timeouts));
        }

        public CapacityBlockReservationState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy