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

com.pulumi.googlenative.dialogflow.v3beta1.inputs.GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs 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.dialogflow.v3beta1.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.dialogflow.v3beta1.enums.GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethod;
import com.pulumi.googlenative.dialogflow.v3beta1.enums.GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceWebhookType;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Represents configuration for a generic web service.
 * 
 */
public final class GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs Empty = new GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs();

    /**
     * Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ```openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")```
     * 
     */
    @Import(name="allowedCaCerts")
    private @Nullable Output> allowedCaCerts;

    /**
     * @return Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ```openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")```
     * 
     */
    public Optional>> allowedCaCerts() {
        return Optional.ofNullable(this.allowedCaCerts);
    }

    /**
     * Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
     * 
     */
    @Import(name="httpMethod")
    private @Nullable Output httpMethod;

    /**
     * @return Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
     * 
     */
    public Optional> httpMethod() {
        return Optional.ofNullable(this.httpMethod);
    }

    /**
     * Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
     * 
     */
    @Import(name="parameterMapping")
    private @Nullable Output> parameterMapping;

    /**
     * @return Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
     * 
     */
    public Optional>> parameterMapping() {
        return Optional.ofNullable(this.parameterMapping);
    }

    /**
     * The password for HTTP Basic authentication.
     * 
     */
    @Import(name="password")
    private @Nullable Output password;

    /**
     * @return The password for HTTP Basic authentication.
     * 
     */
    public Optional> password() {
        return Optional.ofNullable(this.password);
    }

    /**
     * Optional. Defines a custom JSON object as request body to send to flexible webhook.
     * 
     */
    @Import(name="requestBody")
    private @Nullable Output requestBody;

    /**
     * @return Optional. Defines a custom JSON object as request body to send to flexible webhook.
     * 
     */
    public Optional> requestBody() {
        return Optional.ofNullable(this.requestBody);
    }

    /**
     * The HTTP request headers to send together with webhook requests.
     * 
     */
    @Import(name="requestHeaders")
    private @Nullable Output> requestHeaders;

    /**
     * @return The HTTP request headers to send together with webhook requests.
     * 
     */
    public Optional>> requestHeaders() {
        return Optional.ofNullable(this.requestHeaders);
    }

    /**
     * The webhook URI for receiving POST requests. It must use https protocol.
     * 
     */
    @Import(name="uri", required=true)
    private Output uri;

    /**
     * @return The webhook URI for receiving POST requests. It must use https protocol.
     * 
     */
    public Output uri() {
        return this.uri;
    }

    /**
     * The user name for HTTP Basic authentication.
     * 
     */
    @Import(name="username")
    private @Nullable Output username;

    /**
     * @return The user name for HTTP Basic authentication.
     * 
     */
    public Optional> username() {
        return Optional.ofNullable(this.username);
    }

    /**
     * Optional. Type of the webhook.
     * 
     */
    @Import(name="webhookType")
    private @Nullable Output webhookType;

    /**
     * @return Optional. Type of the webhook.
     * 
     */
    public Optional> webhookType() {
        return Optional.ofNullable(this.webhookType);
    }

    private GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs() {}

    private GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs(GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs $) {
        this.allowedCaCerts = $.allowedCaCerts;
        this.httpMethod = $.httpMethod;
        this.parameterMapping = $.parameterMapping;
        this.password = $.password;
        this.requestBody = $.requestBody;
        this.requestHeaders = $.requestHeaders;
        this.uri = $.uri;
        this.username = $.username;
        this.webhookType = $.webhookType;
    }

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

    public static final class Builder {
        private GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs $;

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

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

        /**
         * @param allowedCaCerts Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ```openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")```
         * 
         * @return builder
         * 
         */
        public Builder allowedCaCerts(@Nullable Output> allowedCaCerts) {
            $.allowedCaCerts = allowedCaCerts;
            return this;
        }

        /**
         * @param allowedCaCerts Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ```openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")```
         * 
         * @return builder
         * 
         */
        public Builder allowedCaCerts(List allowedCaCerts) {
            return allowedCaCerts(Output.of(allowedCaCerts));
        }

        /**
         * @param allowedCaCerts Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ```openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")```
         * 
         * @return builder
         * 
         */
        public Builder allowedCaCerts(String... allowedCaCerts) {
            return allowedCaCerts(List.of(allowedCaCerts));
        }

        /**
         * @param httpMethod Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
         * 
         * @return builder
         * 
         */
        public Builder httpMethod(@Nullable Output httpMethod) {
            $.httpMethod = httpMethod;
            return this;
        }

        /**
         * @param httpMethod Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
         * 
         * @return builder
         * 
         */
        public Builder httpMethod(GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethod httpMethod) {
            return httpMethod(Output.of(httpMethod));
        }

        /**
         * @param parameterMapping Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
         * 
         * @return builder
         * 
         */
        public Builder parameterMapping(@Nullable Output> parameterMapping) {
            $.parameterMapping = parameterMapping;
            return this;
        }

        /**
         * @param parameterMapping Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
         * 
         * @return builder
         * 
         */
        public Builder parameterMapping(Map parameterMapping) {
            return parameterMapping(Output.of(parameterMapping));
        }

        /**
         * @param password The password for HTTP Basic authentication.
         * 
         * @return builder
         * 
         */
        public Builder password(@Nullable Output password) {
            $.password = password;
            return this;
        }

        /**
         * @param password The password for HTTP Basic authentication.
         * 
         * @return builder
         * 
         */
        public Builder password(String password) {
            return password(Output.of(password));
        }

        /**
         * @param requestBody Optional. Defines a custom JSON object as request body to send to flexible webhook.
         * 
         * @return builder
         * 
         */
        public Builder requestBody(@Nullable Output requestBody) {
            $.requestBody = requestBody;
            return this;
        }

        /**
         * @param requestBody Optional. Defines a custom JSON object as request body to send to flexible webhook.
         * 
         * @return builder
         * 
         */
        public Builder requestBody(String requestBody) {
            return requestBody(Output.of(requestBody));
        }

        /**
         * @param requestHeaders The HTTP request headers to send together with webhook requests.
         * 
         * @return builder
         * 
         */
        public Builder requestHeaders(@Nullable Output> requestHeaders) {
            $.requestHeaders = requestHeaders;
            return this;
        }

        /**
         * @param requestHeaders The HTTP request headers to send together with webhook requests.
         * 
         * @return builder
         * 
         */
        public Builder requestHeaders(Map requestHeaders) {
            return requestHeaders(Output.of(requestHeaders));
        }

        /**
         * @param uri The webhook URI for receiving POST requests. It must use https protocol.
         * 
         * @return builder
         * 
         */
        public Builder uri(Output uri) {
            $.uri = uri;
            return this;
        }

        /**
         * @param uri The webhook URI for receiving POST requests. It must use https protocol.
         * 
         * @return builder
         * 
         */
        public Builder uri(String uri) {
            return uri(Output.of(uri));
        }

        /**
         * @param username The user name for HTTP Basic authentication.
         * 
         * @return builder
         * 
         */
        public Builder username(@Nullable Output username) {
            $.username = username;
            return this;
        }

        /**
         * @param username The user name for HTTP Basic authentication.
         * 
         * @return builder
         * 
         */
        public Builder username(String username) {
            return username(Output.of(username));
        }

        /**
         * @param webhookType Optional. Type of the webhook.
         * 
         * @return builder
         * 
         */
        public Builder webhookType(@Nullable Output webhookType) {
            $.webhookType = webhookType;
            return this;
        }

        /**
         * @param webhookType Optional. Type of the webhook.
         * 
         * @return builder
         * 
         */
        public Builder webhookType(GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceWebhookType webhookType) {
            return webhookType(Output.of(webhookType));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy