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

com.pulumi.azurenative.azurestackhci.UpdateArgs 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.azurestackhci;

import com.pulumi.azurenative.azurestackhci.enums.AvailabilityType;
import com.pulumi.azurenative.azurestackhci.enums.State;
import com.pulumi.azurenative.azurestackhci.inputs.UpdatePrerequisiteArgs;
import com.pulumi.core.Either;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final UpdateArgs Empty = new UpdateArgs();

    /**
     * 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.
     * 
     */
    @Import(name="additionalProperties")
    private @Nullable Output additionalProperties;

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

    /**
     * Indicates the way the update content can be downloaded.
     * 
     */
    @Import(name="availabilityType")
    private @Nullable Output> availabilityType;

    /**
     * @return Indicates the way the update content can be downloaded.
     * 
     */
    public Optional>> availabilityType() {
        return Optional.ofNullable(this.availabilityType);
    }

    /**
     * The name of the cluster.
     * 
     */
    @Import(name="clusterName", required=true)
    private Output clusterName;

    /**
     * @return The name of the cluster.
     * 
     */
    public Output clusterName() {
        return this.clusterName;
    }

    /**
     * Description of the update.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the update.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Display name of the Update
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return Display name of the Update
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * Last time the package-specific checks were run.
     * 
     */
    @Import(name="healthCheckDate")
    private @Nullable Output healthCheckDate;

    /**
     * @return Last time the package-specific checks were run.
     * 
     */
    public Optional> healthCheckDate() {
        return Optional.ofNullable(this.healthCheckDate);
    }

    /**
     * Date that the update was installed.
     * 
     */
    @Import(name="installedDate")
    private @Nullable Output installedDate;

    /**
     * @return Date that the update was installed.
     * 
     */
    public Optional> installedDate() {
        return Optional.ofNullable(this.installedDate);
    }

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

    /**
     * Brief message with instructions for updates of AvailabilityType Notify.
     * 
     */
    @Import(name="notifyMessage")
    private @Nullable Output notifyMessage;

    /**
     * @return Brief message with instructions for updates of AvailabilityType Notify.
     * 
     */
    public Optional> notifyMessage() {
        return Optional.ofNullable(this.notifyMessage);
    }

    /**
     * Path where the update package is available.
     * 
     */
    @Import(name="packagePath")
    private @Nullable Output packagePath;

    /**
     * @return Path where the update package is available.
     * 
     */
    public Optional> packagePath() {
        return Optional.ofNullable(this.packagePath);
    }

    /**
     * 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.
     * 
     */
    @Import(name="packageSizeInMb")
    private @Nullable Output packageSizeInMb;

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

    /**
     * Customer-visible type of the update.
     * 
     */
    @Import(name="packageType")
    private @Nullable Output packageType;

    /**
     * @return Customer-visible type of the update.
     * 
     */
    public Optional> packageType() {
        return Optional.ofNullable(this.packageType);
    }

    /**
     * If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.
     * 
     */
    @Import(name="prerequisites")
    private @Nullable Output> prerequisites;

    /**
     * @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 Optional>> prerequisites() {
        return Optional.ofNullable(this.prerequisites);
    }

    /**
     * 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.
     * 
     */
    @Import(name="progressPercentage")
    private @Nullable Output progressPercentage;

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

    /**
     * Publisher of the update package.
     * 
     */
    @Import(name="publisher")
    private @Nullable Output publisher;

    /**
     * @return Publisher of the update package.
     * 
     */
    public Optional> publisher() {
        return Optional.ofNullable(this.publisher);
    }

    /**
     * Link to release notes for the update.
     * 
     */
    @Import(name="releaseLink")
    private @Nullable Output releaseLink;

    /**
     * @return Link to release notes for the update.
     * 
     */
    public Optional> releaseLink() {
        return Optional.ofNullable(this.releaseLink);
    }

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

    /**
     * State of the update as it relates to this stamp.
     * 
     */
    @Import(name="state")
    private @Nullable Output> state;

    /**
     * @return State of the update as it relates to this stamp.
     * 
     */
    public Optional>> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * The name of the Update
     * 
     */
    @Import(name="updateName")
    private @Nullable Output updateName;

    /**
     * @return The name of the Update
     * 
     */
    public Optional> updateName() {
        return Optional.ofNullable(this.updateName);
    }

    /**
     * Version of the update.
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return Version of the update.
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    private UpdateArgs() {}

    private UpdateArgs(UpdateArgs $) {
        this.additionalProperties = $.additionalProperties;
        this.availabilityType = $.availabilityType;
        this.clusterName = $.clusterName;
        this.description = $.description;
        this.displayName = $.displayName;
        this.healthCheckDate = $.healthCheckDate;
        this.installedDate = $.installedDate;
        this.location = $.location;
        this.notifyMessage = $.notifyMessage;
        this.packagePath = $.packagePath;
        this.packageSizeInMb = $.packageSizeInMb;
        this.packageType = $.packageType;
        this.prerequisites = $.prerequisites;
        this.progressPercentage = $.progressPercentage;
        this.publisher = $.publisher;
        this.releaseLink = $.releaseLink;
        this.resourceGroupName = $.resourceGroupName;
        this.state = $.state;
        this.updateName = $.updateName;
        this.version = $.version;
    }

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

    public static final class Builder {
        private UpdateArgs $;

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

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

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

        /**
         * @param additionalProperties 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.
         * 
         * @return builder
         * 
         */
        public Builder additionalProperties(String additionalProperties) {
            return additionalProperties(Output.of(additionalProperties));
        }

        /**
         * @param availabilityType Indicates the way the update content can be downloaded.
         * 
         * @return builder
         * 
         */
        public Builder availabilityType(@Nullable Output> availabilityType) {
            $.availabilityType = availabilityType;
            return this;
        }

        /**
         * @param availabilityType Indicates the way the update content can be downloaded.
         * 
         * @return builder
         * 
         */
        public Builder availabilityType(Either availabilityType) {
            return availabilityType(Output.of(availabilityType));
        }

        /**
         * @param availabilityType Indicates the way the update content can be downloaded.
         * 
         * @return builder
         * 
         */
        public Builder availabilityType(String availabilityType) {
            return availabilityType(Either.ofLeft(availabilityType));
        }

        /**
         * @param availabilityType Indicates the way the update content can be downloaded.
         * 
         * @return builder
         * 
         */
        public Builder availabilityType(AvailabilityType availabilityType) {
            return availabilityType(Either.ofRight(availabilityType));
        }

        /**
         * @param clusterName The name of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(Output clusterName) {
            $.clusterName = clusterName;
            return this;
        }

        /**
         * @param clusterName The name of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(String clusterName) {
            return clusterName(Output.of(clusterName));
        }

        /**
         * @param description Description of the update.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the update.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName Display name of the Update
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName Display name of the Update
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param healthCheckDate Last time the package-specific checks were run.
         * 
         * @return builder
         * 
         */
        public Builder healthCheckDate(@Nullable Output healthCheckDate) {
            $.healthCheckDate = healthCheckDate;
            return this;
        }

        /**
         * @param healthCheckDate Last time the package-specific checks were run.
         * 
         * @return builder
         * 
         */
        public Builder healthCheckDate(String healthCheckDate) {
            return healthCheckDate(Output.of(healthCheckDate));
        }

        /**
         * @param installedDate Date that the update was installed.
         * 
         * @return builder
         * 
         */
        public Builder installedDate(@Nullable Output installedDate) {
            $.installedDate = installedDate;
            return this;
        }

        /**
         * @param installedDate Date that the update was installed.
         * 
         * @return builder
         * 
         */
        public Builder installedDate(String installedDate) {
            return installedDate(Output.of(installedDate));
        }

        /**
         * @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 notifyMessage Brief message with instructions for updates of AvailabilityType Notify.
         * 
         * @return builder
         * 
         */
        public Builder notifyMessage(@Nullable Output notifyMessage) {
            $.notifyMessage = notifyMessage;
            return this;
        }

        /**
         * @param notifyMessage Brief message with instructions for updates of AvailabilityType Notify.
         * 
         * @return builder
         * 
         */
        public Builder notifyMessage(String notifyMessage) {
            return notifyMessage(Output.of(notifyMessage));
        }

        /**
         * @param packagePath Path where the update package is available.
         * 
         * @return builder
         * 
         */
        public Builder packagePath(@Nullable Output packagePath) {
            $.packagePath = packagePath;
            return this;
        }

        /**
         * @param packagePath Path where the update package is available.
         * 
         * @return builder
         * 
         */
        public Builder packagePath(String packagePath) {
            return packagePath(Output.of(packagePath));
        }

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

        /**
         * @param packageSizeInMb 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.
         * 
         * @return builder
         * 
         */
        public Builder packageSizeInMb(Double packageSizeInMb) {
            return packageSizeInMb(Output.of(packageSizeInMb));
        }

        /**
         * @param packageType Customer-visible type of the update.
         * 
         * @return builder
         * 
         */
        public Builder packageType(@Nullable Output packageType) {
            $.packageType = packageType;
            return this;
        }

        /**
         * @param packageType Customer-visible type of the update.
         * 
         * @return builder
         * 
         */
        public Builder packageType(String packageType) {
            return packageType(Output.of(packageType));
        }

        /**
         * @param prerequisites If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.
         * 
         * @return builder
         * 
         */
        public Builder prerequisites(@Nullable Output> prerequisites) {
            $.prerequisites = prerequisites;
            return this;
        }

        /**
         * @param prerequisites If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.
         * 
         * @return builder
         * 
         */
        public Builder prerequisites(List prerequisites) {
            return prerequisites(Output.of(prerequisites));
        }

        /**
         * @param prerequisites If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.
         * 
         * @return builder
         * 
         */
        public Builder prerequisites(UpdatePrerequisiteArgs... prerequisites) {
            return prerequisites(List.of(prerequisites));
        }

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

        /**
         * @param progressPercentage 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.
         * 
         * @return builder
         * 
         */
        public Builder progressPercentage(Double progressPercentage) {
            return progressPercentage(Output.of(progressPercentage));
        }

        /**
         * @param publisher Publisher of the update package.
         * 
         * @return builder
         * 
         */
        public Builder publisher(@Nullable Output publisher) {
            $.publisher = publisher;
            return this;
        }

        /**
         * @param publisher Publisher of the update package.
         * 
         * @return builder
         * 
         */
        public Builder publisher(String publisher) {
            return publisher(Output.of(publisher));
        }

        /**
         * @param releaseLink Link to release notes for the update.
         * 
         * @return builder
         * 
         */
        public Builder releaseLink(@Nullable Output releaseLink) {
            $.releaseLink = releaseLink;
            return this;
        }

        /**
         * @param releaseLink Link to release notes for the update.
         * 
         * @return builder
         * 
         */
        public Builder releaseLink(String releaseLink) {
            return releaseLink(Output.of(releaseLink));
        }

        /**
         * @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 state State of the update as it relates to this stamp.
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output> state) {
            $.state = state;
            return this;
        }

        /**
         * @param state State of the update as it relates to this stamp.
         * 
         * @return builder
         * 
         */
        public Builder state(Either state) {
            return state(Output.of(state));
        }

        /**
         * @param state State of the update as it relates to this stamp.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Either.ofLeft(state));
        }

        /**
         * @param state State of the update as it relates to this stamp.
         * 
         * @return builder
         * 
         */
        public Builder state(State state) {
            return state(Either.ofRight(state));
        }

        /**
         * @param updateName The name of the Update
         * 
         * @return builder
         * 
         */
        public Builder updateName(@Nullable Output updateName) {
            $.updateName = updateName;
            return this;
        }

        /**
         * @param updateName The name of the Update
         * 
         * @return builder
         * 
         */
        public Builder updateName(String updateName) {
            return updateName(Output.of(updateName));
        }

        /**
         * @param version Version of the update.
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version Version of the update.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        public UpdateArgs build() {
            if ($.clusterName == null) {
                throw new MissingRequiredPropertyException("UpdateArgs", "clusterName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("UpdateArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy