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

com.pulumi.azurenative.logic.inputs.EdifactFramingSettingsArgs 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.EdifactCharacterSet;
import com.pulumi.azurenative.logic.enums.EdifactDecimalIndicator;
import com.pulumi.azurenative.logic.enums.SegmentTerminatorSuffix;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The Edifact agreement framing settings.
 * 
 */
public final class EdifactFramingSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final EdifactFramingSettingsArgs Empty = new EdifactFramingSettingsArgs();

    /**
     * The character encoding.
     * 
     */
    @Import(name="characterEncoding")
    private @Nullable Output characterEncoding;

    /**
     * @return The character encoding.
     * 
     */
    public Optional> characterEncoding() {
        return Optional.ofNullable(this.characterEncoding);
    }

    /**
     * The EDIFACT frame setting characterSet.
     * 
     */
    @Import(name="characterSet", required=true)
    private Output> characterSet;

    /**
     * @return The EDIFACT frame setting characterSet.
     * 
     */
    public Output> characterSet() {
        return this.characterSet;
    }

    /**
     * The component separator.
     * 
     */
    @Import(name="componentSeparator", required=true)
    private Output componentSeparator;

    /**
     * @return The component separator.
     * 
     */
    public Output componentSeparator() {
        return this.componentSeparator;
    }

    /**
     * The data element separator.
     * 
     */
    @Import(name="dataElementSeparator", required=true)
    private Output dataElementSeparator;

    /**
     * @return The data element separator.
     * 
     */
    public Output dataElementSeparator() {
        return this.dataElementSeparator;
    }

    /**
     * The EDIFACT frame setting decimal indicator.
     * 
     */
    @Import(name="decimalPointIndicator", required=true)
    private Output decimalPointIndicator;

    /**
     * @return The EDIFACT frame setting decimal indicator.
     * 
     */
    public Output decimalPointIndicator() {
        return this.decimalPointIndicator;
    }

    /**
     * The protocol version.
     * 
     */
    @Import(name="protocolVersion", required=true)
    private Output protocolVersion;

    /**
     * @return The protocol version.
     * 
     */
    public Output protocolVersion() {
        return this.protocolVersion;
    }

    /**
     * The release indicator.
     * 
     */
    @Import(name="releaseIndicator", required=true)
    private Output releaseIndicator;

    /**
     * @return The release indicator.
     * 
     */
    public Output releaseIndicator() {
        return this.releaseIndicator;
    }

    /**
     * The repetition separator.
     * 
     */
    @Import(name="repetitionSeparator", required=true)
    private Output repetitionSeparator;

    /**
     * @return The repetition separator.
     * 
     */
    public Output repetitionSeparator() {
        return this.repetitionSeparator;
    }

    /**
     * The segment terminator.
     * 
     */
    @Import(name="segmentTerminator", required=true)
    private Output segmentTerminator;

    /**
     * @return The segment terminator.
     * 
     */
    public Output segmentTerminator() {
        return this.segmentTerminator;
    }

    /**
     * The EDIFACT frame setting segment terminator suffix.
     * 
     */
    @Import(name="segmentTerminatorSuffix", required=true)
    private Output segmentTerminatorSuffix;

    /**
     * @return The EDIFACT frame setting segment terminator suffix.
     * 
     */
    public Output segmentTerminatorSuffix() {
        return this.segmentTerminatorSuffix;
    }

    /**
     * The service code list directory version.
     * 
     */
    @Import(name="serviceCodeListDirectoryVersion")
    private @Nullable Output serviceCodeListDirectoryVersion;

    /**
     * @return The service code list directory version.
     * 
     */
    public Optional> serviceCodeListDirectoryVersion() {
        return Optional.ofNullable(this.serviceCodeListDirectoryVersion);
    }

    private EdifactFramingSettingsArgs() {}

    private EdifactFramingSettingsArgs(EdifactFramingSettingsArgs $) {
        this.characterEncoding = $.characterEncoding;
        this.characterSet = $.characterSet;
        this.componentSeparator = $.componentSeparator;
        this.dataElementSeparator = $.dataElementSeparator;
        this.decimalPointIndicator = $.decimalPointIndicator;
        this.protocolVersion = $.protocolVersion;
        this.releaseIndicator = $.releaseIndicator;
        this.repetitionSeparator = $.repetitionSeparator;
        this.segmentTerminator = $.segmentTerminator;
        this.segmentTerminatorSuffix = $.segmentTerminatorSuffix;
        this.serviceCodeListDirectoryVersion = $.serviceCodeListDirectoryVersion;
    }

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

    public static final class Builder {
        private EdifactFramingSettingsArgs $;

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

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

        /**
         * @param characterEncoding The character encoding.
         * 
         * @return builder
         * 
         */
        public Builder characterEncoding(@Nullable Output characterEncoding) {
            $.characterEncoding = characterEncoding;
            return this;
        }

        /**
         * @param characterEncoding The character encoding.
         * 
         * @return builder
         * 
         */
        public Builder characterEncoding(String characterEncoding) {
            return characterEncoding(Output.of(characterEncoding));
        }

        /**
         * @param characterSet The EDIFACT frame setting characterSet.
         * 
         * @return builder
         * 
         */
        public Builder characterSet(Output> characterSet) {
            $.characterSet = characterSet;
            return this;
        }

        /**
         * @param characterSet The EDIFACT frame setting characterSet.
         * 
         * @return builder
         * 
         */
        public Builder characterSet(Either characterSet) {
            return characterSet(Output.of(characterSet));
        }

        /**
         * @param characterSet The EDIFACT frame setting characterSet.
         * 
         * @return builder
         * 
         */
        public Builder characterSet(String characterSet) {
            return characterSet(Either.ofLeft(characterSet));
        }

        /**
         * @param characterSet The EDIFACT frame setting characterSet.
         * 
         * @return builder
         * 
         */
        public Builder characterSet(EdifactCharacterSet characterSet) {
            return characterSet(Either.ofRight(characterSet));
        }

        /**
         * @param componentSeparator The component separator.
         * 
         * @return builder
         * 
         */
        public Builder componentSeparator(Output componentSeparator) {
            $.componentSeparator = componentSeparator;
            return this;
        }

        /**
         * @param componentSeparator The component separator.
         * 
         * @return builder
         * 
         */
        public Builder componentSeparator(Integer componentSeparator) {
            return componentSeparator(Output.of(componentSeparator));
        }

        /**
         * @param dataElementSeparator The data element separator.
         * 
         * @return builder
         * 
         */
        public Builder dataElementSeparator(Output dataElementSeparator) {
            $.dataElementSeparator = dataElementSeparator;
            return this;
        }

        /**
         * @param dataElementSeparator The data element separator.
         * 
         * @return builder
         * 
         */
        public Builder dataElementSeparator(Integer dataElementSeparator) {
            return dataElementSeparator(Output.of(dataElementSeparator));
        }

        /**
         * @param decimalPointIndicator The EDIFACT frame setting decimal indicator.
         * 
         * @return builder
         * 
         */
        public Builder decimalPointIndicator(Output decimalPointIndicator) {
            $.decimalPointIndicator = decimalPointIndicator;
            return this;
        }

        /**
         * @param decimalPointIndicator The EDIFACT frame setting decimal indicator.
         * 
         * @return builder
         * 
         */
        public Builder decimalPointIndicator(EdifactDecimalIndicator decimalPointIndicator) {
            return decimalPointIndicator(Output.of(decimalPointIndicator));
        }

        /**
         * @param protocolVersion The protocol version.
         * 
         * @return builder
         * 
         */
        public Builder protocolVersion(Output protocolVersion) {
            $.protocolVersion = protocolVersion;
            return this;
        }

        /**
         * @param protocolVersion The protocol version.
         * 
         * @return builder
         * 
         */
        public Builder protocolVersion(Integer protocolVersion) {
            return protocolVersion(Output.of(protocolVersion));
        }

        /**
         * @param releaseIndicator The release indicator.
         * 
         * @return builder
         * 
         */
        public Builder releaseIndicator(Output releaseIndicator) {
            $.releaseIndicator = releaseIndicator;
            return this;
        }

        /**
         * @param releaseIndicator The release indicator.
         * 
         * @return builder
         * 
         */
        public Builder releaseIndicator(Integer releaseIndicator) {
            return releaseIndicator(Output.of(releaseIndicator));
        }

        /**
         * @param repetitionSeparator The repetition separator.
         * 
         * @return builder
         * 
         */
        public Builder repetitionSeparator(Output repetitionSeparator) {
            $.repetitionSeparator = repetitionSeparator;
            return this;
        }

        /**
         * @param repetitionSeparator The repetition separator.
         * 
         * @return builder
         * 
         */
        public Builder repetitionSeparator(Integer repetitionSeparator) {
            return repetitionSeparator(Output.of(repetitionSeparator));
        }

        /**
         * @param segmentTerminator The segment terminator.
         * 
         * @return builder
         * 
         */
        public Builder segmentTerminator(Output segmentTerminator) {
            $.segmentTerminator = segmentTerminator;
            return this;
        }

        /**
         * @param segmentTerminator The segment terminator.
         * 
         * @return builder
         * 
         */
        public Builder segmentTerminator(Integer segmentTerminator) {
            return segmentTerminator(Output.of(segmentTerminator));
        }

        /**
         * @param segmentTerminatorSuffix The EDIFACT frame setting segment terminator suffix.
         * 
         * @return builder
         * 
         */
        public Builder segmentTerminatorSuffix(Output segmentTerminatorSuffix) {
            $.segmentTerminatorSuffix = segmentTerminatorSuffix;
            return this;
        }

        /**
         * @param segmentTerminatorSuffix The EDIFACT frame setting segment terminator suffix.
         * 
         * @return builder
         * 
         */
        public Builder segmentTerminatorSuffix(SegmentTerminatorSuffix segmentTerminatorSuffix) {
            return segmentTerminatorSuffix(Output.of(segmentTerminatorSuffix));
        }

        /**
         * @param serviceCodeListDirectoryVersion The service code list directory version.
         * 
         * @return builder
         * 
         */
        public Builder serviceCodeListDirectoryVersion(@Nullable Output serviceCodeListDirectoryVersion) {
            $.serviceCodeListDirectoryVersion = serviceCodeListDirectoryVersion;
            return this;
        }

        /**
         * @param serviceCodeListDirectoryVersion The service code list directory version.
         * 
         * @return builder
         * 
         */
        public Builder serviceCodeListDirectoryVersion(String serviceCodeListDirectoryVersion) {
            return serviceCodeListDirectoryVersion(Output.of(serviceCodeListDirectoryVersion));
        }

        public EdifactFramingSettingsArgs build() {
            if ($.characterSet == null) {
                throw new MissingRequiredPropertyException("EdifactFramingSettingsArgs", "characterSet");
            }
            if ($.componentSeparator == null) {
                throw new MissingRequiredPropertyException("EdifactFramingSettingsArgs", "componentSeparator");
            }
            if ($.dataElementSeparator == null) {
                throw new MissingRequiredPropertyException("EdifactFramingSettingsArgs", "dataElementSeparator");
            }
            if ($.decimalPointIndicator == null) {
                throw new MissingRequiredPropertyException("EdifactFramingSettingsArgs", "decimalPointIndicator");
            }
            if ($.protocolVersion == null) {
                throw new MissingRequiredPropertyException("EdifactFramingSettingsArgs", "protocolVersion");
            }
            if ($.releaseIndicator == null) {
                throw new MissingRequiredPropertyException("EdifactFramingSettingsArgs", "releaseIndicator");
            }
            if ($.repetitionSeparator == null) {
                throw new MissingRequiredPropertyException("EdifactFramingSettingsArgs", "repetitionSeparator");
            }
            if ($.segmentTerminator == null) {
                throw new MissingRequiredPropertyException("EdifactFramingSettingsArgs", "segmentTerminator");
            }
            if ($.segmentTerminatorSuffix == null) {
                throw new MissingRequiredPropertyException("EdifactFramingSettingsArgs", "segmentTerminatorSuffix");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy