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

com.pulumi.azurenative.orbital.inputs.ContactProfileLinkChannelArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.orbital.inputs;

import com.pulumi.azurenative.orbital.inputs.EndPointArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Contact Profile Link Channel.
 * 
 */
public final class ContactProfileLinkChannelArgs extends com.pulumi.resources.ResourceArgs {

    public static final ContactProfileLinkChannelArgs Empty = new ContactProfileLinkChannelArgs();

    /**
     * Bandwidth in MHz.
     * 
     */
    @Import(name="bandwidthMHz", required=true)
    private Output bandwidthMHz;

    /**
     * @return Bandwidth in MHz.
     * 
     */
    public Output bandwidthMHz() {
        return this.bandwidthMHz;
    }

    /**
     * Center Frequency in MHz.
     * 
     */
    @Import(name="centerFrequencyMHz", required=true)
    private Output centerFrequencyMHz;

    /**
     * @return Center Frequency in MHz.
     * 
     */
    public Output centerFrequencyMHz() {
        return this.centerFrequencyMHz;
    }

    /**
     * Currently unused.
     * 
     */
    @Import(name="decodingConfiguration")
    private @Nullable Output decodingConfiguration;

    /**
     * @return Currently unused.
     * 
     */
    public Optional> decodingConfiguration() {
        return Optional.ofNullable(this.decodingConfiguration);
    }

    /**
     * Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.
     * 
     */
    @Import(name="demodulationConfiguration")
    private @Nullable Output demodulationConfiguration;

    /**
     * @return Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.
     * 
     */
    public Optional> demodulationConfiguration() {
        return Optional.ofNullable(this.demodulationConfiguration);
    }

    /**
     * Currently unused.
     * 
     */
    @Import(name="encodingConfiguration")
    private @Nullable Output encodingConfiguration;

    /**
     * @return Currently unused.
     * 
     */
    public Optional> encodingConfiguration() {
        return Optional.ofNullable(this.encodingConfiguration);
    }

    /**
     * Customer end point to store and retrieve data during a contact with the spacecraft.
     * 
     */
    @Import(name="endPoint", required=true)
    private Output endPoint;

    /**
     * @return Customer end point to store and retrieve data during a contact with the spacecraft.
     * 
     */
    public Output endPoint() {
        return this.endPoint;
    }

    /**
     * Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.
     * 
     */
    @Import(name="modulationConfiguration")
    private @Nullable Output modulationConfiguration;

    /**
     * @return Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.
     * 
     */
    public Optional> modulationConfiguration() {
        return Optional.ofNullable(this.modulationConfiguration);
    }

    /**
     * Channel name.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return Channel name.
     * 
     */
    public Output name() {
        return this.name;
    }

    private ContactProfileLinkChannelArgs() {}

    private ContactProfileLinkChannelArgs(ContactProfileLinkChannelArgs $) {
        this.bandwidthMHz = $.bandwidthMHz;
        this.centerFrequencyMHz = $.centerFrequencyMHz;
        this.decodingConfiguration = $.decodingConfiguration;
        this.demodulationConfiguration = $.demodulationConfiguration;
        this.encodingConfiguration = $.encodingConfiguration;
        this.endPoint = $.endPoint;
        this.modulationConfiguration = $.modulationConfiguration;
        this.name = $.name;
    }

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

    public static final class Builder {
        private ContactProfileLinkChannelArgs $;

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

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

        /**
         * @param bandwidthMHz Bandwidth in MHz.
         * 
         * @return builder
         * 
         */
        public Builder bandwidthMHz(Output bandwidthMHz) {
            $.bandwidthMHz = bandwidthMHz;
            return this;
        }

        /**
         * @param bandwidthMHz Bandwidth in MHz.
         * 
         * @return builder
         * 
         */
        public Builder bandwidthMHz(Double bandwidthMHz) {
            return bandwidthMHz(Output.of(bandwidthMHz));
        }

        /**
         * @param centerFrequencyMHz Center Frequency in MHz.
         * 
         * @return builder
         * 
         */
        public Builder centerFrequencyMHz(Output centerFrequencyMHz) {
            $.centerFrequencyMHz = centerFrequencyMHz;
            return this;
        }

        /**
         * @param centerFrequencyMHz Center Frequency in MHz.
         * 
         * @return builder
         * 
         */
        public Builder centerFrequencyMHz(Double centerFrequencyMHz) {
            return centerFrequencyMHz(Output.of(centerFrequencyMHz));
        }

        /**
         * @param decodingConfiguration Currently unused.
         * 
         * @return builder
         * 
         */
        public Builder decodingConfiguration(@Nullable Output decodingConfiguration) {
            $.decodingConfiguration = decodingConfiguration;
            return this;
        }

        /**
         * @param decodingConfiguration Currently unused.
         * 
         * @return builder
         * 
         */
        public Builder decodingConfiguration(String decodingConfiguration) {
            return decodingConfiguration(Output.of(decodingConfiguration));
        }

        /**
         * @param demodulationConfiguration Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.
         * 
         * @return builder
         * 
         */
        public Builder demodulationConfiguration(@Nullable Output demodulationConfiguration) {
            $.demodulationConfiguration = demodulationConfiguration;
            return this;
        }

        /**
         * @param demodulationConfiguration Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.
         * 
         * @return builder
         * 
         */
        public Builder demodulationConfiguration(String demodulationConfiguration) {
            return demodulationConfiguration(Output.of(demodulationConfiguration));
        }

        /**
         * @param encodingConfiguration Currently unused.
         * 
         * @return builder
         * 
         */
        public Builder encodingConfiguration(@Nullable Output encodingConfiguration) {
            $.encodingConfiguration = encodingConfiguration;
            return this;
        }

        /**
         * @param encodingConfiguration Currently unused.
         * 
         * @return builder
         * 
         */
        public Builder encodingConfiguration(String encodingConfiguration) {
            return encodingConfiguration(Output.of(encodingConfiguration));
        }

        /**
         * @param endPoint Customer end point to store and retrieve data during a contact with the spacecraft.
         * 
         * @return builder
         * 
         */
        public Builder endPoint(Output endPoint) {
            $.endPoint = endPoint;
            return this;
        }

        /**
         * @param endPoint Customer end point to store and retrieve data during a contact with the spacecraft.
         * 
         * @return builder
         * 
         */
        public Builder endPoint(EndPointArgs endPoint) {
            return endPoint(Output.of(endPoint));
        }

        /**
         * @param modulationConfiguration Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.
         * 
         * @return builder
         * 
         */
        public Builder modulationConfiguration(@Nullable Output modulationConfiguration) {
            $.modulationConfiguration = modulationConfiguration;
            return this;
        }

        /**
         * @param modulationConfiguration Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.
         * 
         * @return builder
         * 
         */
        public Builder modulationConfiguration(String modulationConfiguration) {
            return modulationConfiguration(Output.of(modulationConfiguration));
        }

        /**
         * @param name Channel name.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Channel name.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        public ContactProfileLinkChannelArgs build() {
            if ($.bandwidthMHz == null) {
                throw new MissingRequiredPropertyException("ContactProfileLinkChannelArgs", "bandwidthMHz");
            }
            if ($.centerFrequencyMHz == null) {
                throw new MissingRequiredPropertyException("ContactProfileLinkChannelArgs", "centerFrequencyMHz");
            }
            if ($.endPoint == null) {
                throw new MissingRequiredPropertyException("ContactProfileLinkChannelArgs", "endPoint");
            }
            if ($.name == null) {
                throw new MissingRequiredPropertyException("ContactProfileLinkChannelArgs", "name");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy