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

com.pulumi.googlenative.retail.v2.inputs.GoogleCloudRetailV2RuleDoNotAssociateActionArgs 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.retail.v2.inputs;

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


/**
 * Prevents `query_term` from being associated with specified terms during search. Example: Don't associate "gShoe" and "cheap".
 * 
 */
public final class GoogleCloudRetailV2RuleDoNotAssociateActionArgs extends com.pulumi.resources.ResourceArgs {

    public static final GoogleCloudRetailV2RuleDoNotAssociateActionArgs Empty = new GoogleCloudRetailV2RuleDoNotAssociateActionArgs();

    /**
     * Cannot contain duplicates or the query term. Can specify up to 100 terms.
     * 
     */
    @Import(name="doNotAssociateTerms")
    private @Nullable Output> doNotAssociateTerms;

    /**
     * @return Cannot contain duplicates or the query term. Can specify up to 100 terms.
     * 
     */
    public Optional>> doNotAssociateTerms() {
        return Optional.ofNullable(this.doNotAssociateTerms);
    }

    /**
     * Terms from the search query. Will not consider do_not_associate_terms for search if in search query. Can specify up to 100 terms.
     * 
     */
    @Import(name="queryTerms")
    private @Nullable Output> queryTerms;

    /**
     * @return Terms from the search query. Will not consider do_not_associate_terms for search if in search query. Can specify up to 100 terms.
     * 
     */
    public Optional>> queryTerms() {
        return Optional.ofNullable(this.queryTerms);
    }

    /**
     * Will be [deprecated = true] post migration;
     * 
     */
    @Import(name="terms")
    private @Nullable Output> terms;

    /**
     * @return Will be [deprecated = true] post migration;
     * 
     */
    public Optional>> terms() {
        return Optional.ofNullable(this.terms);
    }

    private GoogleCloudRetailV2RuleDoNotAssociateActionArgs() {}

    private GoogleCloudRetailV2RuleDoNotAssociateActionArgs(GoogleCloudRetailV2RuleDoNotAssociateActionArgs $) {
        this.doNotAssociateTerms = $.doNotAssociateTerms;
        this.queryTerms = $.queryTerms;
        this.terms = $.terms;
    }

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

    public static final class Builder {
        private GoogleCloudRetailV2RuleDoNotAssociateActionArgs $;

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

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

        /**
         * @param doNotAssociateTerms Cannot contain duplicates or the query term. Can specify up to 100 terms.
         * 
         * @return builder
         * 
         */
        public Builder doNotAssociateTerms(@Nullable Output> doNotAssociateTerms) {
            $.doNotAssociateTerms = doNotAssociateTerms;
            return this;
        }

        /**
         * @param doNotAssociateTerms Cannot contain duplicates or the query term. Can specify up to 100 terms.
         * 
         * @return builder
         * 
         */
        public Builder doNotAssociateTerms(List doNotAssociateTerms) {
            return doNotAssociateTerms(Output.of(doNotAssociateTerms));
        }

        /**
         * @param doNotAssociateTerms Cannot contain duplicates or the query term. Can specify up to 100 terms.
         * 
         * @return builder
         * 
         */
        public Builder doNotAssociateTerms(String... doNotAssociateTerms) {
            return doNotAssociateTerms(List.of(doNotAssociateTerms));
        }

        /**
         * @param queryTerms Terms from the search query. Will not consider do_not_associate_terms for search if in search query. Can specify up to 100 terms.
         * 
         * @return builder
         * 
         */
        public Builder queryTerms(@Nullable Output> queryTerms) {
            $.queryTerms = queryTerms;
            return this;
        }

        /**
         * @param queryTerms Terms from the search query. Will not consider do_not_associate_terms for search if in search query. Can specify up to 100 terms.
         * 
         * @return builder
         * 
         */
        public Builder queryTerms(List queryTerms) {
            return queryTerms(Output.of(queryTerms));
        }

        /**
         * @param queryTerms Terms from the search query. Will not consider do_not_associate_terms for search if in search query. Can specify up to 100 terms.
         * 
         * @return builder
         * 
         */
        public Builder queryTerms(String... queryTerms) {
            return queryTerms(List.of(queryTerms));
        }

        /**
         * @param terms Will be [deprecated = true] post migration;
         * 
         * @return builder
         * 
         */
        public Builder terms(@Nullable Output> terms) {
            $.terms = terms;
            return this;
        }

        /**
         * @param terms Will be [deprecated = true] post migration;
         * 
         * @return builder
         * 
         */
        public Builder terms(List terms) {
            return terms(Output.of(terms));
        }

        /**
         * @param terms Will be [deprecated = true] post migration;
         * 
         * @return builder
         * 
         */
        public Builder terms(String... terms) {
            return terms(List.of(terms));
        }

        public GoogleCloudRetailV2RuleDoNotAssociateActionArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy