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

com.pulumi.snowflake.inputs.ProcedureState Maven / Gradle / Ivy

The 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.snowflake.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.snowflake.inputs.ProcedureArgumentArgs;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ProcedureState Empty = new ProcedureState();

    /**
     * List of the arguments for the procedure
     * 
     */
    @Import(name="arguments")
    private @Nullable Output> arguments;

    /**
     * @return List of the arguments for the procedure
     * 
     */
    public Optional>> arguments() {
        return Optional.ofNullable(this.arguments);
    }

    /**
     * Specifies a comment for the procedure.
     * 
     */
    @Import(name="comment")
    private @Nullable Output comment;

    /**
     * @return Specifies a comment for the procedure.
     * 
     */
    public Optional> comment() {
        return Optional.ofNullable(this.comment);
    }

    /**
     * The database in which to create the procedure. Don't use the | character.
     * 
     */
    @Import(name="database")
    private @Nullable Output database;

    /**
     * @return The database in which to create the procedure. Don't use the | character.
     * 
     */
    public Optional> database() {
        return Optional.ofNullable(this.database);
    }

    /**
     * Sets execution context. Allowed values are CALLER and OWNER (consult a proper section in the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#id1)). For more information see [caller's rights and owner's rights](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights).
     * 
     */
    @Import(name="executeAs")
    private @Nullable Output executeAs;

    /**
     * @return Sets execution context. Allowed values are CALLER and OWNER (consult a proper section in the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#id1)). For more information see [caller's rights and owner's rights](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights).
     * 
     */
    public Optional> executeAs() {
        return Optional.ofNullable(this.executeAs);
    }

    /**
     * Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
     * 
     */
    @Import(name="fullyQualifiedName")
    private @Nullable Output fullyQualifiedName;

    /**
     * @return Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
     * 
     */
    public Optional> fullyQualifiedName() {
        return Optional.ofNullable(this.fullyQualifiedName);
    }

    /**
     * The handler method for Java / Python procedures.
     * 
     */
    @Import(name="handler")
    private @Nullable Output handler;

    /**
     * @return The handler method for Java / Python procedures.
     * 
     */
    public Optional> handler() {
        return Optional.ofNullable(this.handler);
    }

    /**
     * Imports for Java / Python procedures. For Java this a list of jar files, for Python this is a list of Python files.
     * 
     */
    @Import(name="imports")
    private @Nullable Output> imports;

    /**
     * @return Imports for Java / Python procedures. For Java this a list of jar files, for Python this is a list of Python files.
     * 
     */
    public Optional>> imports() {
        return Optional.ofNullable(this.imports);
    }

    /**
     * Specifies the language of the stored procedure code.
     * 
     */
    @Import(name="language")
    private @Nullable Output language;

    /**
     * @return Specifies the language of the stored procedure code.
     * 
     */
    public Optional> language() {
        return Optional.ofNullable(this.language);
    }

    /**
     * Specifies the identifier for the procedure; does not have to be unique for the schema in which the procedure is created. Don't use the | character.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Specifies the identifier for the procedure; does not have to be unique for the schema in which the procedure is created. Don't use the | character.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Specifies the behavior of the procedure when called with null inputs.
     * 
     */
    @Import(name="nullInputBehavior")
    private @Nullable Output nullInputBehavior;

    /**
     * @return Specifies the behavior of the procedure when called with null inputs.
     * 
     */
    public Optional> nullInputBehavior() {
        return Optional.ofNullable(this.nullInputBehavior);
    }

    /**
     * List of package imports to use for Java / Python procedures. For Java, package imports should be of the form: package*name:version*number, where package*name is snowflake*domain:package. For Python use it should be: ('numpy','pandas','xgboost==1.5.0').
     * 
     */
    @Import(name="packages")
    private @Nullable Output> packages;

    /**
     * @return List of package imports to use for Java / Python procedures. For Java, package imports should be of the form: package*name:version*number, where package*name is snowflake*domain:package. For Python use it should be: ('numpy','pandas','xgboost==1.5.0').
     * 
     */
    public Optional>> packages() {
        return Optional.ofNullable(this.packages);
    }

    /**
     * Specifies the behavior of the function when returning results
     * 
     * @deprecated
     * These keywords are deprecated for stored procedures. These keywords are not intended to apply to stored procedures. In a future release, these keywords will be removed from the documentation.
     * 
     */
    @Deprecated /* These keywords are deprecated for stored procedures. These keywords are not intended to apply to stored procedures. In a future release, these keywords will be removed from the documentation. */
    @Import(name="returnBehavior")
    private @Nullable Output returnBehavior;

    /**
     * @return Specifies the behavior of the function when returning results
     * 
     * @deprecated
     * These keywords are deprecated for stored procedures. These keywords are not intended to apply to stored procedures. In a future release, these keywords will be removed from the documentation.
     * 
     */
    @Deprecated /* These keywords are deprecated for stored procedures. These keywords are not intended to apply to stored procedures. In a future release, these keywords will be removed from the documentation. */
    public Optional> returnBehavior() {
        return Optional.ofNullable(this.returnBehavior);
    }

    /**
     * The return type of the procedure
     * 
     */
    @Import(name="returnType")
    private @Nullable Output returnType;

    /**
     * @return The return type of the procedure
     * 
     */
    public Optional> returnType() {
        return Optional.ofNullable(this.returnType);
    }

    /**
     * Required for Python procedures. Specifies Python runtime version.
     * 
     */
    @Import(name="runtimeVersion")
    private @Nullable Output runtimeVersion;

    /**
     * @return Required for Python procedures. Specifies Python runtime version.
     * 
     */
    public Optional> runtimeVersion() {
        return Optional.ofNullable(this.runtimeVersion);
    }

    /**
     * The schema in which to create the procedure. Don't use the | character.
     * 
     */
    @Import(name="schema")
    private @Nullable Output schema;

    /**
     * @return The schema in which to create the procedure. Don't use the | character.
     * 
     */
    public Optional> schema() {
        return Optional.ofNullable(this.schema);
    }

    /**
     * Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures.
     * 
     */
    @Import(name="secure")
    private @Nullable Output secure;

    /**
     * @return Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures.
     * 
     */
    public Optional> secure() {
        return Optional.ofNullable(this.secure);
    }

    /**
     * Specifies the code used to create the procedure.
     * 
     */
    @Import(name="statement")
    private @Nullable Output statement;

    /**
     * @return Specifies the code used to create the procedure.
     * 
     */
    public Optional> statement() {
        return Optional.ofNullable(this.statement);
    }

    private ProcedureState() {}

    private ProcedureState(ProcedureState $) {
        this.arguments = $.arguments;
        this.comment = $.comment;
        this.database = $.database;
        this.executeAs = $.executeAs;
        this.fullyQualifiedName = $.fullyQualifiedName;
        this.handler = $.handler;
        this.imports = $.imports;
        this.language = $.language;
        this.name = $.name;
        this.nullInputBehavior = $.nullInputBehavior;
        this.packages = $.packages;
        this.returnBehavior = $.returnBehavior;
        this.returnType = $.returnType;
        this.runtimeVersion = $.runtimeVersion;
        this.schema = $.schema;
        this.secure = $.secure;
        this.statement = $.statement;
    }

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

    public static final class Builder {
        private ProcedureState $;

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

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

        /**
         * @param arguments List of the arguments for the procedure
         * 
         * @return builder
         * 
         */
        public Builder arguments(@Nullable Output> arguments) {
            $.arguments = arguments;
            return this;
        }

        /**
         * @param arguments List of the arguments for the procedure
         * 
         * @return builder
         * 
         */
        public Builder arguments(List arguments) {
            return arguments(Output.of(arguments));
        }

        /**
         * @param arguments List of the arguments for the procedure
         * 
         * @return builder
         * 
         */
        public Builder arguments(ProcedureArgumentArgs... arguments) {
            return arguments(List.of(arguments));
        }

        /**
         * @param comment Specifies a comment for the procedure.
         * 
         * @return builder
         * 
         */
        public Builder comment(@Nullable Output comment) {
            $.comment = comment;
            return this;
        }

        /**
         * @param comment Specifies a comment for the procedure.
         * 
         * @return builder
         * 
         */
        public Builder comment(String comment) {
            return comment(Output.of(comment));
        }

        /**
         * @param database The database in which to create the procedure. Don't use the | character.
         * 
         * @return builder
         * 
         */
        public Builder database(@Nullable Output database) {
            $.database = database;
            return this;
        }

        /**
         * @param database The database in which to create the procedure. Don't use the | character.
         * 
         * @return builder
         * 
         */
        public Builder database(String database) {
            return database(Output.of(database));
        }

        /**
         * @param executeAs Sets execution context. Allowed values are CALLER and OWNER (consult a proper section in the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#id1)). For more information see [caller's rights and owner's rights](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights).
         * 
         * @return builder
         * 
         */
        public Builder executeAs(@Nullable Output executeAs) {
            $.executeAs = executeAs;
            return this;
        }

        /**
         * @param executeAs Sets execution context. Allowed values are CALLER and OWNER (consult a proper section in the [docs](https://docs.snowflake.com/en/sql-reference/sql/create-procedure#id1)). For more information see [caller's rights and owner's rights](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights).
         * 
         * @return builder
         * 
         */
        public Builder executeAs(String executeAs) {
            return executeAs(Output.of(executeAs));
        }

        /**
         * @param fullyQualifiedName Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
         * 
         * @return builder
         * 
         */
        public Builder fullyQualifiedName(@Nullable Output fullyQualifiedName) {
            $.fullyQualifiedName = fullyQualifiedName;
            return this;
        }

        /**
         * @param fullyQualifiedName Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
         * 
         * @return builder
         * 
         */
        public Builder fullyQualifiedName(String fullyQualifiedName) {
            return fullyQualifiedName(Output.of(fullyQualifiedName));
        }

        /**
         * @param handler The handler method for Java / Python procedures.
         * 
         * @return builder
         * 
         */
        public Builder handler(@Nullable Output handler) {
            $.handler = handler;
            return this;
        }

        /**
         * @param handler The handler method for Java / Python procedures.
         * 
         * @return builder
         * 
         */
        public Builder handler(String handler) {
            return handler(Output.of(handler));
        }

        /**
         * @param imports Imports for Java / Python procedures. For Java this a list of jar files, for Python this is a list of Python files.
         * 
         * @return builder
         * 
         */
        public Builder imports(@Nullable Output> imports) {
            $.imports = imports;
            return this;
        }

        /**
         * @param imports Imports for Java / Python procedures. For Java this a list of jar files, for Python this is a list of Python files.
         * 
         * @return builder
         * 
         */
        public Builder imports(List imports) {
            return imports(Output.of(imports));
        }

        /**
         * @param imports Imports for Java / Python procedures. For Java this a list of jar files, for Python this is a list of Python files.
         * 
         * @return builder
         * 
         */
        public Builder imports(String... imports) {
            return imports(List.of(imports));
        }

        /**
         * @param language Specifies the language of the stored procedure code.
         * 
         * @return builder
         * 
         */
        public Builder language(@Nullable Output language) {
            $.language = language;
            return this;
        }

        /**
         * @param language Specifies the language of the stored procedure code.
         * 
         * @return builder
         * 
         */
        public Builder language(String language) {
            return language(Output.of(language));
        }

        /**
         * @param name Specifies the identifier for the procedure; does not have to be unique for the schema in which the procedure is created. Don't use the | character.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Specifies the identifier for the procedure; does not have to be unique for the schema in which the procedure is created. Don't use the | character.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param nullInputBehavior Specifies the behavior of the procedure when called with null inputs.
         * 
         * @return builder
         * 
         */
        public Builder nullInputBehavior(@Nullable Output nullInputBehavior) {
            $.nullInputBehavior = nullInputBehavior;
            return this;
        }

        /**
         * @param nullInputBehavior Specifies the behavior of the procedure when called with null inputs.
         * 
         * @return builder
         * 
         */
        public Builder nullInputBehavior(String nullInputBehavior) {
            return nullInputBehavior(Output.of(nullInputBehavior));
        }

        /**
         * @param packages List of package imports to use for Java / Python procedures. For Java, package imports should be of the form: package*name:version*number, where package*name is snowflake*domain:package. For Python use it should be: ('numpy','pandas','xgboost==1.5.0').
         * 
         * @return builder
         * 
         */
        public Builder packages(@Nullable Output> packages) {
            $.packages = packages;
            return this;
        }

        /**
         * @param packages List of package imports to use for Java / Python procedures. For Java, package imports should be of the form: package*name:version*number, where package*name is snowflake*domain:package. For Python use it should be: ('numpy','pandas','xgboost==1.5.0').
         * 
         * @return builder
         * 
         */
        public Builder packages(List packages) {
            return packages(Output.of(packages));
        }

        /**
         * @param packages List of package imports to use for Java / Python procedures. For Java, package imports should be of the form: package*name:version*number, where package*name is snowflake*domain:package. For Python use it should be: ('numpy','pandas','xgboost==1.5.0').
         * 
         * @return builder
         * 
         */
        public Builder packages(String... packages) {
            return packages(List.of(packages));
        }

        /**
         * @param returnBehavior Specifies the behavior of the function when returning results
         * 
         * @return builder
         * 
         * @deprecated
         * These keywords are deprecated for stored procedures. These keywords are not intended to apply to stored procedures. In a future release, these keywords will be removed from the documentation.
         * 
         */
        @Deprecated /* These keywords are deprecated for stored procedures. These keywords are not intended to apply to stored procedures. In a future release, these keywords will be removed from the documentation. */
        public Builder returnBehavior(@Nullable Output returnBehavior) {
            $.returnBehavior = returnBehavior;
            return this;
        }

        /**
         * @param returnBehavior Specifies the behavior of the function when returning results
         * 
         * @return builder
         * 
         * @deprecated
         * These keywords are deprecated for stored procedures. These keywords are not intended to apply to stored procedures. In a future release, these keywords will be removed from the documentation.
         * 
         */
        @Deprecated /* These keywords are deprecated for stored procedures. These keywords are not intended to apply to stored procedures. In a future release, these keywords will be removed from the documentation. */
        public Builder returnBehavior(String returnBehavior) {
            return returnBehavior(Output.of(returnBehavior));
        }

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

        /**
         * @param returnType The return type of the procedure
         * 
         * @return builder
         * 
         */
        public Builder returnType(String returnType) {
            return returnType(Output.of(returnType));
        }

        /**
         * @param runtimeVersion Required for Python procedures. Specifies Python runtime version.
         * 
         * @return builder
         * 
         */
        public Builder runtimeVersion(@Nullable Output runtimeVersion) {
            $.runtimeVersion = runtimeVersion;
            return this;
        }

        /**
         * @param runtimeVersion Required for Python procedures. Specifies Python runtime version.
         * 
         * @return builder
         * 
         */
        public Builder runtimeVersion(String runtimeVersion) {
            return runtimeVersion(Output.of(runtimeVersion));
        }

        /**
         * @param schema The schema in which to create the procedure. Don't use the | character.
         * 
         * @return builder
         * 
         */
        public Builder schema(@Nullable Output schema) {
            $.schema = schema;
            return this;
        }

        /**
         * @param schema The schema in which to create the procedure. Don't use the | character.
         * 
         * @return builder
         * 
         */
        public Builder schema(String schema) {
            return schema(Output.of(schema));
        }

        /**
         * @param secure Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures.
         * 
         * @return builder
         * 
         */
        public Builder secure(@Nullable Output secure) {
            $.secure = secure;
            return this;
        }

        /**
         * @param secure Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures.
         * 
         * @return builder
         * 
         */
        public Builder secure(Boolean secure) {
            return secure(Output.of(secure));
        }

        /**
         * @param statement Specifies the code used to create the procedure.
         * 
         * @return builder
         * 
         */
        public Builder statement(@Nullable Output statement) {
            $.statement = statement;
            return this;
        }

        /**
         * @param statement Specifies the code used to create the procedure.
         * 
         * @return builder
         * 
         */
        public Builder statement(String statement) {
            return statement(Output.of(statement));
        }

        public ProcedureState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy