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

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

There is a newer version: 2.72.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.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 security settings.
 * 
 */
public final class AS2SecuritySettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final AS2SecuritySettingsArgs Empty = new AS2SecuritySettingsArgs();

    /**
     * The value indicating whether to enable NRR for inbound decoded messages.
     * 
     */
    @Import(name="enableNRRForInboundDecodedMessages", required=true)
    private Output enableNRRForInboundDecodedMessages;

    /**
     * @return The value indicating whether to enable NRR for inbound decoded messages.
     * 
     */
    public Output enableNRRForInboundDecodedMessages() {
        return this.enableNRRForInboundDecodedMessages;
    }

    /**
     * The value indicating whether to enable NRR for inbound encoded messages.
     * 
     */
    @Import(name="enableNRRForInboundEncodedMessages", required=true)
    private Output enableNRRForInboundEncodedMessages;

    /**
     * @return The value indicating whether to enable NRR for inbound encoded messages.
     * 
     */
    public Output enableNRRForInboundEncodedMessages() {
        return this.enableNRRForInboundEncodedMessages;
    }

    /**
     * The value indicating whether to enable NRR for inbound MDN.
     * 
     */
    @Import(name="enableNRRForInboundMDN", required=true)
    private Output enableNRRForInboundMDN;

    /**
     * @return The value indicating whether to enable NRR for inbound MDN.
     * 
     */
    public Output enableNRRForInboundMDN() {
        return this.enableNRRForInboundMDN;
    }

    /**
     * The value indicating whether to enable NRR for outbound decoded messages.
     * 
     */
    @Import(name="enableNRRForOutboundDecodedMessages", required=true)
    private Output enableNRRForOutboundDecodedMessages;

    /**
     * @return The value indicating whether to enable NRR for outbound decoded messages.
     * 
     */
    public Output enableNRRForOutboundDecodedMessages() {
        return this.enableNRRForOutboundDecodedMessages;
    }

    /**
     * The value indicating whether to enable NRR for outbound encoded messages.
     * 
     */
    @Import(name="enableNRRForOutboundEncodedMessages", required=true)
    private Output enableNRRForOutboundEncodedMessages;

    /**
     * @return The value indicating whether to enable NRR for outbound encoded messages.
     * 
     */
    public Output enableNRRForOutboundEncodedMessages() {
        return this.enableNRRForOutboundEncodedMessages;
    }

    /**
     * The value indicating whether to enable NRR for outbound MDN.
     * 
     */
    @Import(name="enableNRRForOutboundMDN", required=true)
    private Output enableNRRForOutboundMDN;

    /**
     * @return The value indicating whether to enable NRR for outbound MDN.
     * 
     */
    public Output enableNRRForOutboundMDN() {
        return this.enableNRRForOutboundMDN;
    }

    /**
     * The name of the encryption certificate.
     * 
     */
    @Import(name="encryptionCertificateName")
    private @Nullable Output encryptionCertificateName;

    /**
     * @return The name of the encryption certificate.
     * 
     */
    public Optional> encryptionCertificateName() {
        return Optional.ofNullable(this.encryptionCertificateName);
    }

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

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

    /**
     * The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, ShaHyphenHashSize, Sha2UnderscoreHashSize.
     * 
     */
    @Import(name="sha2AlgorithmFormat")
    private @Nullable Output sha2AlgorithmFormat;

    /**
     * @return The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, ShaHyphenHashSize, Sha2UnderscoreHashSize.
     * 
     */
    public Optional> sha2AlgorithmFormat() {
        return Optional.ofNullable(this.sha2AlgorithmFormat);
    }

    /**
     * The name of the signing certificate.
     * 
     */
    @Import(name="signingCertificateName")
    private @Nullable Output signingCertificateName;

    /**
     * @return The name of the signing certificate.
     * 
     */
    public Optional> signingCertificateName() {
        return Optional.ofNullable(this.signingCertificateName);
    }

    private AS2SecuritySettingsArgs() {}

    private AS2SecuritySettingsArgs(AS2SecuritySettingsArgs $) {
        this.enableNRRForInboundDecodedMessages = $.enableNRRForInboundDecodedMessages;
        this.enableNRRForInboundEncodedMessages = $.enableNRRForInboundEncodedMessages;
        this.enableNRRForInboundMDN = $.enableNRRForInboundMDN;
        this.enableNRRForOutboundDecodedMessages = $.enableNRRForOutboundDecodedMessages;
        this.enableNRRForOutboundEncodedMessages = $.enableNRRForOutboundEncodedMessages;
        this.enableNRRForOutboundMDN = $.enableNRRForOutboundMDN;
        this.encryptionCertificateName = $.encryptionCertificateName;
        this.overrideGroupSigningCertificate = $.overrideGroupSigningCertificate;
        this.sha2AlgorithmFormat = $.sha2AlgorithmFormat;
        this.signingCertificateName = $.signingCertificateName;
    }

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

    public static final class Builder {
        private AS2SecuritySettingsArgs $;

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

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

        /**
         * @param enableNRRForInboundDecodedMessages The value indicating whether to enable NRR for inbound decoded messages.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForInboundDecodedMessages(Output enableNRRForInboundDecodedMessages) {
            $.enableNRRForInboundDecodedMessages = enableNRRForInboundDecodedMessages;
            return this;
        }

        /**
         * @param enableNRRForInboundDecodedMessages The value indicating whether to enable NRR for inbound decoded messages.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForInboundDecodedMessages(Boolean enableNRRForInboundDecodedMessages) {
            return enableNRRForInboundDecodedMessages(Output.of(enableNRRForInboundDecodedMessages));
        }

        /**
         * @param enableNRRForInboundEncodedMessages The value indicating whether to enable NRR for inbound encoded messages.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForInboundEncodedMessages(Output enableNRRForInboundEncodedMessages) {
            $.enableNRRForInboundEncodedMessages = enableNRRForInboundEncodedMessages;
            return this;
        }

        /**
         * @param enableNRRForInboundEncodedMessages The value indicating whether to enable NRR for inbound encoded messages.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForInboundEncodedMessages(Boolean enableNRRForInboundEncodedMessages) {
            return enableNRRForInboundEncodedMessages(Output.of(enableNRRForInboundEncodedMessages));
        }

        /**
         * @param enableNRRForInboundMDN The value indicating whether to enable NRR for inbound MDN.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForInboundMDN(Output enableNRRForInboundMDN) {
            $.enableNRRForInboundMDN = enableNRRForInboundMDN;
            return this;
        }

        /**
         * @param enableNRRForInboundMDN The value indicating whether to enable NRR for inbound MDN.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForInboundMDN(Boolean enableNRRForInboundMDN) {
            return enableNRRForInboundMDN(Output.of(enableNRRForInboundMDN));
        }

        /**
         * @param enableNRRForOutboundDecodedMessages The value indicating whether to enable NRR for outbound decoded messages.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForOutboundDecodedMessages(Output enableNRRForOutboundDecodedMessages) {
            $.enableNRRForOutboundDecodedMessages = enableNRRForOutboundDecodedMessages;
            return this;
        }

        /**
         * @param enableNRRForOutboundDecodedMessages The value indicating whether to enable NRR for outbound decoded messages.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForOutboundDecodedMessages(Boolean enableNRRForOutboundDecodedMessages) {
            return enableNRRForOutboundDecodedMessages(Output.of(enableNRRForOutboundDecodedMessages));
        }

        /**
         * @param enableNRRForOutboundEncodedMessages The value indicating whether to enable NRR for outbound encoded messages.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForOutboundEncodedMessages(Output enableNRRForOutboundEncodedMessages) {
            $.enableNRRForOutboundEncodedMessages = enableNRRForOutboundEncodedMessages;
            return this;
        }

        /**
         * @param enableNRRForOutboundEncodedMessages The value indicating whether to enable NRR for outbound encoded messages.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForOutboundEncodedMessages(Boolean enableNRRForOutboundEncodedMessages) {
            return enableNRRForOutboundEncodedMessages(Output.of(enableNRRForOutboundEncodedMessages));
        }

        /**
         * @param enableNRRForOutboundMDN The value indicating whether to enable NRR for outbound MDN.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForOutboundMDN(Output enableNRRForOutboundMDN) {
            $.enableNRRForOutboundMDN = enableNRRForOutboundMDN;
            return this;
        }

        /**
         * @param enableNRRForOutboundMDN The value indicating whether to enable NRR for outbound MDN.
         * 
         * @return builder
         * 
         */
        public Builder enableNRRForOutboundMDN(Boolean enableNRRForOutboundMDN) {
            return enableNRRForOutboundMDN(Output.of(enableNRRForOutboundMDN));
        }

        /**
         * @param encryptionCertificateName The name of the encryption certificate.
         * 
         * @return builder
         * 
         */
        public Builder encryptionCertificateName(@Nullable Output encryptionCertificateName) {
            $.encryptionCertificateName = encryptionCertificateName;
            return this;
        }

        /**
         * @param encryptionCertificateName The name of the encryption certificate.
         * 
         * @return builder
         * 
         */
        public Builder encryptionCertificateName(String encryptionCertificateName) {
            return encryptionCertificateName(Output.of(encryptionCertificateName));
        }

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

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

        /**
         * @param sha2AlgorithmFormat The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, ShaHyphenHashSize, Sha2UnderscoreHashSize.
         * 
         * @return builder
         * 
         */
        public Builder sha2AlgorithmFormat(@Nullable Output sha2AlgorithmFormat) {
            $.sha2AlgorithmFormat = sha2AlgorithmFormat;
            return this;
        }

        /**
         * @param sha2AlgorithmFormat The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, ShaHyphenHashSize, Sha2UnderscoreHashSize.
         * 
         * @return builder
         * 
         */
        public Builder sha2AlgorithmFormat(String sha2AlgorithmFormat) {
            return sha2AlgorithmFormat(Output.of(sha2AlgorithmFormat));
        }

        /**
         * @param signingCertificateName The name of the signing certificate.
         * 
         * @return builder
         * 
         */
        public Builder signingCertificateName(@Nullable Output signingCertificateName) {
            $.signingCertificateName = signingCertificateName;
            return this;
        }

        /**
         * @param signingCertificateName The name of the signing certificate.
         * 
         * @return builder
         * 
         */
        public Builder signingCertificateName(String signingCertificateName) {
            return signingCertificateName(Output.of(signingCertificateName));
        }

        public AS2SecuritySettingsArgs build() {
            if ($.enableNRRForInboundDecodedMessages == null) {
                throw new MissingRequiredPropertyException("AS2SecuritySettingsArgs", "enableNRRForInboundDecodedMessages");
            }
            if ($.enableNRRForInboundEncodedMessages == null) {
                throw new MissingRequiredPropertyException("AS2SecuritySettingsArgs", "enableNRRForInboundEncodedMessages");
            }
            if ($.enableNRRForInboundMDN == null) {
                throw new MissingRequiredPropertyException("AS2SecuritySettingsArgs", "enableNRRForInboundMDN");
            }
            if ($.enableNRRForOutboundDecodedMessages == null) {
                throw new MissingRequiredPropertyException("AS2SecuritySettingsArgs", "enableNRRForOutboundDecodedMessages");
            }
            if ($.enableNRRForOutboundEncodedMessages == null) {
                throw new MissingRequiredPropertyException("AS2SecuritySettingsArgs", "enableNRRForOutboundEncodedMessages");
            }
            if ($.enableNRRForOutboundMDN == null) {
                throw new MissingRequiredPropertyException("AS2SecuritySettingsArgs", "enableNRRForOutboundMDN");
            }
            if ($.overrideGroupSigningCertificate == null) {
                throw new MissingRequiredPropertyException("AS2SecuritySettingsArgs", "overrideGroupSigningCertificate");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy