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

com.pulumi.googlenative.speech.v1.CustomClassArgs 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.speech.v1;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.speech.v1.inputs.ClassItemArgs;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CustomClassArgs Empty = new CustomClassArgs();

    /**
     * The ID to use for the custom class, which will become the final component of the custom class' resource name. This value should restrict to letters, numbers, and hyphens, with the first character a letter, the last a letter or a number, and be 4-63 characters.
     * 
     */
    @Import(name="customClassId", required=true)
    private Output customClassId;

    /**
     * @return The ID to use for the custom class, which will become the final component of the custom class' resource name. This value should restrict to letters, numbers, and hyphens, with the first character a letter, the last a letter or a number, and be 4-63 characters.
     * 
     */
    public Output customClassId() {
        return this.customClassId;
    }

    /**
     * A collection of class items.
     * 
     */
    @Import(name="items")
    private @Nullable Output> items;

    /**
     * @return A collection of class items.
     * 
     */
    public Optional>> items() {
        return Optional.ofNullable(this.items);
    }

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

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

    /**
     * The resource name of the custom class.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The resource name of the custom class.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

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

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

    private CustomClassArgs() {}

    private CustomClassArgs(CustomClassArgs $) {
        this.customClassId = $.customClassId;
        this.items = $.items;
        this.location = $.location;
        this.name = $.name;
        this.project = $.project;
    }

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

    public static final class Builder {
        private CustomClassArgs $;

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

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

        /**
         * @param customClassId The ID to use for the custom class, which will become the final component of the custom class' resource name. This value should restrict to letters, numbers, and hyphens, with the first character a letter, the last a letter or a number, and be 4-63 characters.
         * 
         * @return builder
         * 
         */
        public Builder customClassId(Output customClassId) {
            $.customClassId = customClassId;
            return this;
        }

        /**
         * @param customClassId The ID to use for the custom class, which will become the final component of the custom class' resource name. This value should restrict to letters, numbers, and hyphens, with the first character a letter, the last a letter or a number, and be 4-63 characters.
         * 
         * @return builder
         * 
         */
        public Builder customClassId(String customClassId) {
            return customClassId(Output.of(customClassId));
        }

        /**
         * @param items A collection of class items.
         * 
         * @return builder
         * 
         */
        public Builder items(@Nullable Output> items) {
            $.items = items;
            return this;
        }

        /**
         * @param items A collection of class items.
         * 
         * @return builder
         * 
         */
        public Builder items(List items) {
            return items(Output.of(items));
        }

        /**
         * @param items A collection of class items.
         * 
         * @return builder
         * 
         */
        public Builder items(ClassItemArgs... items) {
            return items(List.of(items));
        }

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

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

        /**
         * @param name The resource name of the custom class.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The resource name of the custom class.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

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

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

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy