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

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

import com.pulumi.azurenative.orbital.inputs.SpacecraftLinkArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 SpacecraftArgs extends com.pulumi.resources.ResourceArgs {

    public static final SpacecraftArgs Empty = new SpacecraftArgs();

    /**
     * Immutable list of Spacecraft links.
     * 
     */
    @Import(name="links", required=true)
    private Output> links;

    /**
     * @return Immutable list of Spacecraft links.
     * 
     */
    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);
    }

    /**
     * NORAD ID of the spacecraft.
     * 
     */
    @Import(name="noradId")
    private @Nullable Output noradId;

    /**
     * @return NORAD ID of the spacecraft.
     * 
     */
    public Optional> noradId() {
        return Optional.ofNullable(this.noradId);
    }

    /**
     * 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;
    }

    /**
     * Spacecraft ID.
     * 
     */
    @Import(name="spacecraftName")
    private @Nullable Output spacecraftName;

    /**
     * @return Spacecraft ID.
     * 
     */
    public Optional> spacecraftName() {
        return Optional.ofNullable(this.spacecraftName);
    }

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

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

    /**
     * Title line of the two-line element set (TLE).
     * 
     */
    @Import(name="titleLine", required=true)
    private Output titleLine;

    /**
     * @return Title line of the two-line element set (TLE).
     * 
     */
    public Output titleLine() {
        return this.titleLine;
    }

    /**
     * Line 1 of the two-line element set (TLE).
     * 
     */
    @Import(name="tleLine1", required=true)
    private Output tleLine1;

    /**
     * @return Line 1 of the two-line element set (TLE).
     * 
     */
    public Output tleLine1() {
        return this.tleLine1;
    }

    /**
     * Line 2 of the two-line element set (TLE).
     * 
     */
    @Import(name="tleLine2", required=true)
    private Output tleLine2;

    /**
     * @return Line 2 of the two-line element set (TLE).
     * 
     */
    public Output tleLine2() {
        return this.tleLine2;
    }

    private SpacecraftArgs() {}

    private SpacecraftArgs(SpacecraftArgs $) {
        this.links = $.links;
        this.location = $.location;
        this.noradId = $.noradId;
        this.resourceGroupName = $.resourceGroupName;
        this.spacecraftName = $.spacecraftName;
        this.tags = $.tags;
        this.titleLine = $.titleLine;
        this.tleLine1 = $.tleLine1;
        this.tleLine2 = $.tleLine2;
    }

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

    public static final class Builder {
        private SpacecraftArgs $;

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

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

        /**
         * @param links Immutable list of Spacecraft links.
         * 
         * @return builder
         * 
         */
        public Builder links(Output> links) {
            $.links = links;
            return this;
        }

        /**
         * @param links Immutable list of Spacecraft links.
         * 
         * @return builder
         * 
         */
        public Builder links(List links) {
            return links(Output.of(links));
        }

        /**
         * @param links Immutable list of Spacecraft links.
         * 
         * @return builder
         * 
         */
        public Builder links(SpacecraftLinkArgs... 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 noradId NORAD ID of the spacecraft.
         * 
         * @return builder
         * 
         */
        public Builder noradId(@Nullable Output noradId) {
            $.noradId = noradId;
            return this;
        }

        /**
         * @param noradId NORAD ID of the spacecraft.
         * 
         * @return builder
         * 
         */
        public Builder noradId(String noradId) {
            return noradId(Output.of(noradId));
        }

        /**
         * @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 spacecraftName Spacecraft ID.
         * 
         * @return builder
         * 
         */
        public Builder spacecraftName(@Nullable Output spacecraftName) {
            $.spacecraftName = spacecraftName;
            return this;
        }

        /**
         * @param spacecraftName Spacecraft ID.
         * 
         * @return builder
         * 
         */
        public Builder spacecraftName(String spacecraftName) {
            return spacecraftName(Output.of(spacecraftName));
        }

        /**
         * @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 titleLine Title line of the two-line element set (TLE).
         * 
         * @return builder
         * 
         */
        public Builder titleLine(Output titleLine) {
            $.titleLine = titleLine;
            return this;
        }

        /**
         * @param titleLine Title line of the two-line element set (TLE).
         * 
         * @return builder
         * 
         */
        public Builder titleLine(String titleLine) {
            return titleLine(Output.of(titleLine));
        }

        /**
         * @param tleLine1 Line 1 of the two-line element set (TLE).
         * 
         * @return builder
         * 
         */
        public Builder tleLine1(Output tleLine1) {
            $.tleLine1 = tleLine1;
            return this;
        }

        /**
         * @param tleLine1 Line 1 of the two-line element set (TLE).
         * 
         * @return builder
         * 
         */
        public Builder tleLine1(String tleLine1) {
            return tleLine1(Output.of(tleLine1));
        }

        /**
         * @param tleLine2 Line 2 of the two-line element set (TLE).
         * 
         * @return builder
         * 
         */
        public Builder tleLine2(Output tleLine2) {
            $.tleLine2 = tleLine2;
            return this;
        }

        /**
         * @param tleLine2 Line 2 of the two-line element set (TLE).
         * 
         * @return builder
         * 
         */
        public Builder tleLine2(String tleLine2) {
            return tleLine2(Output.of(tleLine2));
        }

        public SpacecraftArgs build() {
            if ($.links == null) {
                throw new MissingRequiredPropertyException("SpacecraftArgs", "links");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("SpacecraftArgs", "resourceGroupName");
            }
            if ($.titleLine == null) {
                throw new MissingRequiredPropertyException("SpacecraftArgs", "titleLine");
            }
            if ($.tleLine1 == null) {
                throw new MissingRequiredPropertyException("SpacecraftArgs", "tleLine1");
            }
            if ($.tleLine2 == null) {
                throw new MissingRequiredPropertyException("SpacecraftArgs", "tleLine2");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy