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

com.pulumi.azurenative.azurestackhci.outputs.GetUpdateResult Maven / Gradle / Ivy

// *** 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.azurestackhci.outputs;

import com.pulumi.azurenative.azurestackhci.outputs.SystemDataResponse;
import com.pulumi.azurenative.azurestackhci.outputs.UpdatePrerequisiteResponse;
import com.pulumi.core.annotations.CustomType;
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;

@CustomType
public final class GetUpdateResult {
    /**
     * @return Extensible KV pairs serialized as a string. This is currently used to report the stamp OEM family and hardware model information when an update is flagged as Invalid for the stamp based on OEM type.
     * 
     */
    private @Nullable String additionalProperties;
    /**
     * @return Indicates the way the update content can be downloaded.
     * 
     */
    private @Nullable String availabilityType;
    /**
     * @return Description of the update.
     * 
     */
    private @Nullable String description;
    /**
     * @return Display name of the Update
     * 
     */
    private @Nullable String displayName;
    /**
     * @return Last time the package-specific checks were run.
     * 
     */
    private @Nullable String healthCheckDate;
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    private String id;
    /**
     * @return Date that the update was installed.
     * 
     */
    private @Nullable String installedDate;
    /**
     * @return The geo-location where the resource lives
     * 
     */
    private @Nullable String location;
    /**
     * @return The name of the resource
     * 
     */
    private String name;
    /**
     * @return Brief message with instructions for updates of AvailabilityType Notify.
     * 
     */
    private @Nullable String notifyMessage;
    /**
     * @return Path where the update package is available.
     * 
     */
    private @Nullable String packagePath;
    /**
     * @return Size of the package. This value is a combination of the size from update metadata and size of the payload that results from the live scan operation for OS update content.
     * 
     */
    private @Nullable Double packageSizeInMb;
    /**
     * @return Customer-visible type of the update.
     * 
     */
    private @Nullable String packageType;
    /**
     * @return If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.
     * 
     */
    private @Nullable List prerequisites;
    /**
     * @return Progress percentage of ongoing operation. Currently this property is only valid when the update is in the Downloading state, where it maps to how much of the update content has been downloaded.
     * 
     */
    private @Nullable Double progressPercentage;
    /**
     * @return Provisioning state of the Updates proxy resource.
     * 
     */
    private String provisioningState;
    /**
     * @return Publisher of the update package.
     * 
     */
    private @Nullable String publisher;
    /**
     * @return Link to release notes for the update.
     * 
     */
    private @Nullable String releaseLink;
    /**
     * @return State of the update as it relates to this stamp.
     * 
     */
    private @Nullable String state;
    /**
     * @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    private String type;
    /**
     * @return Version of the update.
     * 
     */
    private @Nullable String version;

    private GetUpdateResult() {}
    /**
     * @return Extensible KV pairs serialized as a string. This is currently used to report the stamp OEM family and hardware model information when an update is flagged as Invalid for the stamp based on OEM type.
     * 
     */
    public Optional additionalProperties() {
        return Optional.ofNullable(this.additionalProperties);
    }
    /**
     * @return Indicates the way the update content can be downloaded.
     * 
     */
    public Optional availabilityType() {
        return Optional.ofNullable(this.availabilityType);
    }
    /**
     * @return Description of the update.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @return Display name of the Update
     * 
     */
    public Optional displayName() {
        return Optional.ofNullable(this.displayName);
    }
    /**
     * @return Last time the package-specific checks were run.
     * 
     */
    public Optional healthCheckDate() {
        return Optional.ofNullable(this.healthCheckDate);
    }
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Date that the update was installed.
     * 
     */
    public Optional installedDate() {
        return Optional.ofNullable(this.installedDate);
    }
    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional location() {
        return Optional.ofNullable(this.location);
    }
    /**
     * @return The name of the resource
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Brief message with instructions for updates of AvailabilityType Notify.
     * 
     */
    public Optional notifyMessage() {
        return Optional.ofNullable(this.notifyMessage);
    }
    /**
     * @return Path where the update package is available.
     * 
     */
    public Optional packagePath() {
        return Optional.ofNullable(this.packagePath);
    }
    /**
     * @return Size of the package. This value is a combination of the size from update metadata and size of the payload that results from the live scan operation for OS update content.
     * 
     */
    public Optional packageSizeInMb() {
        return Optional.ofNullable(this.packageSizeInMb);
    }
    /**
     * @return Customer-visible type of the update.
     * 
     */
    public Optional packageType() {
        return Optional.ofNullable(this.packageType);
    }
    /**
     * @return If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.
     * 
     */
    public List prerequisites() {
        return this.prerequisites == null ? List.of() : this.prerequisites;
    }
    /**
     * @return Progress percentage of ongoing operation. Currently this property is only valid when the update is in the Downloading state, where it maps to how much of the update content has been downloaded.
     * 
     */
    public Optional progressPercentage() {
        return Optional.ofNullable(this.progressPercentage);
    }
    /**
     * @return Provisioning state of the Updates proxy resource.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Publisher of the update package.
     * 
     */
    public Optional publisher() {
        return Optional.ofNullable(this.publisher);
    }
    /**
     * @return Link to release notes for the update.
     * 
     */
    public Optional releaseLink() {
        return Optional.ofNullable(this.releaseLink);
    }
    /**
     * @return State of the update as it relates to this stamp.
     * 
     */
    public Optional state() {
        return Optional.ofNullable(this.state);
    }
    /**
     * @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Version of the update.
     * 
     */
    public Optional version() {
        return Optional.ofNullable(this.version);
    }

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

    public static Builder builder(GetUpdateResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String additionalProperties;
        private @Nullable String availabilityType;
        private @Nullable String description;
        private @Nullable String displayName;
        private @Nullable String healthCheckDate;
        private String id;
        private @Nullable String installedDate;
        private @Nullable String location;
        private String name;
        private @Nullable String notifyMessage;
        private @Nullable String packagePath;
        private @Nullable Double packageSizeInMb;
        private @Nullable String packageType;
        private @Nullable List prerequisites;
        private @Nullable Double progressPercentage;
        private String provisioningState;
        private @Nullable String publisher;
        private @Nullable String releaseLink;
        private @Nullable String state;
        private SystemDataResponse systemData;
        private String type;
        private @Nullable String version;
        public Builder() {}
        public Builder(GetUpdateResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.additionalProperties = defaults.additionalProperties;
    	      this.availabilityType = defaults.availabilityType;
    	      this.description = defaults.description;
    	      this.displayName = defaults.displayName;
    	      this.healthCheckDate = defaults.healthCheckDate;
    	      this.id = defaults.id;
    	      this.installedDate = defaults.installedDate;
    	      this.location = defaults.location;
    	      this.name = defaults.name;
    	      this.notifyMessage = defaults.notifyMessage;
    	      this.packagePath = defaults.packagePath;
    	      this.packageSizeInMb = defaults.packageSizeInMb;
    	      this.packageType = defaults.packageType;
    	      this.prerequisites = defaults.prerequisites;
    	      this.progressPercentage = defaults.progressPercentage;
    	      this.provisioningState = defaults.provisioningState;
    	      this.publisher = defaults.publisher;
    	      this.releaseLink = defaults.releaseLink;
    	      this.state = defaults.state;
    	      this.systemData = defaults.systemData;
    	      this.type = defaults.type;
    	      this.version = defaults.version;
        }

        @CustomType.Setter
        public Builder additionalProperties(@Nullable String additionalProperties) {

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

            this.availabilityType = availabilityType;
            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 healthCheckDate(@Nullable String healthCheckDate) {

            this.healthCheckDate = healthCheckDate;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetUpdateResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder installedDate(@Nullable String installedDate) {

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

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

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

            this.packagePath = packagePath;
            return this;
        }
        @CustomType.Setter
        public Builder packageSizeInMb(@Nullable Double packageSizeInMb) {

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

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

            this.prerequisites = prerequisites;
            return this;
        }
        public Builder prerequisites(UpdatePrerequisiteResponse... prerequisites) {
            return prerequisites(List.of(prerequisites));
        }
        @CustomType.Setter
        public Builder progressPercentage(@Nullable Double progressPercentage) {

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

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

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

            this.state = state;
            return this;
        }
        @CustomType.Setter
        public Builder systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetUpdateResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetUpdateResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder version(@Nullable String version) {

            this.version = version;
            return this;
        }
        public GetUpdateResult build() {
            final var _resultValue = new GetUpdateResult();
            _resultValue.additionalProperties = additionalProperties;
            _resultValue.availabilityType = availabilityType;
            _resultValue.description = description;
            _resultValue.displayName = displayName;
            _resultValue.healthCheckDate = healthCheckDate;
            _resultValue.id = id;
            _resultValue.installedDate = installedDate;
            _resultValue.location = location;
            _resultValue.name = name;
            _resultValue.notifyMessage = notifyMessage;
            _resultValue.packagePath = packagePath;
            _resultValue.packageSizeInMb = packageSizeInMb;
            _resultValue.packageType = packageType;
            _resultValue.prerequisites = prerequisites;
            _resultValue.progressPercentage = progressPercentage;
            _resultValue.provisioningState = provisioningState;
            _resultValue.publisher = publisher;
            _resultValue.releaseLink = releaseLink;
            _resultValue.state = state;
            _resultValue.systemData = systemData;
            _resultValue.type = type;
            _resultValue.version = version;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy