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

com.pulumi.azure.oracle.inputs.ExadataInfrastructureState 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.azure.oracle.inputs;

import com.pulumi.azure.oracle.inputs.ExadataInfrastructureMaintenanceWindowArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ExadataInfrastructureState Empty = new ExadataInfrastructureState();

    /**
     * The number of compute servers for the Cloud Exadata Infrastructure.
     * 
     */
    @Import(name="computeCount")
    private @Nullable Output computeCount;

    /**
     * @return The number of compute servers for the Cloud Exadata Infrastructure.
     * 
     */
    public Optional> computeCount() {
        return Optional.ofNullable(this.computeCount);
    }

    /**
     * The email address used by Oracle to send notifications regarding databases and infrastructure.
     * 
     */
    @Import(name="customerContacts")
    private @Nullable Output> customerContacts;

    /**
     * @return The email address used by Oracle to send notifications regarding databases and infrastructure.
     * 
     */
    public Optional>> customerContacts() {
        return Optional.ofNullable(this.customerContacts);
    }

    /**
     * The user-friendly name for the Cloud Exadata Infrastructure resource. The name does not need to be unique.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return The user-friendly name for the Cloud Exadata Infrastructure resource. The name does not need to be unique.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * The Azure Region where the Cloud Exadata Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The Azure Region where the Cloud Exadata Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * One or more `maintenance_window` blocks as defined below.
     * 
     */
    @Import(name="maintenanceWindows")
    private @Nullable Output> maintenanceWindows;

    /**
     * @return One or more `maintenance_window` blocks as defined below.
     * 
     */
    public Optional>> maintenanceWindows() {
        return Optional.ofNullable(this.maintenanceWindows);
    }

    /**
     * The name which should be used for this Cloud Exadata Infrastructure.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name which should be used for this Cloud Exadata Infrastructure.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The name of the Resource Group where the ODB{@literal @}A Infrastructure should exist.
     * 
     */
    @Import(name="resourceGroupName")
    private @Nullable Output resourceGroupName;

    /**
     * @return The name of the Resource Group where the ODB{@literal @}A Infrastructure should exist.
     * 
     */
    public Optional> resourceGroupName() {
        return Optional.ofNullable(this.resourceGroupName);
    }

    /**
     * The shape of the ODB{@literal @}A infrastructure resource.
     * 
     */
    @Import(name="shape")
    private @Nullable Output shape;

    /**
     * @return The shape of the ODB{@literal @}A infrastructure resource.
     * 
     */
    public Optional> shape() {
        return Optional.ofNullable(this.shape);
    }

    /**
     * The number of storage servers for the Cloud Exadata Infrastructure.
     * 
     */
    @Import(name="storageCount")
    private @Nullable Output storageCount;

    /**
     * @return The number of storage servers for the Cloud Exadata Infrastructure.
     * 
     */
    public Optional> storageCount() {
        return Optional.ofNullable(this.storageCount);
    }

    /**
     * A mapping of tags which should be assigned to the Cloud Exadata Infrastructure.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags which should be assigned to the Cloud Exadata Infrastructure.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Cloud Exadata Infrastructure zones.
     * 
     */
    @Import(name="zones")
    private @Nullable Output> zones;

    /**
     * @return Cloud Exadata Infrastructure zones.
     * 
     */
    public Optional>> zones() {
        return Optional.ofNullable(this.zones);
    }

    private ExadataInfrastructureState() {}

    private ExadataInfrastructureState(ExadataInfrastructureState $) {
        this.computeCount = $.computeCount;
        this.customerContacts = $.customerContacts;
        this.displayName = $.displayName;
        this.location = $.location;
        this.maintenanceWindows = $.maintenanceWindows;
        this.name = $.name;
        this.resourceGroupName = $.resourceGroupName;
        this.shape = $.shape;
        this.storageCount = $.storageCount;
        this.tags = $.tags;
        this.zones = $.zones;
    }

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

    public static final class Builder {
        private ExadataInfrastructureState $;

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

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

        /**
         * @param computeCount The number of compute servers for the Cloud Exadata Infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder computeCount(@Nullable Output computeCount) {
            $.computeCount = computeCount;
            return this;
        }

        /**
         * @param computeCount The number of compute servers for the Cloud Exadata Infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder computeCount(Integer computeCount) {
            return computeCount(Output.of(computeCount));
        }

        /**
         * @param customerContacts The email address used by Oracle to send notifications regarding databases and infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder customerContacts(@Nullable Output> customerContacts) {
            $.customerContacts = customerContacts;
            return this;
        }

        /**
         * @param customerContacts The email address used by Oracle to send notifications regarding databases and infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder customerContacts(List customerContacts) {
            return customerContacts(Output.of(customerContacts));
        }

        /**
         * @param customerContacts The email address used by Oracle to send notifications regarding databases and infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder customerContacts(String... customerContacts) {
            return customerContacts(List.of(customerContacts));
        }

        /**
         * @param displayName The user-friendly name for the Cloud Exadata Infrastructure resource. The name does not need to be unique.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName The user-friendly name for the Cloud Exadata Infrastructure resource. The name does not need to be unique.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param location The Azure Region where the Cloud Exadata Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The Azure Region where the Cloud Exadata Infrastructure should exist. Changing this forces a new Cloud Exadata Infrastructure to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param maintenanceWindows One or more `maintenance_window` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder maintenanceWindows(@Nullable Output> maintenanceWindows) {
            $.maintenanceWindows = maintenanceWindows;
            return this;
        }

        /**
         * @param maintenanceWindows One or more `maintenance_window` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder maintenanceWindows(List maintenanceWindows) {
            return maintenanceWindows(Output.of(maintenanceWindows));
        }

        /**
         * @param maintenanceWindows One or more `maintenance_window` blocks as defined below.
         * 
         * @return builder
         * 
         */
        public Builder maintenanceWindows(ExadataInfrastructureMaintenanceWindowArgs... maintenanceWindows) {
            return maintenanceWindows(List.of(maintenanceWindows));
        }

        /**
         * @param name The name which should be used for this Cloud Exadata Infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name which should be used for this Cloud Exadata Infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param resourceGroupName The name of the Resource Group where the ODB{@literal @}A Infrastructure should exist.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(@Nullable Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the Resource Group where the ODB{@literal @}A Infrastructure should exist.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param shape The shape of the ODB{@literal @}A infrastructure resource.
         * 
         * @return builder
         * 
         */
        public Builder shape(@Nullable Output shape) {
            $.shape = shape;
            return this;
        }

        /**
         * @param shape The shape of the ODB{@literal @}A infrastructure resource.
         * 
         * @return builder
         * 
         */
        public Builder shape(String shape) {
            return shape(Output.of(shape));
        }

        /**
         * @param storageCount The number of storage servers for the Cloud Exadata Infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder storageCount(@Nullable Output storageCount) {
            $.storageCount = storageCount;
            return this;
        }

        /**
         * @param storageCount The number of storage servers for the Cloud Exadata Infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder storageCount(Integer storageCount) {
            return storageCount(Output.of(storageCount));
        }

        /**
         * @param tags A mapping of tags which should be assigned to the Cloud Exadata Infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags which should be assigned to the Cloud Exadata Infrastructure.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param zones Cloud Exadata Infrastructure zones.
         * 
         * @return builder
         * 
         */
        public Builder zones(@Nullable Output> zones) {
            $.zones = zones;
            return this;
        }

        /**
         * @param zones Cloud Exadata Infrastructure zones.
         * 
         * @return builder
         * 
         */
        public Builder zones(List zones) {
            return zones(Output.of(zones));
        }

        /**
         * @param zones Cloud Exadata Infrastructure zones.
         * 
         * @return builder
         * 
         */
        public Builder zones(String... zones) {
            return zones(List.of(zones));
        }

        public ExadataInfrastructureState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy