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

com.pulumi.azurenative.logic.inputs.AS2MdnSettingsArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show 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.azurenative.logic.inputs;

import com.pulumi.azurenative.logic.enums.HashingAlgorithm;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The AS2 agreement mdn settings.
 * 
 */
public final class AS2MdnSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final AS2MdnSettingsArgs Empty = new AS2MdnSettingsArgs();

    /**
     * The disposition notification to header value.
     * 
     */
    @Import(name="dispositionNotificationTo")
    private @Nullable Output dispositionNotificationTo;

    /**
     * @return The disposition notification to header value.
     * 
     */
    public Optional> dispositionNotificationTo() {
        return Optional.ofNullable(this.dispositionNotificationTo);
    }

    /**
     * The MDN text.
     * 
     */
    @Import(name="mdnText")
    private @Nullable Output mdnText;

    /**
     * @return The MDN text.
     * 
     */
    public Optional> mdnText() {
        return Optional.ofNullable(this.mdnText);
    }

    /**
     * The signing or hashing algorithm.
     * 
     */
    @Import(name="micHashingAlgorithm", required=true)
    private Output> micHashingAlgorithm;

    /**
     * @return The signing or hashing algorithm.
     * 
     */
    public Output> micHashingAlgorithm() {
        return this.micHashingAlgorithm;
    }

    /**
     * The value indicating whether to send or request a MDN.
     * 
     */
    @Import(name="needMDN", required=true)
    private Output needMDN;

    /**
     * @return The value indicating whether to send or request a MDN.
     * 
     */
    public Output needMDN() {
        return this.needMDN;
    }

    /**
     * The receipt delivery URL.
     * 
     */
    @Import(name="receiptDeliveryUrl")
    private @Nullable Output receiptDeliveryUrl;

    /**
     * @return The receipt delivery URL.
     * 
     */
    public Optional> receiptDeliveryUrl() {
        return Optional.ofNullable(this.receiptDeliveryUrl);
    }

    /**
     * The value indicating whether to send inbound MDN to message box.
     * 
     */
    @Import(name="sendInboundMDNToMessageBox", required=true)
    private Output sendInboundMDNToMessageBox;

    /**
     * @return The value indicating whether to send inbound MDN to message box.
     * 
     */
    public Output sendInboundMDNToMessageBox() {
        return this.sendInboundMDNToMessageBox;
    }

    /**
     * The value indicating whether to send the asynchronous MDN.
     * 
     */
    @Import(name="sendMDNAsynchronously", required=true)
    private Output sendMDNAsynchronously;

    /**
     * @return The value indicating whether to send the asynchronous MDN.
     * 
     */
    public Output sendMDNAsynchronously() {
        return this.sendMDNAsynchronously;
    }

    /**
     * The value indicating whether the MDN needs to be signed or not.
     * 
     */
    @Import(name="signMDN", required=true)
    private Output signMDN;

    /**
     * @return The value indicating whether the MDN needs to be signed or not.
     * 
     */
    public Output signMDN() {
        return this.signMDN;
    }

    /**
     * The value indicating whether to sign the outbound MDN if optional.
     * 
     */
    @Import(name="signOutboundMDNIfOptional", required=true)
    private Output signOutboundMDNIfOptional;

    /**
     * @return The value indicating whether to sign the outbound MDN if optional.
     * 
     */
    public Output signOutboundMDNIfOptional() {
        return this.signOutboundMDNIfOptional;
    }

    private AS2MdnSettingsArgs() {}

    private AS2MdnSettingsArgs(AS2MdnSettingsArgs $) {
        this.dispositionNotificationTo = $.dispositionNotificationTo;
        this.mdnText = $.mdnText;
        this.micHashingAlgorithm = $.micHashingAlgorithm;
        this.needMDN = $.needMDN;
        this.receiptDeliveryUrl = $.receiptDeliveryUrl;
        this.sendInboundMDNToMessageBox = $.sendInboundMDNToMessageBox;
        this.sendMDNAsynchronously = $.sendMDNAsynchronously;
        this.signMDN = $.signMDN;
        this.signOutboundMDNIfOptional = $.signOutboundMDNIfOptional;
    }

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

    public static final class Builder {
        private AS2MdnSettingsArgs $;

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

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

        /**
         * @param dispositionNotificationTo The disposition notification to header value.
         * 
         * @return builder
         * 
         */
        public Builder dispositionNotificationTo(@Nullable Output dispositionNotificationTo) {
            $.dispositionNotificationTo = dispositionNotificationTo;
            return this;
        }

        /**
         * @param dispositionNotificationTo The disposition notification to header value.
         * 
         * @return builder
         * 
         */
        public Builder dispositionNotificationTo(String dispositionNotificationTo) {
            return dispositionNotificationTo(Output.of(dispositionNotificationTo));
        }

        /**
         * @param mdnText The MDN text.
         * 
         * @return builder
         * 
         */
        public Builder mdnText(@Nullable Output mdnText) {
            $.mdnText = mdnText;
            return this;
        }

        /**
         * @param mdnText The MDN text.
         * 
         * @return builder
         * 
         */
        public Builder mdnText(String mdnText) {
            return mdnText(Output.of(mdnText));
        }

        /**
         * @param micHashingAlgorithm The signing or hashing algorithm.
         * 
         * @return builder
         * 
         */
        public Builder micHashingAlgorithm(Output> micHashingAlgorithm) {
            $.micHashingAlgorithm = micHashingAlgorithm;
            return this;
        }

        /**
         * @param micHashingAlgorithm The signing or hashing algorithm.
         * 
         * @return builder
         * 
         */
        public Builder micHashingAlgorithm(Either micHashingAlgorithm) {
            return micHashingAlgorithm(Output.of(micHashingAlgorithm));
        }

        /**
         * @param micHashingAlgorithm The signing or hashing algorithm.
         * 
         * @return builder
         * 
         */
        public Builder micHashingAlgorithm(String micHashingAlgorithm) {
            return micHashingAlgorithm(Either.ofLeft(micHashingAlgorithm));
        }

        /**
         * @param micHashingAlgorithm The signing or hashing algorithm.
         * 
         * @return builder
         * 
         */
        public Builder micHashingAlgorithm(HashingAlgorithm micHashingAlgorithm) {
            return micHashingAlgorithm(Either.ofRight(micHashingAlgorithm));
        }

        /**
         * @param needMDN The value indicating whether to send or request a MDN.
         * 
         * @return builder
         * 
         */
        public Builder needMDN(Output needMDN) {
            $.needMDN = needMDN;
            return this;
        }

        /**
         * @param needMDN The value indicating whether to send or request a MDN.
         * 
         * @return builder
         * 
         */
        public Builder needMDN(Boolean needMDN) {
            return needMDN(Output.of(needMDN));
        }

        /**
         * @param receiptDeliveryUrl The receipt delivery URL.
         * 
         * @return builder
         * 
         */
        public Builder receiptDeliveryUrl(@Nullable Output receiptDeliveryUrl) {
            $.receiptDeliveryUrl = receiptDeliveryUrl;
            return this;
        }

        /**
         * @param receiptDeliveryUrl The receipt delivery URL.
         * 
         * @return builder
         * 
         */
        public Builder receiptDeliveryUrl(String receiptDeliveryUrl) {
            return receiptDeliveryUrl(Output.of(receiptDeliveryUrl));
        }

        /**
         * @param sendInboundMDNToMessageBox The value indicating whether to send inbound MDN to message box.
         * 
         * @return builder
         * 
         */
        public Builder sendInboundMDNToMessageBox(Output sendInboundMDNToMessageBox) {
            $.sendInboundMDNToMessageBox = sendInboundMDNToMessageBox;
            return this;
        }

        /**
         * @param sendInboundMDNToMessageBox The value indicating whether to send inbound MDN to message box.
         * 
         * @return builder
         * 
         */
        public Builder sendInboundMDNToMessageBox(Boolean sendInboundMDNToMessageBox) {
            return sendInboundMDNToMessageBox(Output.of(sendInboundMDNToMessageBox));
        }

        /**
         * @param sendMDNAsynchronously The value indicating whether to send the asynchronous MDN.
         * 
         * @return builder
         * 
         */
        public Builder sendMDNAsynchronously(Output sendMDNAsynchronously) {
            $.sendMDNAsynchronously = sendMDNAsynchronously;
            return this;
        }

        /**
         * @param sendMDNAsynchronously The value indicating whether to send the asynchronous MDN.
         * 
         * @return builder
         * 
         */
        public Builder sendMDNAsynchronously(Boolean sendMDNAsynchronously) {
            return sendMDNAsynchronously(Output.of(sendMDNAsynchronously));
        }

        /**
         * @param signMDN The value indicating whether the MDN needs to be signed or not.
         * 
         * @return builder
         * 
         */
        public Builder signMDN(Output signMDN) {
            $.signMDN = signMDN;
            return this;
        }

        /**
         * @param signMDN The value indicating whether the MDN needs to be signed or not.
         * 
         * @return builder
         * 
         */
        public Builder signMDN(Boolean signMDN) {
            return signMDN(Output.of(signMDN));
        }

        /**
         * @param signOutboundMDNIfOptional The value indicating whether to sign the outbound MDN if optional.
         * 
         * @return builder
         * 
         */
        public Builder signOutboundMDNIfOptional(Output signOutboundMDNIfOptional) {
            $.signOutboundMDNIfOptional = signOutboundMDNIfOptional;
            return this;
        }

        /**
         * @param signOutboundMDNIfOptional The value indicating whether to sign the outbound MDN if optional.
         * 
         * @return builder
         * 
         */
        public Builder signOutboundMDNIfOptional(Boolean signOutboundMDNIfOptional) {
            return signOutboundMDNIfOptional(Output.of(signOutboundMDNIfOptional));
        }

        public AS2MdnSettingsArgs build() {
            if ($.micHashingAlgorithm == null) {
                throw new MissingRequiredPropertyException("AS2MdnSettingsArgs", "micHashingAlgorithm");
            }
            if ($.needMDN == null) {
                throw new MissingRequiredPropertyException("AS2MdnSettingsArgs", "needMDN");
            }
            if ($.sendInboundMDNToMessageBox == null) {
                throw new MissingRequiredPropertyException("AS2MdnSettingsArgs", "sendInboundMDNToMessageBox");
            }
            if ($.sendMDNAsynchronously == null) {
                throw new MissingRequiredPropertyException("AS2MdnSettingsArgs", "sendMDNAsynchronously");
            }
            if ($.signMDN == null) {
                throw new MissingRequiredPropertyException("AS2MdnSettingsArgs", "signMDN");
            }
            if ($.signOutboundMDNIfOptional == null) {
                throw new MissingRequiredPropertyException("AS2MdnSettingsArgs", "signOutboundMDNIfOptional");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy