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

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

import com.pulumi.azurenative.orbital.enums.AutoTrackingConfiguration;
import com.pulumi.azurenative.orbital.inputs.ContactProfileLinkArgs;
import com.pulumi.azurenative.orbital.inputs.ContactProfileThirdPartyConfigurationArgs;
import com.pulumi.azurenative.orbital.inputs.ContactProfilesPropertiesNetworkConfigurationArgs;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ContactProfileArgs extends com.pulumi.resources.ResourceArgs {

    public static final ContactProfileArgs Empty = new ContactProfileArgs();

    /**
     * Auto-tracking configuration.
     * 
     */
    @Import(name="autoTrackingConfiguration")
    private @Nullable Output autoTrackingConfiguration;

    /**
     * @return Auto-tracking configuration.
     * 
     */
    public Optional> autoTrackingConfiguration() {
        return Optional.ofNullable(this.autoTrackingConfiguration);
    }

    /**
     * Contact Profile name.
     * 
     */
    @Import(name="contactProfileName")
    private @Nullable Output contactProfileName;

    /**
     * @return Contact Profile name.
     * 
     */
    public Optional> contactProfileName() {
        return Optional.ofNullable(this.contactProfileName);
    }

    /**
     * ARM resource identifier of the Event Hub used for telemetry. Requires granting Orbital Resource Provider the rights to send telemetry into the hub.
     * 
     */
    @Import(name="eventHubUri")
    private @Nullable Output eventHubUri;

    /**
     * @return ARM resource identifier of the Event Hub used for telemetry. Requires granting Orbital Resource Provider the rights to send telemetry into the hub.
     * 
     */
    public Optional> eventHubUri() {
        return Optional.ofNullable(this.eventHubUri);
    }

    /**
     * Links of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
     * 
     */
    @Import(name="links", required=true)
    private Output> links;

    /**
     * @return Links of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
     * 
     */
    public Output> links() {
        return this.links;
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Minimum viable elevation for the contact in decimal degrees. Used for listing the available contacts with a spacecraft at a given ground station.
     * 
     */
    @Import(name="minimumElevationDegrees")
    private @Nullable Output minimumElevationDegrees;

    /**
     * @return Minimum viable elevation for the contact in decimal degrees. Used for listing the available contacts with a spacecraft at a given ground station.
     * 
     */
    public Optional> minimumElevationDegrees() {
        return Optional.ofNullable(this.minimumElevationDegrees);
    }

    /**
     * Minimum viable contact duration in ISO 8601 format. Used for listing the available contacts with a spacecraft at a given ground station.
     * 
     */
    @Import(name="minimumViableContactDuration")
    private @Nullable Output minimumViableContactDuration;

    /**
     * @return Minimum viable contact duration in ISO 8601 format. Used for listing the available contacts with a spacecraft at a given ground station.
     * 
     */
    public Optional> minimumViableContactDuration() {
        return Optional.ofNullable(this.minimumViableContactDuration);
    }

    /**
     * Network configuration of customer virtual network.
     * 
     */
    @Import(name="networkConfiguration", required=true)
    private Output networkConfiguration;

    /**
     * @return Network configuration of customer virtual network.
     * 
     */
    public Output networkConfiguration() {
        return this.networkConfiguration;
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Third-party mission configuration of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
     * 
     */
    @Import(name="thirdPartyConfigurations")
    private @Nullable Output> thirdPartyConfigurations;

    /**
     * @return Third-party mission configuration of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
     * 
     */
    public Optional>> thirdPartyConfigurations() {
        return Optional.ofNullable(this.thirdPartyConfigurations);
    }

    private ContactProfileArgs() {}

    private ContactProfileArgs(ContactProfileArgs $) {
        this.autoTrackingConfiguration = $.autoTrackingConfiguration;
        this.contactProfileName = $.contactProfileName;
        this.eventHubUri = $.eventHubUri;
        this.links = $.links;
        this.location = $.location;
        this.minimumElevationDegrees = $.minimumElevationDegrees;
        this.minimumViableContactDuration = $.minimumViableContactDuration;
        this.networkConfiguration = $.networkConfiguration;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
        this.thirdPartyConfigurations = $.thirdPartyConfigurations;
    }

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

    public static final class Builder {
        private ContactProfileArgs $;

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

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

        /**
         * @param autoTrackingConfiguration Auto-tracking configuration.
         * 
         * @return builder
         * 
         */
        public Builder autoTrackingConfiguration(@Nullable Output autoTrackingConfiguration) {
            $.autoTrackingConfiguration = autoTrackingConfiguration;
            return this;
        }

        /**
         * @param autoTrackingConfiguration Auto-tracking configuration.
         * 
         * @return builder
         * 
         */
        public Builder autoTrackingConfiguration(AutoTrackingConfiguration autoTrackingConfiguration) {
            return autoTrackingConfiguration(Output.of(autoTrackingConfiguration));
        }

        /**
         * @param contactProfileName Contact Profile name.
         * 
         * @return builder
         * 
         */
        public Builder contactProfileName(@Nullable Output contactProfileName) {
            $.contactProfileName = contactProfileName;
            return this;
        }

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

        /**
         * @param eventHubUri ARM resource identifier of the Event Hub used for telemetry. Requires granting Orbital Resource Provider the rights to send telemetry into the hub.
         * 
         * @return builder
         * 
         */
        public Builder eventHubUri(@Nullable Output eventHubUri) {
            $.eventHubUri = eventHubUri;
            return this;
        }

        /**
         * @param eventHubUri ARM resource identifier of the Event Hub used for telemetry. Requires granting Orbital Resource Provider the rights to send telemetry into the hub.
         * 
         * @return builder
         * 
         */
        public Builder eventHubUri(String eventHubUri) {
            return eventHubUri(Output.of(eventHubUri));
        }

        /**
         * @param links Links of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
         * 
         * @return builder
         * 
         */
        public Builder links(Output> links) {
            $.links = links;
            return this;
        }

        /**
         * @param links Links of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
         * 
         * @return builder
         * 
         */
        public Builder links(List links) {
            return links(Output.of(links));
        }

        /**
         * @param links Links of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
         * 
         * @return builder
         * 
         */
        public Builder links(ContactProfileLinkArgs... links) {
            return links(List.of(links));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param minimumElevationDegrees Minimum viable elevation for the contact in decimal degrees. Used for listing the available contacts with a spacecraft at a given ground station.
         * 
         * @return builder
         * 
         */
        public Builder minimumElevationDegrees(@Nullable Output minimumElevationDegrees) {
            $.minimumElevationDegrees = minimumElevationDegrees;
            return this;
        }

        /**
         * @param minimumElevationDegrees Minimum viable elevation for the contact in decimal degrees. Used for listing the available contacts with a spacecraft at a given ground station.
         * 
         * @return builder
         * 
         */
        public Builder minimumElevationDegrees(Double minimumElevationDegrees) {
            return minimumElevationDegrees(Output.of(minimumElevationDegrees));
        }

        /**
         * @param minimumViableContactDuration Minimum viable contact duration in ISO 8601 format. Used for listing the available contacts with a spacecraft at a given ground station.
         * 
         * @return builder
         * 
         */
        public Builder minimumViableContactDuration(@Nullable Output minimumViableContactDuration) {
            $.minimumViableContactDuration = minimumViableContactDuration;
            return this;
        }

        /**
         * @param minimumViableContactDuration Minimum viable contact duration in ISO 8601 format. Used for listing the available contacts with a spacecraft at a given ground station.
         * 
         * @return builder
         * 
         */
        public Builder minimumViableContactDuration(String minimumViableContactDuration) {
            return minimumViableContactDuration(Output.of(minimumViableContactDuration));
        }

        /**
         * @param networkConfiguration Network configuration of customer virtual network.
         * 
         * @return builder
         * 
         */
        public Builder networkConfiguration(Output networkConfiguration) {
            $.networkConfiguration = networkConfiguration;
            return this;
        }

        /**
         * @param networkConfiguration Network configuration of customer virtual network.
         * 
         * @return builder
         * 
         */
        public Builder networkConfiguration(ContactProfilesPropertiesNetworkConfigurationArgs networkConfiguration) {
            return networkConfiguration(Output.of(networkConfiguration));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param thirdPartyConfigurations Third-party mission configuration of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
         * 
         * @return builder
         * 
         */
        public Builder thirdPartyConfigurations(@Nullable Output> thirdPartyConfigurations) {
            $.thirdPartyConfigurations = thirdPartyConfigurations;
            return this;
        }

        /**
         * @param thirdPartyConfigurations Third-party mission configuration of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
         * 
         * @return builder
         * 
         */
        public Builder thirdPartyConfigurations(List thirdPartyConfigurations) {
            return thirdPartyConfigurations(Output.of(thirdPartyConfigurations));
        }

        /**
         * @param thirdPartyConfigurations Third-party mission configuration of the Contact Profile. Describes RF links, modem processing, and IP endpoints.
         * 
         * @return builder
         * 
         */
        public Builder thirdPartyConfigurations(ContactProfileThirdPartyConfigurationArgs... thirdPartyConfigurations) {
            return thirdPartyConfigurations(List.of(thirdPartyConfigurations));
        }

        public ContactProfileArgs build() {
            if ($.links == null) {
                throw new MissingRequiredPropertyException("ContactProfileArgs", "links");
            }
            if ($.networkConfiguration == null) {
                throw new MissingRequiredPropertyException("ContactProfileArgs", "networkConfiguration");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ContactProfileArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy