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

com.pulumi.azurenative.orbital.inputs.ContactProfileLinkArgs 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.orbital.inputs;

import com.pulumi.azurenative.orbital.enums.Direction;
import com.pulumi.azurenative.orbital.enums.Polarization;
import com.pulumi.azurenative.orbital.inputs.ContactProfileLinkChannelArgs;
import com.pulumi.core.Either;
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.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ContactProfileLinkArgs Empty = new ContactProfileLinkArgs();

    /**
     * Contact Profile Link Channel.
     * 
     */
    @Import(name="channels", required=true)
    private Output> channels;

    /**
     * @return Contact Profile Link Channel.
     * 
     */
    public Output> channels() {
        return this.channels;
    }

    /**
     * Direction (Uplink or Downlink).
     * 
     */
    @Import(name="direction", required=true)
    private Output> direction;

    /**
     * @return Direction (Uplink or Downlink).
     * 
     */
    public Output> direction() {
        return this.direction;
    }

    /**
     * Effective Isotropic Radiated Power (EIRP) in dBW. It is the required EIRP by the customer. Not used yet.
     * 
     */
    @Import(name="eirpdBW")
    private @Nullable Output eirpdBW;

    /**
     * @return Effective Isotropic Radiated Power (EIRP) in dBW. It is the required EIRP by the customer. Not used yet.
     * 
     */
    public Optional> eirpdBW() {
        return Optional.ofNullable(this.eirpdBW);
    }

    /**
     * Gain to noise temperature in db/K. It is the required G/T by the customer. Not used yet.
     * 
     */
    @Import(name="gainOverTemperature")
    private @Nullable Output gainOverTemperature;

    /**
     * @return Gain to noise temperature in db/K. It is the required G/T by the customer. Not used yet.
     * 
     */
    public Optional> gainOverTemperature() {
        return Optional.ofNullable(this.gainOverTemperature);
    }

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

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

    /**
     * Polarization. e.g. (RHCP, LHCP).
     * 
     */
    @Import(name="polarization", required=true)
    private Output> polarization;

    /**
     * @return Polarization. e.g. (RHCP, LHCP).
     * 
     */
    public Output> polarization() {
        return this.polarization;
    }

    private ContactProfileLinkArgs() {}

    private ContactProfileLinkArgs(ContactProfileLinkArgs $) {
        this.channels = $.channels;
        this.direction = $.direction;
        this.eirpdBW = $.eirpdBW;
        this.gainOverTemperature = $.gainOverTemperature;
        this.name = $.name;
        this.polarization = $.polarization;
    }

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

    public static final class Builder {
        private ContactProfileLinkArgs $;

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

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

        /**
         * @param channels Contact Profile Link Channel.
         * 
         * @return builder
         * 
         */
        public Builder channels(Output> channels) {
            $.channels = channels;
            return this;
        }

        /**
         * @param channels Contact Profile Link Channel.
         * 
         * @return builder
         * 
         */
        public Builder channels(List channels) {
            return channels(Output.of(channels));
        }

        /**
         * @param channels Contact Profile Link Channel.
         * 
         * @return builder
         * 
         */
        public Builder channels(ContactProfileLinkChannelArgs... channels) {
            return channels(List.of(channels));
        }

        /**
         * @param direction Direction (Uplink or Downlink).
         * 
         * @return builder
         * 
         */
        public Builder direction(Output> direction) {
            $.direction = direction;
            return this;
        }

        /**
         * @param direction Direction (Uplink or Downlink).
         * 
         * @return builder
         * 
         */
        public Builder direction(Either direction) {
            return direction(Output.of(direction));
        }

        /**
         * @param direction Direction (Uplink or Downlink).
         * 
         * @return builder
         * 
         */
        public Builder direction(String direction) {
            return direction(Either.ofLeft(direction));
        }

        /**
         * @param direction Direction (Uplink or Downlink).
         * 
         * @return builder
         * 
         */
        public Builder direction(Direction direction) {
            return direction(Either.ofRight(direction));
        }

        /**
         * @param eirpdBW Effective Isotropic Radiated Power (EIRP) in dBW. It is the required EIRP by the customer. Not used yet.
         * 
         * @return builder
         * 
         */
        public Builder eirpdBW(@Nullable Output eirpdBW) {
            $.eirpdBW = eirpdBW;
            return this;
        }

        /**
         * @param eirpdBW Effective Isotropic Radiated Power (EIRP) in dBW. It is the required EIRP by the customer. Not used yet.
         * 
         * @return builder
         * 
         */
        public Builder eirpdBW(Double eirpdBW) {
            return eirpdBW(Output.of(eirpdBW));
        }

        /**
         * @param gainOverTemperature Gain to noise temperature in db/K. It is the required G/T by the customer. Not used yet.
         * 
         * @return builder
         * 
         */
        public Builder gainOverTemperature(@Nullable Output gainOverTemperature) {
            $.gainOverTemperature = gainOverTemperature;
            return this;
        }

        /**
         * @param gainOverTemperature Gain to noise temperature in db/K. It is the required G/T by the customer. Not used yet.
         * 
         * @return builder
         * 
         */
        public Builder gainOverTemperature(Double gainOverTemperature) {
            return gainOverTemperature(Output.of(gainOverTemperature));
        }

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

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

        /**
         * @param polarization Polarization. e.g. (RHCP, LHCP).
         * 
         * @return builder
         * 
         */
        public Builder polarization(Output> polarization) {
            $.polarization = polarization;
            return this;
        }

        /**
         * @param polarization Polarization. e.g. (RHCP, LHCP).
         * 
         * @return builder
         * 
         */
        public Builder polarization(Either polarization) {
            return polarization(Output.of(polarization));
        }

        /**
         * @param polarization Polarization. e.g. (RHCP, LHCP).
         * 
         * @return builder
         * 
         */
        public Builder polarization(String polarization) {
            return polarization(Either.ofLeft(polarization));
        }

        /**
         * @param polarization Polarization. e.g. (RHCP, LHCP).
         * 
         * @return builder
         * 
         */
        public Builder polarization(Polarization polarization) {
            return polarization(Either.ofRight(polarization));
        }

        public ContactProfileLinkArgs build() {
            if ($.channels == null) {
                throw new MissingRequiredPropertyException("ContactProfileLinkArgs", "channels");
            }
            if ($.direction == null) {
                throw new MissingRequiredPropertyException("ContactProfileLinkArgs", "direction");
            }
            if ($.name == null) {
                throw new MissingRequiredPropertyException("ContactProfileLinkArgs", "name");
            }
            if ($.polarization == null) {
                throw new MissingRequiredPropertyException("ContactProfileLinkArgs", "polarization");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy