sdk/java/src/main/java/com/pulumiverse/purrl/PurrlArgs.java
<gh_stars>0// *** WARNING: this file was generated by pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumiverse.purrl;

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


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

    public static final PurrlArgs Empty = new PurrlArgs();

    /**
     * The body of the request.
     * 
     */
    @Import(name="body")
    private @Nullable Output<String> body;

    /**
     * @return The body of the request.
     * 
     */
    public Optional<Output<String>> body() {
        return Optional.ofNullable(this.body);
    }

    /**
     * The CA certificate if server cert is not signed by a trusted CA.
     * 
     */
    @Import(name="caCert")
    private @Nullable Output<String> caCert;

    /**
     * @return The CA certificate if server cert is not signed by a trusted CA.
     * 
     */
    public Optional<Output<String>> caCert() {
        return Optional.ofNullable(this.caCert);
    }

    /**
     * The client certificate to use for TLS verification.
     * 
     */
    @Import(name="cert")
    private @Nullable Output<String> cert;

    /**
     * @return The client certificate to use for TLS verification.
     * 
     */
    public Optional<Output<String>> cert() {
        return Optional.ofNullable(this.cert);
    }

    /**
     * The body of the request.
     * 
     */
    @Import(name="deleteBody")
    private @Nullable Output<String> deleteBody;

    /**
     * @return The body of the request.
     * 
     */
    public Optional<Output<String>> deleteBody() {
        return Optional.ofNullable(this.deleteBody);
    }

    /**
     * The CA certificate if server cert is not signed by a trusted CA.
     * 
     */
    @Import(name="deleteCaCert")
    private @Nullable Output<String> deleteCaCert;

    /**
     * @return The CA certificate if server cert is not signed by a trusted CA.
     * 
     */
    public Optional<Output<String>> deleteCaCert() {
        return Optional.ofNullable(this.deleteCaCert);
    }

    /**
     * The client certificate to use for TLS verification.
     * 
     */
    @Import(name="deleteCert")
    private @Nullable Output<String> deleteCert;

    /**
     * @return The client certificate to use for TLS verification.
     * 
     */
    public Optional<Output<String>> deleteCert() {
        return Optional.ofNullable(this.deleteCert);
    }

    /**
     * The headers to send with the request.
     * 
     */
    @Import(name="deleteHeaders")
    private @Nullable Output<Map<String,String>> deleteHeaders;

    /**
     * @return The headers to send with the request.
     * 
     */
    public Optional<Output<Map<String,String>>> deleteHeaders() {
        return Optional.ofNullable(this.deleteHeaders);
    }

    /**
     * Skip TLS verification.
     * 
     */
    @Import(name="deleteInsecureSkipTLSVerify")
    private @Nullable Output<Boolean> deleteInsecureSkipTLSVerify;

    /**
     * @return Skip TLS verification.
     * 
     */
    public Optional<Output<Boolean>> deleteInsecureSkipTLSVerify() {
        return Optional.ofNullable(this.deleteInsecureSkipTLSVerify);
    }

    /**
     * The client key to use for TLS verification.
     * 
     */
    @Import(name="deleteKey")
    private @Nullable Output<String> deleteKey;

    /**
     * @return The client key to use for TLS verification.
     * 
     */
    public Optional<Output<String>> deleteKey() {
        return Optional.ofNullable(this.deleteKey);
    }

    /**
     * The HTTP method to use.
     * 
     */
    @Import(name="deleteMethod")
    private @Nullable Output<String> deleteMethod;

    /**
     * @return The HTTP method to use.
     * 
     */
    public Optional<Output<String>> deleteMethod() {
        return Optional.ofNullable(this.deleteMethod);
    }

    /**
     * The expected response code.
     * 
     */
    @Import(name="deleteResponseCodes")
    private @Nullable Output<List<String>> deleteResponseCodes;

    /**
     * @return The expected response code.
     * 
     */
    public Optional<Output<List<String>>> deleteResponseCodes() {
        return Optional.ofNullable(this.deleteResponseCodes);
    }

    /**
     * The API endpoint to call.
     * 
     */
    @Import(name="deleteUrl")
    private @Nullable Output<String> deleteUrl;

    /**
     * @return The API endpoint to call.
     * 
     */
    public Optional<Output<String>> deleteUrl() {
        return Optional.ofNullable(this.deleteUrl);
    }

    /**
     * The headers to send with the request.
     * 
     */
    @Import(name="headers")
    private @Nullable Output<Map<String,String>> headers;

    /**
     * @return The headers to send with the request.
     * 
     */
    public Optional<Output<Map<String,String>>> headers() {
        return Optional.ofNullable(this.headers);
    }

    /**
     * Skip TLS verification.
     * 
     */
    @Import(name="insecureSkipTLSVerify")
    private @Nullable Output<Boolean> insecureSkipTLSVerify;

    /**
     * @return Skip TLS verification.
     * 
     */
    public Optional<Output<Boolean>> insecureSkipTLSVerify() {
        return Optional.ofNullable(this.insecureSkipTLSVerify);
    }

    /**
     * The client key to use for TLS verification.
     * 
     */
    @Import(name="key")
    private @Nullable Output<String> key;

    /**
     * @return The client key to use for TLS verification.
     * 
     */
    public Optional<Output<String>> key() {
        return Optional.ofNullable(this.key);
    }

    /**
     * The HTTP method to use.
     * 
     */
    @Import(name="method", required=true)
    private Output<String> method;

    /**
     * @return The HTTP method to use.
     * 
     */
    public Output<String> method() {
        return this.method;
    }

    /**
     * The name for this API call.
     * 
     */
    @Import(name="name", required=true)
    private Output<String> name;

    /**
     * @return The name for this API call.
     * 
     */
    public Output<String> name() {
        return this.name;
    }

    /**
     * The expected response code.
     * 
     */
    @Import(name="responseCodes", required=true)
    private Output<List<String>> responseCodes;

    /**
     * @return The expected response code.
     * 
     */
    public Output<List<String>> responseCodes() {
        return this.responseCodes;
    }

    /**
     * The API endpoint to call.
     * 
     */
    @Import(name="url", required=true)
    private Output<String> url;

    /**
     * @return The API endpoint to call.
     * 
     */
    public Output<String> url() {
        return this.url;
    }

    private PurrlArgs() {}

    private PurrlArgs(PurrlArgs $) {
        this.body = $.body;
        this.caCert = $.caCert;
        this.cert = $.cert;
        this.deleteBody = $.deleteBody;
        this.deleteCaCert = $.deleteCaCert;
        this.deleteCert = $.deleteCert;
        this.deleteHeaders = $.deleteHeaders;
        this.deleteInsecureSkipTLSVerify = $.deleteInsecureSkipTLSVerify;
        this.deleteKey = $.deleteKey;
        this.deleteMethod = $.deleteMethod;
        this.deleteResponseCodes = $.deleteResponseCodes;
        this.deleteUrl = $.deleteUrl;
        this.headers = $.headers;
        this.insecureSkipTLSVerify = $.insecureSkipTLSVerify;
        this.key = $.key;
        this.method = $.method;
        this.name = $.name;
        this.responseCodes = $.responseCodes;
        this.url = $.url;
    }

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

    public static final class Builder {
        private PurrlArgs $;

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

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

        /**
         * @param body The body of the request.
         * 
         * @return builder
         * 
         */
        public Builder body(@Nullable Output<String> body) {
            $.body = body;
            return this;
        }

        /**
         * @param body The body of the request.
         * 
         * @return builder
         * 
         */
        public Builder body(String body) {
            return body(Output.of(body));
        }

        /**
         * @param caCert The CA certificate if server cert is not signed by a trusted CA.
         * 
         * @return builder
         * 
         */
        public Builder caCert(@Nullable Output<String> caCert) {
            $.caCert = caCert;
            return this;
        }

        /**
         * @param caCert The CA certificate if server cert is not signed by a trusted CA.
         * 
         * @return builder
         * 
         */
        public Builder caCert(String caCert) {
            return caCert(Output.of(caCert));
        }

        /**
         * @param cert The client certificate to use for TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder cert(@Nullable Output<String> cert) {
            $.cert = cert;
            return this;
        }

        /**
         * @param cert The client certificate to use for TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder cert(String cert) {
            return cert(Output.of(cert));
        }

        /**
         * @param deleteBody The body of the request.
         * 
         * @return builder
         * 
         */
        public Builder deleteBody(@Nullable Output<String> deleteBody) {
            $.deleteBody = deleteBody;
            return this;
        }

        /**
         * @param deleteBody The body of the request.
         * 
         * @return builder
         * 
         */
        public Builder deleteBody(String deleteBody) {
            return deleteBody(Output.of(deleteBody));
        }

        /**
         * @param deleteCaCert The CA certificate if server cert is not signed by a trusted CA.
         * 
         * @return builder
         * 
         */
        public Builder deleteCaCert(@Nullable Output<String> deleteCaCert) {
            $.deleteCaCert = deleteCaCert;
            return this;
        }

        /**
         * @param deleteCaCert The CA certificate if server cert is not signed by a trusted CA.
         * 
         * @return builder
         * 
         */
        public Builder deleteCaCert(String deleteCaCert) {
            return deleteCaCert(Output.of(deleteCaCert));
        }

        /**
         * @param deleteCert The client certificate to use for TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder deleteCert(@Nullable Output<String> deleteCert) {
            $.deleteCert = deleteCert;
            return this;
        }

        /**
         * @param deleteCert The client certificate to use for TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder deleteCert(String deleteCert) {
            return deleteCert(Output.of(deleteCert));
        }

        /**
         * @param deleteHeaders The headers to send with the request.
         * 
         * @return builder
         * 
         */
        public Builder deleteHeaders(@Nullable Output<Map<String,String>> deleteHeaders) {
            $.deleteHeaders = deleteHeaders;
            return this;
        }

        /**
         * @param deleteHeaders The headers to send with the request.
         * 
         * @return builder
         * 
         */
        public Builder deleteHeaders(Map<String,String> deleteHeaders) {
            return deleteHeaders(Output.of(deleteHeaders));
        }

        /**
         * @param deleteInsecureSkipTLSVerify Skip TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder deleteInsecureSkipTLSVerify(@Nullable Output<Boolean> deleteInsecureSkipTLSVerify) {
            $.deleteInsecureSkipTLSVerify = deleteInsecureSkipTLSVerify;
            return this;
        }

        /**
         * @param deleteInsecureSkipTLSVerify Skip TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder deleteInsecureSkipTLSVerify(Boolean deleteInsecureSkipTLSVerify) {
            return deleteInsecureSkipTLSVerify(Output.of(deleteInsecureSkipTLSVerify));
        }

        /**
         * @param deleteKey The client key to use for TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder deleteKey(@Nullable Output<String> deleteKey) {
            $.deleteKey = deleteKey;
            return this;
        }

        /**
         * @param deleteKey The client key to use for TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder deleteKey(String deleteKey) {
            return deleteKey(Output.of(deleteKey));
        }

        /**
         * @param deleteMethod The HTTP method to use.
         * 
         * @return builder
         * 
         */
        public Builder deleteMethod(@Nullable Output<String> deleteMethod) {
            $.deleteMethod = deleteMethod;
            return this;
        }

        /**
         * @param deleteMethod The HTTP method to use.
         * 
         * @return builder
         * 
         */
        public Builder deleteMethod(String deleteMethod) {
            return deleteMethod(Output.of(deleteMethod));
        }

        /**
         * @param deleteResponseCodes The expected response code.
         * 
         * @return builder
         * 
         */
        public Builder deleteResponseCodes(@Nullable Output<List<String>> deleteResponseCodes) {
            $.deleteResponseCodes = deleteResponseCodes;
            return this;
        }

        /**
         * @param deleteResponseCodes The expected response code.
         * 
         * @return builder
         * 
         */
        public Builder deleteResponseCodes(List<String> deleteResponseCodes) {
            return deleteResponseCodes(Output.of(deleteResponseCodes));
        }

        /**
         * @param deleteResponseCodes The expected response code.
         * 
         * @return builder
         * 
         */
        public Builder deleteResponseCodes(String... deleteResponseCodes) {
            return deleteResponseCodes(List.of(deleteResponseCodes));
        }

        /**
         * @param deleteUrl The API endpoint to call.
         * 
         * @return builder
         * 
         */
        public Builder deleteUrl(@Nullable Output<String> deleteUrl) {
            $.deleteUrl = deleteUrl;
            return this;
        }

        /**
         * @param deleteUrl The API endpoint to call.
         * 
         * @return builder
         * 
         */
        public Builder deleteUrl(String deleteUrl) {
            return deleteUrl(Output.of(deleteUrl));
        }

        /**
         * @param headers The headers to send with the request.
         * 
         * @return builder
         * 
         */
        public Builder headers(@Nullable Output<Map<String,String>> headers) {
            $.headers = headers;
            return this;
        }

        /**
         * @param headers The headers to send with the request.
         * 
         * @return builder
         * 
         */
        public Builder headers(Map<String,String> headers) {
            return headers(Output.of(headers));
        }

        /**
         * @param insecureSkipTLSVerify Skip TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder insecureSkipTLSVerify(@Nullable Output<Boolean> insecureSkipTLSVerify) {
            $.insecureSkipTLSVerify = insecureSkipTLSVerify;
            return this;
        }

        /**
         * @param insecureSkipTLSVerify Skip TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder insecureSkipTLSVerify(Boolean insecureSkipTLSVerify) {
            return insecureSkipTLSVerify(Output.of(insecureSkipTLSVerify));
        }

        /**
         * @param key The client key to use for TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder key(@Nullable Output<String> key) {
            $.key = key;
            return this;
        }

        /**
         * @param key The client key to use for TLS verification.
         * 
         * @return builder
         * 
         */
        public Builder key(String key) {
            return key(Output.of(key));
        }

        /**
         * @param method The HTTP method to use.
         * 
         * @return builder
         * 
         */
        public Builder method(Output<String> method) {
            $.method = method;
            return this;
        }

        /**
         * @param method The HTTP method to use.
         * 
         * @return builder
         * 
         */
        public Builder method(String method) {
            return method(Output.of(method));
        }

        /**
         * @param name The name for this API call.
         * 
         * @return builder
         * 
         */
        public Builder name(Output<String> name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name for this API call.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param responseCodes The expected response code.
         * 
         * @return builder
         * 
         */
        public Builder responseCodes(Output<List<String>> responseCodes) {
            $.responseCodes = responseCodes;
            return this;
        }

        /**
         * @param responseCodes The expected response code.
         * 
         * @return builder
         * 
         */
        public Builder responseCodes(List<String> responseCodes) {
            return responseCodes(Output.of(responseCodes));
        }

        /**
         * @param responseCodes The expected response code.
         * 
         * @return builder
         * 
         */
        public Builder responseCodes(String... responseCodes) {
            return responseCodes(List.of(responseCodes));
        }

        /**
         * @param url The API endpoint to call.
         * 
         * @return builder
         * 
         */
        public Builder url(Output<String> url) {
            $.url = url;
            return this;
        }

        /**
         * @param url The API endpoint to call.
         * 
         * @return builder
         * 
         */
        public Builder url(String url) {
            return url(Output.of(url));
        }

        public PurrlArgs build() {
            $.method = Objects.requireNonNull($.method, "expected parameter 'method' to be non-null");
            $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null");
            $.responseCodes = Objects.requireNonNull($.responseCodes, "expected parameter 'responseCodes' to be non-null");
            $.url = Objects.requireNonNull($.url, "expected parameter 'url' to be non-null");
            return $;
        }
    }

}
