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

com.pulumi.googlenative.metastore.v1alpha.ServiceArgs 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.metastore.v1alpha;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.metastore.v1alpha.enums.ServiceDatabaseType;
import com.pulumi.googlenative.metastore.v1alpha.enums.ServiceReleaseChannel;
import com.pulumi.googlenative.metastore.v1alpha.enums.ServiceTier;
import com.pulumi.googlenative.metastore.v1alpha.inputs.EncryptionConfigArgs;
import com.pulumi.googlenative.metastore.v1alpha.inputs.HiveMetastoreConfigArgs;
import com.pulumi.googlenative.metastore.v1alpha.inputs.MaintenanceWindowArgs;
import com.pulumi.googlenative.metastore.v1alpha.inputs.MetadataIntegrationArgs;
import com.pulumi.googlenative.metastore.v1alpha.inputs.NetworkConfigArgs;
import com.pulumi.googlenative.metastore.v1alpha.inputs.ScalingConfigArgs;
import com.pulumi.googlenative.metastore.v1alpha.inputs.TelemetryConfigArgs;
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 ServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final ServiceArgs Empty = new ServiceArgs();

    /**
     * Immutable. The database type that the Metastore service stores its data.
     * 
     */
    @Import(name="databaseType")
    private @Nullable Output databaseType;

    /**
     * @return Immutable. The database type that the Metastore service stores its data.
     * 
     */
    public Optional> databaseType() {
        return Optional.ofNullable(this.databaseType);
    }

    /**
     * Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated.
     * 
     */
    @Import(name="encryptionConfig")
    private @Nullable Output encryptionConfig;

    /**
     * @return Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated.
     * 
     */
    public Optional> encryptionConfig() {
        return Optional.ofNullable(this.encryptionConfig);
    }

    /**
     * Configuration information specific to running Hive metastore software as the metastore service.
     * 
     */
    @Import(name="hiveMetastoreConfig")
    private @Nullable Output hiveMetastoreConfig;

    /**
     * @return Configuration information specific to running Hive metastore software as the metastore service.
     * 
     */
    public Optional> hiveMetastoreConfig() {
        return Optional.ofNullable(this.hiveMetastoreConfig);
    }

    /**
     * User-defined labels for the metastore service.
     * 
     */
    @Import(name="labels")
    private @Nullable Output> labels;

    /**
     * @return User-defined labels for the metastore service.
     * 
     */
    public Optional>> labels() {
        return Optional.ofNullable(this.labels);
    }

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

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

    /**
     * The one hour maintenance window of the metastore service. This specifies when the service can be restarted for maintenance purposes in UTC time. Maintenance window is not needed for services with the SPANNER database type.
     * 
     */
    @Import(name="maintenanceWindow")
    private @Nullable Output maintenanceWindow;

    /**
     * @return The one hour maintenance window of the metastore service. This specifies when the service can be restarted for maintenance purposes in UTC time. Maintenance window is not needed for services with the SPANNER database type.
     * 
     */
    public Optional> maintenanceWindow() {
        return Optional.ofNullable(this.maintenanceWindow);
    }

    /**
     * The setting that defines how metastore metadata should be integrated with external services and systems.
     * 
     */
    @Import(name="metadataIntegration")
    private @Nullable Output metadataIntegration;

    /**
     * @return The setting that defines how metastore metadata should be integrated with external services and systems.
     * 
     */
    public Optional> metadataIntegration() {
        return Optional.ofNullable(this.metadataIntegration);
    }

    /**
     * Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Immutable. The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form:projects/{project_number}/global/networks/{network_id}.
     * 
     */
    @Import(name="network")
    private @Nullable Output network;

    /**
     * @return Immutable. The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form:projects/{project_number}/global/networks/{network_id}.
     * 
     */
    public Optional> network() {
        return Optional.ofNullable(this.network);
    }

    /**
     * The configuration specifying the network settings for the Dataproc Metastore service.
     * 
     */
    @Import(name="networkConfig")
    private @Nullable Output networkConfig;

    /**
     * @return The configuration specifying the network settings for the Dataproc Metastore service.
     * 
     */
    public Optional> networkConfig() {
        return Optional.ofNullable(this.networkConfig);
    }

    /**
     * The TCP port at which the metastore service is reached. Default: 9083.
     * 
     */
    @Import(name="port")
    private @Nullable Output port;

    /**
     * @return The TCP port at which the metastore service is reached. Default: 9083.
     * 
     */
    public Optional> port() {
        return Optional.ofNullable(this.port);
    }

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

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

    /**
     * Immutable. The release channel of the service. If unspecified, defaults to STABLE.
     * 
     */
    @Import(name="releaseChannel")
    private @Nullable Output releaseChannel;

    /**
     * @return Immutable. The release channel of the service. If unspecified, defaults to STABLE.
     * 
     */
    public Optional> releaseChannel() {
        return Optional.ofNullable(this.releaseChannel);
    }

    /**
     * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
     * 
     */
    @Import(name="requestId")
    private @Nullable Output requestId;

    /**
     * @return Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
     * 
     */
    public Optional> requestId() {
        return Optional.ofNullable(this.requestId);
    }

    /**
     * Scaling configuration of the metastore service.
     * 
     */
    @Import(name="scalingConfig")
    private @Nullable Output scalingConfig;

    /**
     * @return Scaling configuration of the metastore service.
     * 
     */
    public Optional> scalingConfig() {
        return Optional.ofNullable(this.scalingConfig);
    }

    /**
     * Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.
     * 
     */
    @Import(name="serviceId", required=true)
    private Output serviceId;

    /**
     * @return Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.
     * 
     */
    public Output serviceId() {
        return this.serviceId;
    }

    /**
     * The configuration specifying telemetry settings for the Dataproc Metastore service. If unspecified defaults to JSON.
     * 
     */
    @Import(name="telemetryConfig")
    private @Nullable Output telemetryConfig;

    /**
     * @return The configuration specifying telemetry settings for the Dataproc Metastore service. If unspecified defaults to JSON.
     * 
     */
    public Optional> telemetryConfig() {
        return Optional.ofNullable(this.telemetryConfig);
    }

    /**
     * The tier of the service.
     * 
     */
    @Import(name="tier")
    private @Nullable Output tier;

    /**
     * @return The tier of the service.
     * 
     */
    public Optional> tier() {
        return Optional.ofNullable(this.tier);
    }

    private ServiceArgs() {}

    private ServiceArgs(ServiceArgs $) {
        this.databaseType = $.databaseType;
        this.encryptionConfig = $.encryptionConfig;
        this.hiveMetastoreConfig = $.hiveMetastoreConfig;
        this.labels = $.labels;
        this.location = $.location;
        this.maintenanceWindow = $.maintenanceWindow;
        this.metadataIntegration = $.metadataIntegration;
        this.name = $.name;
        this.network = $.network;
        this.networkConfig = $.networkConfig;
        this.port = $.port;
        this.project = $.project;
        this.releaseChannel = $.releaseChannel;
        this.requestId = $.requestId;
        this.scalingConfig = $.scalingConfig;
        this.serviceId = $.serviceId;
        this.telemetryConfig = $.telemetryConfig;
        this.tier = $.tier;
    }

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

    public static final class Builder {
        private ServiceArgs $;

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

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

        /**
         * @param databaseType Immutable. The database type that the Metastore service stores its data.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(@Nullable Output databaseType) {
            $.databaseType = databaseType;
            return this;
        }

        /**
         * @param databaseType Immutable. The database type that the Metastore service stores its data.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(ServiceDatabaseType databaseType) {
            return databaseType(Output.of(databaseType));
        }

        /**
         * @param encryptionConfig Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated.
         * 
         * @return builder
         * 
         */
        public Builder encryptionConfig(@Nullable Output encryptionConfig) {
            $.encryptionConfig = encryptionConfig;
            return this;
        }

        /**
         * @param encryptionConfig Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated.
         * 
         * @return builder
         * 
         */
        public Builder encryptionConfig(EncryptionConfigArgs encryptionConfig) {
            return encryptionConfig(Output.of(encryptionConfig));
        }

        /**
         * @param hiveMetastoreConfig Configuration information specific to running Hive metastore software as the metastore service.
         * 
         * @return builder
         * 
         */
        public Builder hiveMetastoreConfig(@Nullable Output hiveMetastoreConfig) {
            $.hiveMetastoreConfig = hiveMetastoreConfig;
            return this;
        }

        /**
         * @param hiveMetastoreConfig Configuration information specific to running Hive metastore software as the metastore service.
         * 
         * @return builder
         * 
         */
        public Builder hiveMetastoreConfig(HiveMetastoreConfigArgs hiveMetastoreConfig) {
            return hiveMetastoreConfig(Output.of(hiveMetastoreConfig));
        }

        /**
         * @param labels User-defined labels for the metastore service.
         * 
         * @return builder
         * 
         */
        public Builder labels(@Nullable Output> labels) {
            $.labels = labels;
            return this;
        }

        /**
         * @param labels User-defined labels for the metastore service.
         * 
         * @return builder
         * 
         */
        public Builder labels(Map labels) {
            return labels(Output.of(labels));
        }

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

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

        /**
         * @param maintenanceWindow The one hour maintenance window of the metastore service. This specifies when the service can be restarted for maintenance purposes in UTC time. Maintenance window is not needed for services with the SPANNER database type.
         * 
         * @return builder
         * 
         */
        public Builder maintenanceWindow(@Nullable Output maintenanceWindow) {
            $.maintenanceWindow = maintenanceWindow;
            return this;
        }

        /**
         * @param maintenanceWindow The one hour maintenance window of the metastore service. This specifies when the service can be restarted for maintenance purposes in UTC time. Maintenance window is not needed for services with the SPANNER database type.
         * 
         * @return builder
         * 
         */
        public Builder maintenanceWindow(MaintenanceWindowArgs maintenanceWindow) {
            return maintenanceWindow(Output.of(maintenanceWindow));
        }

        /**
         * @param metadataIntegration The setting that defines how metastore metadata should be integrated with external services and systems.
         * 
         * @return builder
         * 
         */
        public Builder metadataIntegration(@Nullable Output metadataIntegration) {
            $.metadataIntegration = metadataIntegration;
            return this;
        }

        /**
         * @param metadataIntegration The setting that defines how metastore metadata should be integrated with external services and systems.
         * 
         * @return builder
         * 
         */
        public Builder metadataIntegration(MetadataIntegrationArgs metadataIntegration) {
            return metadataIntegration(Output.of(metadataIntegration));
        }

        /**
         * @param name Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param network Immutable. The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form:projects/{project_number}/global/networks/{network_id}.
         * 
         * @return builder
         * 
         */
        public Builder network(@Nullable Output network) {
            $.network = network;
            return this;
        }

        /**
         * @param network Immutable. The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form:projects/{project_number}/global/networks/{network_id}.
         * 
         * @return builder
         * 
         */
        public Builder network(String network) {
            return network(Output.of(network));
        }

        /**
         * @param networkConfig The configuration specifying the network settings for the Dataproc Metastore service.
         * 
         * @return builder
         * 
         */
        public Builder networkConfig(@Nullable Output networkConfig) {
            $.networkConfig = networkConfig;
            return this;
        }

        /**
         * @param networkConfig The configuration specifying the network settings for the Dataproc Metastore service.
         * 
         * @return builder
         * 
         */
        public Builder networkConfig(NetworkConfigArgs networkConfig) {
            return networkConfig(Output.of(networkConfig));
        }

        /**
         * @param port The TCP port at which the metastore service is reached. Default: 9083.
         * 
         * @return builder
         * 
         */
        public Builder port(@Nullable Output port) {
            $.port = port;
            return this;
        }

        /**
         * @param port The TCP port at which the metastore service is reached. Default: 9083.
         * 
         * @return builder
         * 
         */
        public Builder port(Integer port) {
            return port(Output.of(port));
        }

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

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

        /**
         * @param releaseChannel Immutable. The release channel of the service. If unspecified, defaults to STABLE.
         * 
         * @return builder
         * 
         */
        public Builder releaseChannel(@Nullable Output releaseChannel) {
            $.releaseChannel = releaseChannel;
            return this;
        }

        /**
         * @param releaseChannel Immutable. The release channel of the service. If unspecified, defaults to STABLE.
         * 
         * @return builder
         * 
         */
        public Builder releaseChannel(ServiceReleaseChannel releaseChannel) {
            return releaseChannel(Output.of(releaseChannel));
        }

        /**
         * @param requestId Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
         * 
         * @return builder
         * 
         */
        public Builder requestId(@Nullable Output requestId) {
            $.requestId = requestId;
            return this;
        }

        /**
         * @param requestId Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
         * 
         * @return builder
         * 
         */
        public Builder requestId(String requestId) {
            return requestId(Output.of(requestId));
        }

        /**
         * @param scalingConfig Scaling configuration of the metastore service.
         * 
         * @return builder
         * 
         */
        public Builder scalingConfig(@Nullable Output scalingConfig) {
            $.scalingConfig = scalingConfig;
            return this;
        }

        /**
         * @param scalingConfig Scaling configuration of the metastore service.
         * 
         * @return builder
         * 
         */
        public Builder scalingConfig(ScalingConfigArgs scalingConfig) {
            return scalingConfig(Output.of(scalingConfig));
        }

        /**
         * @param serviceId Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.
         * 
         * @return builder
         * 
         */
        public Builder serviceId(Output serviceId) {
            $.serviceId = serviceId;
            return this;
        }

        /**
         * @param serviceId Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.
         * 
         * @return builder
         * 
         */
        public Builder serviceId(String serviceId) {
            return serviceId(Output.of(serviceId));
        }

        /**
         * @param telemetryConfig The configuration specifying telemetry settings for the Dataproc Metastore service. If unspecified defaults to JSON.
         * 
         * @return builder
         * 
         */
        public Builder telemetryConfig(@Nullable Output telemetryConfig) {
            $.telemetryConfig = telemetryConfig;
            return this;
        }

        /**
         * @param telemetryConfig The configuration specifying telemetry settings for the Dataproc Metastore service. If unspecified defaults to JSON.
         * 
         * @return builder
         * 
         */
        public Builder telemetryConfig(TelemetryConfigArgs telemetryConfig) {
            return telemetryConfig(Output.of(telemetryConfig));
        }

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

        /**
         * @param tier The tier of the service.
         * 
         * @return builder
         * 
         */
        public Builder tier(ServiceTier tier) {
            return tier(Output.of(tier));
        }

        public ServiceArgs build() {
            $.serviceId = Objects.requireNonNull($.serviceId, "expected parameter 'serviceId' to be non-null");
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy