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

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

import com.pulumi.azurenative.deviceregistry.outputs.AssetStatusResponse;
import com.pulumi.azurenative.deviceregistry.outputs.DataPointResponse;
import com.pulumi.azurenative.deviceregistry.outputs.EventResponse;
import com.pulumi.azurenative.deviceregistry.outputs.ExtendedLocationResponse;
import com.pulumi.azurenative.deviceregistry.outputs.SystemDataResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GetAssetResult {
    /**
     * @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 have the format <ModuleCR.metadata.namespace>/<ModuleCR.metadata.name>.
     * 
     */
    private String assetEndpointProfileUri;
    /**
     * @return Resource path to asset type (model) definition.
     * 
     */
    private @Nullable String assetType;
    /**
     * @return A set of key-value pairs that contain custom attributes set by the customer.
     * 
     */
    private @Nullable Object attributes;
    /**
     * @return Array of data points that are part of the asset. Each data point can reference an asset type capability and have per-data point configuration.
     * 
     */
    private @Nullable List dataPoints;
    /**
     * @return Stringified JSON that contains protocol-specific default configuration for all data points. Each data point can have its own configuration that overrides the default settings here.
     * 
     */
    private @Nullable String defaultDataPointsConfiguration;
    /**
     * @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.
     * 
     */
    private @Nullable String defaultEventsConfiguration;
    /**
     * @return Human-readable description of the asset.
     * 
     */
    private @Nullable String description;
    /**
     * @return Human-readable display name.
     * 
     */
    private @Nullable String displayName;
    /**
     * @return Reference to the documentation.
     * 
     */
    private @Nullable String documentationUri;
    /**
     * @return Enabled/Disabled status of the asset.
     * 
     */
    private @Nullable Boolean enabled;
    /**
     * @return Array of events that are part of the asset. Each event can have per-event configuration.
     * 
     */
    private @Nullable List events;
    /**
     * @return The extended location.
     * 
     */
    private ExtendedLocationResponse extendedLocation;
    /**
     * @return Asset id provided by the customer.
     * 
     */
    private @Nullable String externalAssetId;
    /**
     * @return Revision number of the hardware.
     * 
     */
    private @Nullable String hardwareRevision;
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    private String id;
    /**
     * @return The geo-location where the resource lives
     * 
     */
    private String location;
    /**
     * @return Asset manufacturer name.
     * 
     */
    private @Nullable String manufacturer;
    /**
     * @return Asset manufacturer URI.
     * 
     */
    private @Nullable String manufacturerUri;
    /**
     * @return Asset model name.
     * 
     */
    private @Nullable String model;
    /**
     * @return The name of the resource
     * 
     */
    private String name;
    /**
     * @return Asset product code.
     * 
     */
    private @Nullable String productCode;
    /**
     * @return Provisioning state of the resource.
     * 
     */
    private String provisioningState;
    /**
     * @return Asset serial number.
     * 
     */
    private @Nullable String serialNumber;
    /**
     * @return Revision number of the software.
     * 
     */
    private @Nullable String softwareRevision;
    /**
     * @return Read only object to reflect changes that have occurred on the Edge. Similar to Kubernetes status property for custom resources.
     * 
     */
    private AssetStatusResponse status;
    /**
     * @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return Resource tags.
     * 
     */
    private @Nullable Map tags;
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    private String type;
    /**
     * @return Globally unique, immutable, non-reusable id.
     * 
     */
    private String uuid;
    /**
     * @return An integer that is incremented each time the resource is modified.
     * 
     */
    private Integer version;

    private GetAssetResult() {}
    /**
     * @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 have the format <ModuleCR.metadata.namespace>/<ModuleCR.metadata.name>.
     * 
     */
    public String assetEndpointProfileUri() {
        return this.assetEndpointProfileUri;
    }
    /**
     * @return Resource path to asset type (model) definition.
     * 
     */
    public Optional assetType() {
        return Optional.ofNullable(this.assetType);
    }
    /**
     * @return A set of key-value pairs that contain custom attributes set by the customer.
     * 
     */
    public Optional attributes() {
        return Optional.ofNullable(this.attributes);
    }
    /**
     * @return Array of data points that are part of the asset. Each data point can reference an asset type capability and have per-data point configuration.
     * 
     */
    public List dataPoints() {
        return this.dataPoints == null ? List.of() : this.dataPoints;
    }
    /**
     * @return Stringified JSON that contains protocol-specific default configuration for all data points. Each data point can have its own configuration that overrides the default settings here.
     * 
     */
    public Optional defaultDataPointsConfiguration() {
        return Optional.ofNullable(this.defaultDataPointsConfiguration);
    }
    /**
     * @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);
    }
    /**
     * @return Human-readable description of the asset.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @return Human-readable display name.
     * 
     */
    public Optional displayName() {
        return Optional.ofNullable(this.displayName);
    }
    /**
     * @return Reference to the documentation.
     * 
     */
    public Optional documentationUri() {
        return Optional.ofNullable(this.documentationUri);
    }
    /**
     * @return Enabled/Disabled status of the asset.
     * 
     */
    public Optional enabled() {
        return Optional.ofNullable(this.enabled);
    }
    /**
     * @return Array of events that are part of the asset. Each event can have per-event configuration.
     * 
     */
    public List events() {
        return this.events == null ? List.of() : this.events;
    }
    /**
     * @return The extended location.
     * 
     */
    public ExtendedLocationResponse extendedLocation() {
        return this.extendedLocation;
    }
    /**
     * @return Asset id provided by the customer.
     * 
     */
    public Optional externalAssetId() {
        return Optional.ofNullable(this.externalAssetId);
    }
    /**
     * @return Revision number of the hardware.
     * 
     */
    public Optional hardwareRevision() {
        return Optional.ofNullable(this.hardwareRevision);
    }
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return The geo-location where the resource lives
     * 
     */
    public String location() {
        return this.location;
    }
    /**
     * @return Asset manufacturer name.
     * 
     */
    public Optional manufacturer() {
        return Optional.ofNullable(this.manufacturer);
    }
    /**
     * @return Asset manufacturer URI.
     * 
     */
    public Optional manufacturerUri() {
        return Optional.ofNullable(this.manufacturerUri);
    }
    /**
     * @return Asset model name.
     * 
     */
    public Optional model() {
        return Optional.ofNullable(this.model);
    }
    /**
     * @return The name of the resource
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Asset product code.
     * 
     */
    public Optional productCode() {
        return Optional.ofNullable(this.productCode);
    }
    /**
     * @return Provisioning state of the resource.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Asset serial number.
     * 
     */
    public Optional serialNumber() {
        return Optional.ofNullable(this.serialNumber);
    }
    /**
     * @return Revision number of the software.
     * 
     */
    public Optional softwareRevision() {
        return Optional.ofNullable(this.softwareRevision);
    }
    /**
     * @return Read only object to reflect changes that have occurred on the Edge. Similar to Kubernetes status property for custom resources.
     * 
     */
    public AssetStatusResponse status() {
        return this.status;
    }
    /**
     * @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return Resource tags.
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Globally unique, immutable, non-reusable id.
     * 
     */
    public String uuid() {
        return this.uuid;
    }
    /**
     * @return An integer that is incremented each time the resource is modified.
     * 
     */
    public Integer version() {
        return this.version;
    }

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

    public static Builder builder(GetAssetResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String assetEndpointProfileUri;
        private @Nullable String assetType;
        private @Nullable Object attributes;
        private @Nullable List dataPoints;
        private @Nullable String defaultDataPointsConfiguration;
        private @Nullable String defaultEventsConfiguration;
        private @Nullable String description;
        private @Nullable String displayName;
        private @Nullable String documentationUri;
        private @Nullable Boolean enabled;
        private @Nullable List events;
        private ExtendedLocationResponse extendedLocation;
        private @Nullable String externalAssetId;
        private @Nullable String hardwareRevision;
        private String id;
        private String location;
        private @Nullable String manufacturer;
        private @Nullable String manufacturerUri;
        private @Nullable String model;
        private String name;
        private @Nullable String productCode;
        private String provisioningState;
        private @Nullable String serialNumber;
        private @Nullable String softwareRevision;
        private AssetStatusResponse status;
        private SystemDataResponse systemData;
        private @Nullable Map tags;
        private String type;
        private String uuid;
        private Integer version;
        public Builder() {}
        public Builder(GetAssetResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.assetEndpointProfileUri = defaults.assetEndpointProfileUri;
    	      this.assetType = defaults.assetType;
    	      this.attributes = defaults.attributes;
    	      this.dataPoints = defaults.dataPoints;
    	      this.defaultDataPointsConfiguration = defaults.defaultDataPointsConfiguration;
    	      this.defaultEventsConfiguration = defaults.defaultEventsConfiguration;
    	      this.description = defaults.description;
    	      this.displayName = defaults.displayName;
    	      this.documentationUri = defaults.documentationUri;
    	      this.enabled = defaults.enabled;
    	      this.events = defaults.events;
    	      this.extendedLocation = defaults.extendedLocation;
    	      this.externalAssetId = defaults.externalAssetId;
    	      this.hardwareRevision = defaults.hardwareRevision;
    	      this.id = defaults.id;
    	      this.location = defaults.location;
    	      this.manufacturer = defaults.manufacturer;
    	      this.manufacturerUri = defaults.manufacturerUri;
    	      this.model = defaults.model;
    	      this.name = defaults.name;
    	      this.productCode = defaults.productCode;
    	      this.provisioningState = defaults.provisioningState;
    	      this.serialNumber = defaults.serialNumber;
    	      this.softwareRevision = defaults.softwareRevision;
    	      this.status = defaults.status;
    	      this.systemData = defaults.systemData;
    	      this.tags = defaults.tags;
    	      this.type = defaults.type;
    	      this.uuid = defaults.uuid;
    	      this.version = defaults.version;
        }

        @CustomType.Setter
        public Builder assetEndpointProfileUri(String assetEndpointProfileUri) {
            if (assetEndpointProfileUri == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "assetEndpointProfileUri");
            }
            this.assetEndpointProfileUri = assetEndpointProfileUri;
            return this;
        }
        @CustomType.Setter
        public Builder assetType(@Nullable String assetType) {

            this.assetType = assetType;
            return this;
        }
        @CustomType.Setter
        public Builder attributes(@Nullable Object attributes) {

            this.attributes = attributes;
            return this;
        }
        @CustomType.Setter
        public Builder dataPoints(@Nullable List dataPoints) {

            this.dataPoints = dataPoints;
            return this;
        }
        public Builder dataPoints(DataPointResponse... dataPoints) {
            return dataPoints(List.of(dataPoints));
        }
        @CustomType.Setter
        public Builder defaultDataPointsConfiguration(@Nullable String defaultDataPointsConfiguration) {

            this.defaultDataPointsConfiguration = defaultDataPointsConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder defaultEventsConfiguration(@Nullable String defaultEventsConfiguration) {

            this.defaultEventsConfiguration = defaultEventsConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder description(@Nullable String description) {

            this.description = description;
            return this;
        }
        @CustomType.Setter
        public Builder displayName(@Nullable String displayName) {

            this.displayName = displayName;
            return this;
        }
        @CustomType.Setter
        public Builder documentationUri(@Nullable String documentationUri) {

            this.documentationUri = documentationUri;
            return this;
        }
        @CustomType.Setter
        public Builder enabled(@Nullable Boolean enabled) {

            this.enabled = enabled;
            return this;
        }
        @CustomType.Setter
        public Builder events(@Nullable List events) {

            this.events = events;
            return this;
        }
        public Builder events(EventResponse... events) {
            return events(List.of(events));
        }
        @CustomType.Setter
        public Builder extendedLocation(ExtendedLocationResponse extendedLocation) {
            if (extendedLocation == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "extendedLocation");
            }
            this.extendedLocation = extendedLocation;
            return this;
        }
        @CustomType.Setter
        public Builder externalAssetId(@Nullable String externalAssetId) {

            this.externalAssetId = externalAssetId;
            return this;
        }
        @CustomType.Setter
        public Builder hardwareRevision(@Nullable String hardwareRevision) {

            this.hardwareRevision = hardwareRevision;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder location(String location) {
            if (location == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "location");
            }
            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder manufacturer(@Nullable String manufacturer) {

            this.manufacturer = manufacturer;
            return this;
        }
        @CustomType.Setter
        public Builder manufacturerUri(@Nullable String manufacturerUri) {

            this.manufacturerUri = manufacturerUri;
            return this;
        }
        @CustomType.Setter
        public Builder model(@Nullable String model) {

            this.model = model;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder productCode(@Nullable String productCode) {

            this.productCode = productCode;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder serialNumber(@Nullable String serialNumber) {

            this.serialNumber = serialNumber;
            return this;
        }
        @CustomType.Setter
        public Builder softwareRevision(@Nullable String softwareRevision) {

            this.softwareRevision = softwareRevision;
            return this;
        }
        @CustomType.Setter
        public Builder status(AssetStatusResponse status) {
            if (status == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "status");
            }
            this.status = status;
            return this;
        }
        @CustomType.Setter
        public Builder systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder tags(@Nullable Map tags) {

            this.tags = tags;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder uuid(String uuid) {
            if (uuid == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "uuid");
            }
            this.uuid = uuid;
            return this;
        }
        @CustomType.Setter
        public Builder version(Integer version) {
            if (version == null) {
              throw new MissingRequiredPropertyException("GetAssetResult", "version");
            }
            this.version = version;
            return this;
        }
        public GetAssetResult build() {
            final var _resultValue = new GetAssetResult();
            _resultValue.assetEndpointProfileUri = assetEndpointProfileUri;
            _resultValue.assetType = assetType;
            _resultValue.attributes = attributes;
            _resultValue.dataPoints = dataPoints;
            _resultValue.defaultDataPointsConfiguration = defaultDataPointsConfiguration;
            _resultValue.defaultEventsConfiguration = defaultEventsConfiguration;
            _resultValue.description = description;
            _resultValue.displayName = displayName;
            _resultValue.documentationUri = documentationUri;
            _resultValue.enabled = enabled;
            _resultValue.events = events;
            _resultValue.extendedLocation = extendedLocation;
            _resultValue.externalAssetId = externalAssetId;
            _resultValue.hardwareRevision = hardwareRevision;
            _resultValue.id = id;
            _resultValue.location = location;
            _resultValue.manufacturer = manufacturer;
            _resultValue.manufacturerUri = manufacturerUri;
            _resultValue.model = model;
            _resultValue.name = name;
            _resultValue.productCode = productCode;
            _resultValue.provisioningState = provisioningState;
            _resultValue.serialNumber = serialNumber;
            _resultValue.softwareRevision = softwareRevision;
            _resultValue.status = status;
            _resultValue.systemData = systemData;
            _resultValue.tags = tags;
            _resultValue.type = type;
            _resultValue.uuid = uuid;
            _resultValue.version = version;
            return _resultValue;
        }
    }
}