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

com.pulumi.azurenative.deviceregistry.DiscoveredAssetArgs 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.deviceregistry;

import com.pulumi.azurenative.deviceregistry.inputs.DiscoveredDatasetArgs;
import com.pulumi.azurenative.deviceregistry.inputs.DiscoveredEventArgs;
import com.pulumi.azurenative.deviceregistry.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.deviceregistry.inputs.TopicArgs;
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 DiscoveredAssetArgs extends com.pulumi.resources.ResourceArgs {

    public static final DiscoveredAssetArgs Empty = new DiscoveredAssetArgs();

    /**
     * A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must provide asset endpoint profile name.
     * 
     */
    @Import(name="assetEndpointProfileRef", required=true)
    private Output assetEndpointProfileRef;

    /**
     * @return A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must provide asset endpoint profile name.
     * 
     */
    public Output assetEndpointProfileRef() {
        return this.assetEndpointProfileRef;
    }

    /**
     * Array of datasets that are part of the asset. Each dataset spec describes the data points that make up the set.
     * 
     */
    @Import(name="datasets")
    private @Nullable Output> datasets;

    /**
     * @return Array of datasets that are part of the asset. Each dataset spec describes the data points that make up the set.
     * 
     */
    public Optional>> datasets() {
        return Optional.ofNullable(this.datasets);
    }

    /**
     * Stringified JSON that contains connector-specific default configuration for all datasets. Each dataset can have its own configuration that overrides the default settings here.
     * 
     */
    @Import(name="defaultDatasetsConfiguration")
    private @Nullable Output defaultDatasetsConfiguration;

    /**
     * @return Stringified JSON that contains connector-specific default configuration for all datasets. Each dataset can have its own configuration that overrides the default settings here.
     * 
     */
    public Optional> defaultDatasetsConfiguration() {
        return Optional.ofNullable(this.defaultDatasetsConfiguration);
    }

    /**
     * Stringified JSON that contains connector-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here.
     * 
     */
    @Import(name="defaultEventsConfiguration")
    private @Nullable Output defaultEventsConfiguration;

    /**
     * @return Stringified JSON that contains connector-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here.
     * 
     */
    public Optional> defaultEventsConfiguration() {
        return Optional.ofNullable(this.defaultEventsConfiguration);
    }

    /**
     * Object that describes the default topic information for the asset.
     * 
     */
    @Import(name="defaultTopic")
    private @Nullable Output defaultTopic;

    /**
     * @return Object that describes the default topic information for the asset.
     * 
     */
    public Optional> defaultTopic() {
        return Optional.ofNullable(this.defaultTopic);
    }

    /**
     * Discovered Asset name parameter.
     * 
     */
    @Import(name="discoveredAssetName")
    private @Nullable Output discoveredAssetName;

    /**
     * @return Discovered Asset name parameter.
     * 
     */
    public Optional> discoveredAssetName() {
        return Optional.ofNullable(this.discoveredAssetName);
    }

    /**
     * Identifier used to detect changes in the asset.
     * 
     */
    @Import(name="discoveryId", required=true)
    private Output discoveryId;

    /**
     * @return Identifier used to detect changes in the asset.
     * 
     */
    public Output discoveryId() {
        return this.discoveryId;
    }

    /**
     * Reference to the documentation.
     * 
     */
    @Import(name="documentationUri")
    private @Nullable Output documentationUri;

    /**
     * @return Reference to the documentation.
     * 
     */
    public Optional> documentationUri() {
        return Optional.ofNullable(this.documentationUri);
    }

    /**
     * Array of events that are part of the asset. Each event can have per-event configuration.
     * 
     */
    @Import(name="events")
    private @Nullable Output> events;

    /**
     * @return Array of events that are part of the asset. Each event can have per-event configuration.
     * 
     */
    public Optional>> events() {
        return Optional.ofNullable(this.events);
    }

    /**
     * The extended location.
     * 
     */
    @Import(name="extendedLocation", required=true)
    private Output extendedLocation;

    /**
     * @return The extended location.
     * 
     */
    public Output extendedLocation() {
        return this.extendedLocation;
    }

    /**
     * Revision number of the hardware.
     * 
     */
    @Import(name="hardwareRevision")
    private @Nullable Output hardwareRevision;

    /**
     * @return Revision number of the hardware.
     * 
     */
    public Optional> hardwareRevision() {
        return Optional.ofNullable(this.hardwareRevision);
    }

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

    /**
     * Asset manufacturer name.
     * 
     */
    @Import(name="manufacturer")
    private @Nullable Output manufacturer;

    /**
     * @return Asset manufacturer name.
     * 
     */
    public Optional> manufacturer() {
        return Optional.ofNullable(this.manufacturer);
    }

    /**
     * Asset manufacturer URI.
     * 
     */
    @Import(name="manufacturerUri")
    private @Nullable Output manufacturerUri;

    /**
     * @return Asset manufacturer URI.
     * 
     */
    public Optional> manufacturerUri() {
        return Optional.ofNullable(this.manufacturerUri);
    }

    /**
     * Asset model name.
     * 
     */
    @Import(name="model")
    private @Nullable Output model;

    /**
     * @return Asset model name.
     * 
     */
    public Optional> model() {
        return Optional.ofNullable(this.model);
    }

    /**
     * Asset product code.
     * 
     */
    @Import(name="productCode")
    private @Nullable Output productCode;

    /**
     * @return Asset product code.
     * 
     */
    public Optional> productCode() {
        return Optional.ofNullable(this.productCode);
    }

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

    /**
     * Asset serial number.
     * 
     */
    @Import(name="serialNumber")
    private @Nullable Output serialNumber;

    /**
     * @return Asset serial number.
     * 
     */
    public Optional> serialNumber() {
        return Optional.ofNullable(this.serialNumber);
    }

    /**
     * Revision number of the software.
     * 
     */
    @Import(name="softwareRevision")
    private @Nullable Output softwareRevision;

    /**
     * @return Revision number of the software.
     * 
     */
    public Optional> softwareRevision() {
        return Optional.ofNullable(this.softwareRevision);
    }

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

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

    /**
     * An integer that is incremented each time the resource is modified.
     * 
     */
    @Import(name="version", required=true)
    private Output version;

    /**
     * @return An integer that is incremented each time the resource is modified.
     * 
     */
    public Output version() {
        return this.version;
    }

    private DiscoveredAssetArgs() {}

    private DiscoveredAssetArgs(DiscoveredAssetArgs $) {
        this.assetEndpointProfileRef = $.assetEndpointProfileRef;
        this.datasets = $.datasets;
        this.defaultDatasetsConfiguration = $.defaultDatasetsConfiguration;
        this.defaultEventsConfiguration = $.defaultEventsConfiguration;
        this.defaultTopic = $.defaultTopic;
        this.discoveredAssetName = $.discoveredAssetName;
        this.discoveryId = $.discoveryId;
        this.documentationUri = $.documentationUri;
        this.events = $.events;
        this.extendedLocation = $.extendedLocation;
        this.hardwareRevision = $.hardwareRevision;
        this.location = $.location;
        this.manufacturer = $.manufacturer;
        this.manufacturerUri = $.manufacturerUri;
        this.model = $.model;
        this.productCode = $.productCode;
        this.resourceGroupName = $.resourceGroupName;
        this.serialNumber = $.serialNumber;
        this.softwareRevision = $.softwareRevision;
        this.tags = $.tags;
        this.version = $.version;
    }

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

    public static final class Builder {
        private DiscoveredAssetArgs $;

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

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

        /**
         * @param assetEndpointProfileRef A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must provide asset endpoint profile name.
         * 
         * @return builder
         * 
         */
        public Builder assetEndpointProfileRef(Output assetEndpointProfileRef) {
            $.assetEndpointProfileRef = assetEndpointProfileRef;
            return this;
        }

        /**
         * @param assetEndpointProfileRef A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must provide asset endpoint profile name.
         * 
         * @return builder
         * 
         */
        public Builder assetEndpointProfileRef(String assetEndpointProfileRef) {
            return assetEndpointProfileRef(Output.of(assetEndpointProfileRef));
        }

        /**
         * @param datasets Array of datasets that are part of the asset. Each dataset spec describes the data points that make up the set.
         * 
         * @return builder
         * 
         */
        public Builder datasets(@Nullable Output> datasets) {
            $.datasets = datasets;
            return this;
        }

        /**
         * @param datasets Array of datasets that are part of the asset. Each dataset spec describes the data points that make up the set.
         * 
         * @return builder
         * 
         */
        public Builder datasets(List datasets) {
            return datasets(Output.of(datasets));
        }

        /**
         * @param datasets Array of datasets that are part of the asset. Each dataset spec describes the data points that make up the set.
         * 
         * @return builder
         * 
         */
        public Builder datasets(DiscoveredDatasetArgs... datasets) {
            return datasets(List.of(datasets));
        }

        /**
         * @param defaultDatasetsConfiguration Stringified JSON that contains connector-specific default configuration for all datasets. Each dataset can have its own configuration that overrides the default settings here.
         * 
         * @return builder
         * 
         */
        public Builder defaultDatasetsConfiguration(@Nullable Output defaultDatasetsConfiguration) {
            $.defaultDatasetsConfiguration = defaultDatasetsConfiguration;
            return this;
        }

        /**
         * @param defaultDatasetsConfiguration Stringified JSON that contains connector-specific default configuration for all datasets. Each dataset can have its own configuration that overrides the default settings here.
         * 
         * @return builder
         * 
         */
        public Builder defaultDatasetsConfiguration(String defaultDatasetsConfiguration) {
            return defaultDatasetsConfiguration(Output.of(defaultDatasetsConfiguration));
        }

        /**
         * @param defaultEventsConfiguration Stringified JSON that contains connector-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here.
         * 
         * @return builder
         * 
         */
        public Builder defaultEventsConfiguration(@Nullable Output defaultEventsConfiguration) {
            $.defaultEventsConfiguration = defaultEventsConfiguration;
            return this;
        }

        /**
         * @param defaultEventsConfiguration Stringified JSON that contains connector-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here.
         * 
         * @return builder
         * 
         */
        public Builder defaultEventsConfiguration(String defaultEventsConfiguration) {
            return defaultEventsConfiguration(Output.of(defaultEventsConfiguration));
        }

        /**
         * @param defaultTopic Object that describes the default topic information for the asset.
         * 
         * @return builder
         * 
         */
        public Builder defaultTopic(@Nullable Output defaultTopic) {
            $.defaultTopic = defaultTopic;
            return this;
        }

        /**
         * @param defaultTopic Object that describes the default topic information for the asset.
         * 
         * @return builder
         * 
         */
        public Builder defaultTopic(TopicArgs defaultTopic) {
            return defaultTopic(Output.of(defaultTopic));
        }

        /**
         * @param discoveredAssetName Discovered Asset name parameter.
         * 
         * @return builder
         * 
         */
        public Builder discoveredAssetName(@Nullable Output discoveredAssetName) {
            $.discoveredAssetName = discoveredAssetName;
            return this;
        }

        /**
         * @param discoveredAssetName Discovered Asset name parameter.
         * 
         * @return builder
         * 
         */
        public Builder discoveredAssetName(String discoveredAssetName) {
            return discoveredAssetName(Output.of(discoveredAssetName));
        }

        /**
         * @param discoveryId Identifier used to detect changes in the asset.
         * 
         * @return builder
         * 
         */
        public Builder discoveryId(Output discoveryId) {
            $.discoveryId = discoveryId;
            return this;
        }

        /**
         * @param discoveryId Identifier used to detect changes in the asset.
         * 
         * @return builder
         * 
         */
        public Builder discoveryId(String discoveryId) {
            return discoveryId(Output.of(discoveryId));
        }

        /**
         * @param documentationUri Reference to the documentation.
         * 
         * @return builder
         * 
         */
        public Builder documentationUri(@Nullable Output documentationUri) {
            $.documentationUri = documentationUri;
            return this;
        }

        /**
         * @param documentationUri Reference to the documentation.
         * 
         * @return builder
         * 
         */
        public Builder documentationUri(String documentationUri) {
            return documentationUri(Output.of(documentationUri));
        }

        /**
         * @param events Array of events that are part of the asset. Each event can have per-event configuration.
         * 
         * @return builder
         * 
         */
        public Builder events(@Nullable Output> events) {
            $.events = events;
            return this;
        }

        /**
         * @param events Array of events that are part of the asset. Each event can have per-event configuration.
         * 
         * @return builder
         * 
         */
        public Builder events(List events) {
            return events(Output.of(events));
        }

        /**
         * @param events Array of events that are part of the asset. Each event can have per-event configuration.
         * 
         * @return builder
         * 
         */
        public Builder events(DiscoveredEventArgs... events) {
            return events(List.of(events));
        }

        /**
         * @param extendedLocation The extended location.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(Output extendedLocation) {
            $.extendedLocation = extendedLocation;
            return this;
        }

        /**
         * @param extendedLocation The extended location.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(ExtendedLocationArgs extendedLocation) {
            return extendedLocation(Output.of(extendedLocation));
        }

        /**
         * @param hardwareRevision Revision number of the hardware.
         * 
         * @return builder
         * 
         */
        public Builder hardwareRevision(@Nullable Output hardwareRevision) {
            $.hardwareRevision = hardwareRevision;
            return this;
        }

        /**
         * @param hardwareRevision Revision number of the hardware.
         * 
         * @return builder
         * 
         */
        public Builder hardwareRevision(String hardwareRevision) {
            return hardwareRevision(Output.of(hardwareRevision));
        }

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

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

        /**
         * @param manufacturerUri Asset manufacturer URI.
         * 
         * @return builder
         * 
         */
        public Builder manufacturerUri(@Nullable Output manufacturerUri) {
            $.manufacturerUri = manufacturerUri;
            return this;
        }

        /**
         * @param manufacturerUri Asset manufacturer URI.
         * 
         * @return builder
         * 
         */
        public Builder manufacturerUri(String manufacturerUri) {
            return manufacturerUri(Output.of(manufacturerUri));
        }

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

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

        /**
         * @param productCode Asset product code.
         * 
         * @return builder
         * 
         */
        public Builder productCode(@Nullable Output productCode) {
            $.productCode = productCode;
            return this;
        }

        /**
         * @param productCode Asset product code.
         * 
         * @return builder
         * 
         */
        public Builder productCode(String productCode) {
            return productCode(Output.of(productCode));
        }

        /**
         * @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 serialNumber Asset serial number.
         * 
         * @return builder
         * 
         */
        public Builder serialNumber(@Nullable Output serialNumber) {
            $.serialNumber = serialNumber;
            return this;
        }

        /**
         * @param serialNumber Asset serial number.
         * 
         * @return builder
         * 
         */
        public Builder serialNumber(String serialNumber) {
            return serialNumber(Output.of(serialNumber));
        }

        /**
         * @param softwareRevision Revision number of the software.
         * 
         * @return builder
         * 
         */
        public Builder softwareRevision(@Nullable Output softwareRevision) {
            $.softwareRevision = softwareRevision;
            return this;
        }

        /**
         * @param softwareRevision Revision number of the software.
         * 
         * @return builder
         * 
         */
        public Builder softwareRevision(String softwareRevision) {
            return softwareRevision(Output.of(softwareRevision));
        }

        /**
         * @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 version An integer that is incremented each time the resource is modified.
         * 
         * @return builder
         * 
         */
        public Builder version(Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version An integer that is incremented each time the resource is modified.
         * 
         * @return builder
         * 
         */
        public Builder version(Double version) {
            return version(Output.of(version));
        }

        public DiscoveredAssetArgs build() {
            if ($.assetEndpointProfileRef == null) {
                throw new MissingRequiredPropertyException("DiscoveredAssetArgs", "assetEndpointProfileRef");
            }
            if ($.discoveryId == null) {
                throw new MissingRequiredPropertyException("DiscoveredAssetArgs", "discoveryId");
            }
            if ($.extendedLocation == null) {
                throw new MissingRequiredPropertyException("DiscoveredAssetArgs", "extendedLocation");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("DiscoveredAssetArgs", "resourceGroupName");
            }
            if ($.version == null) {
                throw new MissingRequiredPropertyException("DiscoveredAssetArgs", "version");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy