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

com.azure.resourcemanager.azurestackhci.models.HciUpdate Maven / Gradle / Ivy

Go to download

This package contains Microsoft Azure SDK for AzureStackHci Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Azure Stack HCI management service. Package tag package-2024-04.

The newest version!
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.azurestackhci.models;

import com.azure.core.management.Region;
import com.azure.core.management.SystemData;
import com.azure.core.util.Context;
import com.azure.resourcemanager.azurestackhci.fluent.models.HciUpdateInner;
import java.time.OffsetDateTime;
import java.util.List;

/**
 * An immutable client-side representation of HciUpdate.
 */
public interface HciUpdate {
    /**
     * Gets the id property: Fully qualified resource Id for the resource.
     * 
     * @return the id value.
     */
    String id();

    /**
     * Gets the name property: The name of the resource.
     * 
     * @return the name value.
     */
    String name();

    /**
     * Gets the type property: The type of the resource.
     * 
     * @return the type value.
     */
    String type();

    /**
     * Gets the location property: The geo-location where the resource lives.
     * 
     * @return the location value.
     */
    String location();

    /**
     * Gets the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     * @return the systemData value.
     */
    SystemData systemData();

    /**
     * Gets the provisioningState property: Provisioning state of the Updates proxy resource.
     * 
     * @return the provisioningState value.
     */
    ProvisioningState provisioningState();

    /**
     * Gets the installedDate property: Date that the update was installed.
     * 
     * @return the installedDate value.
     */
    OffsetDateTime installedDate();

    /**
     * Gets the description property: Description of the update.
     * 
     * @return the description value.
     */
    String description();

    /**
     * Gets the minSbeVersionRequired property: Minimum Sbe Version of the update.
     * 
     * @return the minSbeVersionRequired value.
     */
    String minSbeVersionRequired();

    /**
     * Gets the state property: State of the update as it relates to this stamp.
     * 
     * @return the state value.
     */
    State state();

    /**
     * Gets the prerequisites property: If update State is HasPrerequisite, this property contains an array of objects
     * describing prerequisite updates before installing this update. Otherwise, it is empty.
     * 
     * @return the prerequisites value.
     */
    List prerequisites();

    /**
     * Gets the componentVersions property: An array of component versions for a Solution Bundle update, and an empty
     * array otherwise.
     * 
     * @return the componentVersions value.
     */
    List componentVersions();

    /**
     * Gets the rebootRequired property: The rebootRequired property.
     * 
     * @return the rebootRequired value.
     */
    RebootRequirement rebootRequired();

    /**
     * Gets the healthState property: Overall health state for update-specific health checks.
     * 
     * @return the healthState value.
     */
    HealthState healthState();

    /**
     * Gets the healthCheckResult property: An array of PrecheckResult objects.
     * 
     * @return the healthCheckResult value.
     */
    List healthCheckResult();

    /**
     * Gets the healthCheckDate property: Last time the package-specific checks were run.
     * 
     * @return the healthCheckDate value.
     */
    OffsetDateTime healthCheckDate();

    /**
     * Gets the packagePath property: Path where the update package is available.
     * 
     * @return the packagePath value.
     */
    String packagePath();

    /**
     * Gets the packageSizeInMb property: 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 the packageSizeInMb value.
     */
    Float packageSizeInMb();

    /**
     * Gets the displayName property: Display name of the Update.
     * 
     * @return the displayName value.
     */
    String displayName();

    /**
     * Gets the version property: Version of the update.
     * 
     * @return the version value.
     */
    String version();

    /**
     * Gets the publisher property: Publisher of the update package.
     * 
     * @return the publisher value.
     */
    String publisher();

    /**
     * Gets the releaseLink property: Link to release notes for the update.
     * 
     * @return the releaseLink value.
     */
    String releaseLink();

    /**
     * Gets the availabilityType property: Indicates the way the update content can be downloaded.
     * 
     * @return the availabilityType value.
     */
    AvailabilityType availabilityType();

    /**
     * Gets the packageType property: Customer-visible type of the update.
     * 
     * @return the packageType value.
     */
    String packageType();

    /**
     * Gets the additionalProperties property: 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 the additionalProperties value.
     */
    String additionalProperties();

    /**
     * Gets the progressPercentage property: 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 the progressPercentage value.
     */
    Float progressPercentage();

    /**
     * Gets the notifyMessage property: Brief message with instructions for updates of AvailabilityType Notify.
     * 
     * @return the notifyMessage value.
     */
    String notifyMessage();

    /**
     * Gets the region of the resource.
     * 
     * @return the region of the resource.
     */
    Region region();

    /**
     * Gets the name of the resource region.
     * 
     * @return the name of the resource region.
     */
    String regionName();

    /**
     * Gets the name of the resource group.
     * 
     * @return the name of the resource group.
     */
    String resourceGroupName();

    /**
     * Gets the inner com.azure.resourcemanager.azurestackhci.fluent.models.HciUpdateInner object.
     * 
     * @return the inner object.
     */
    HciUpdateInner innerModel();

    /**
     * The entirety of the HciUpdate definition.
     */
    interface Definition
        extends DefinitionStages.Blank, DefinitionStages.WithParentResource, DefinitionStages.WithCreate {
    }

    /**
     * The HciUpdate definition stages.
     */
    interface DefinitionStages {
        /**
         * The first stage of the HciUpdate definition.
         */
        interface Blank extends WithParentResource {
        }

        /**
         * The stage of the HciUpdate definition allowing to specify parent resource.
         */
        interface WithParentResource {
            /**
             * Specifies resourceGroupName, clusterName.
             * 
             * @param resourceGroupName The name of the resource group. The name is case insensitive.
             * @param clusterName The name of the cluster.
             * @return the next definition stage.
             */
            WithCreate withExistingCluster(String resourceGroupName, String clusterName);
        }

        /**
         * The stage of the HciUpdate definition which contains all the minimum required properties for the resource to
         * be created, but also allows for any other optional properties to be specified.
         */
        interface WithCreate
            extends DefinitionStages.WithLocation, DefinitionStages.WithInstalledDate, DefinitionStages.WithDescription,
            DefinitionStages.WithMinSbeVersionRequired, DefinitionStages.WithState, DefinitionStages.WithPrerequisites,
            DefinitionStages.WithComponentVersions, DefinitionStages.WithRebootRequired,
            DefinitionStages.WithHealthState, DefinitionStages.WithHealthCheckResult,
            DefinitionStages.WithHealthCheckDate, DefinitionStages.WithPackagePath,
            DefinitionStages.WithPackageSizeInMb, DefinitionStages.WithDisplayName, DefinitionStages.WithVersion,
            DefinitionStages.WithPublisher, DefinitionStages.WithReleaseLink, DefinitionStages.WithAvailabilityType,
            DefinitionStages.WithPackageType, DefinitionStages.WithAdditionalProperties,
            DefinitionStages.WithProgressPercentage, DefinitionStages.WithNotifyMessage {
            /**
             * Executes the create request.
             * 
             * @return the created resource.
             */
            HciUpdate create();

            /**
             * Executes the create request.
             * 
             * @param context The context to associate with this operation.
             * @return the created resource.
             */
            HciUpdate create(Context context);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify location.
         */
        interface WithLocation {
            /**
             * Specifies the region for the resource.
             * 
             * @param location The geo-location where the resource lives.
             * @return the next definition stage.
             */
            WithCreate withRegion(Region location);

            /**
             * Specifies the region for the resource.
             * 
             * @param location The geo-location where the resource lives.
             * @return the next definition stage.
             */
            WithCreate withRegion(String location);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify installedDate.
         */
        interface WithInstalledDate {
            /**
             * Specifies the installedDate property: Date that the update was installed..
             * 
             * @param installedDate Date that the update was installed.
             * @return the next definition stage.
             */
            WithCreate withInstalledDate(OffsetDateTime installedDate);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify description.
         */
        interface WithDescription {
            /**
             * Specifies the description property: Description of the update..
             * 
             * @param description Description of the update.
             * @return the next definition stage.
             */
            WithCreate withDescription(String description);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify minSbeVersionRequired.
         */
        interface WithMinSbeVersionRequired {
            /**
             * Specifies the minSbeVersionRequired property: Minimum Sbe Version of the update..
             * 
             * @param minSbeVersionRequired Minimum Sbe Version of the update.
             * @return the next definition stage.
             */
            WithCreate withMinSbeVersionRequired(String minSbeVersionRequired);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify state.
         */
        interface WithState {
            /**
             * Specifies the state property: State of the update as it relates to this stamp..
             * 
             * @param state State of the update as it relates to this stamp.
             * @return the next definition stage.
             */
            WithCreate withState(State state);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify prerequisites.
         */
        interface WithPrerequisites {
            /**
             * Specifies the prerequisites property: If update State is HasPrerequisite, this property contains an array
             * of objects describing prerequisite updates before installing this update. Otherwise, it is empty..
             * 
             * @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 the next definition stage.
             */
            WithCreate withPrerequisites(List prerequisites);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify componentVersions.
         */
        interface WithComponentVersions {
            /**
             * Specifies the componentVersions property: An array of component versions for a Solution Bundle update,
             * and an empty array otherwise. .
             * 
             * @param componentVersions An array of component versions for a Solution Bundle update, and an empty array
             * otherwise.
             * @return the next definition stage.
             */
            WithCreate withComponentVersions(List componentVersions);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify rebootRequired.
         */
        interface WithRebootRequired {
            /**
             * Specifies the rebootRequired property: The rebootRequired property..
             * 
             * @param rebootRequired The rebootRequired property.
             * @return the next definition stage.
             */
            WithCreate withRebootRequired(RebootRequirement rebootRequired);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify healthState.
         */
        interface WithHealthState {
            /**
             * Specifies the healthState property: Overall health state for update-specific health checks..
             * 
             * @param healthState Overall health state for update-specific health checks.
             * @return the next definition stage.
             */
            WithCreate withHealthState(HealthState healthState);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify healthCheckResult.
         */
        interface WithHealthCheckResult {
            /**
             * Specifies the healthCheckResult property: An array of PrecheckResult objects..
             * 
             * @param healthCheckResult An array of PrecheckResult objects.
             * @return the next definition stage.
             */
            WithCreate withHealthCheckResult(List healthCheckResult);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify healthCheckDate.
         */
        interface WithHealthCheckDate {
            /**
             * Specifies the healthCheckDate property: Last time the package-specific checks were run..
             * 
             * @param healthCheckDate Last time the package-specific checks were run.
             * @return the next definition stage.
             */
            WithCreate withHealthCheckDate(OffsetDateTime healthCheckDate);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify packagePath.
         */
        interface WithPackagePath {
            /**
             * Specifies the packagePath property: Path where the update package is available..
             * 
             * @param packagePath Path where the update package is available.
             * @return the next definition stage.
             */
            WithCreate withPackagePath(String packagePath);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify packageSizeInMb.
         */
        interface WithPackageSizeInMb {
            /**
             * Specifies the packageSizeInMb property: 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..
             * 
             * @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 the next definition stage.
             */
            WithCreate withPackageSizeInMb(Float packageSizeInMb);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify displayName.
         */
        interface WithDisplayName {
            /**
             * Specifies the displayName property: Display name of the Update.
             * 
             * @param displayName Display name of the Update.
             * @return the next definition stage.
             */
            WithCreate withDisplayName(String displayName);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify version.
         */
        interface WithVersion {
            /**
             * Specifies the version property: Version of the update..
             * 
             * @param version Version of the update.
             * @return the next definition stage.
             */
            WithCreate withVersion(String version);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify publisher.
         */
        interface WithPublisher {
            /**
             * Specifies the publisher property: Publisher of the update package..
             * 
             * @param publisher Publisher of the update package.
             * @return the next definition stage.
             */
            WithCreate withPublisher(String publisher);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify releaseLink.
         */
        interface WithReleaseLink {
            /**
             * Specifies the releaseLink property: Link to release notes for the update..
             * 
             * @param releaseLink Link to release notes for the update.
             * @return the next definition stage.
             */
            WithCreate withReleaseLink(String releaseLink);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify availabilityType.
         */
        interface WithAvailabilityType {
            /**
             * Specifies the availabilityType property: Indicates the way the update content can be downloaded..
             * 
             * @param availabilityType Indicates the way the update content can be downloaded.
             * @return the next definition stage.
             */
            WithCreate withAvailabilityType(AvailabilityType availabilityType);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify packageType.
         */
        interface WithPackageType {
            /**
             * Specifies the packageType property: Customer-visible type of the update..
             * 
             * @param packageType Customer-visible type of the update.
             * @return the next definition stage.
             */
            WithCreate withPackageType(String packageType);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify additionalProperties.
         */
        interface WithAdditionalProperties {
            /**
             * Specifies the additionalProperties property: 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..
             * 
             * @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 the next definition stage.
             */
            WithCreate withAdditionalProperties(String additionalProperties);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify progressPercentage.
         */
        interface WithProgressPercentage {
            /**
             * Specifies the progressPercentage property: 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..
             * 
             * @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 the next definition stage.
             */
            WithCreate withProgressPercentage(Float progressPercentage);
        }

        /**
         * The stage of the HciUpdate definition allowing to specify notifyMessage.
         */
        interface WithNotifyMessage {
            /**
             * Specifies the notifyMessage property: Brief message with instructions for updates of AvailabilityType
             * Notify..
             * 
             * @param notifyMessage Brief message with instructions for updates of AvailabilityType Notify.
             * @return the next definition stage.
             */
            WithCreate withNotifyMessage(String notifyMessage);
        }
    }

    /**
     * Begins update for the HciUpdate resource.
     * 
     * @return the stage of resource update.
     */
    HciUpdate.Update update();

    /**
     * The template for HciUpdate update.
     */
    interface Update
        extends UpdateStages.WithInstalledDate, UpdateStages.WithDescription, UpdateStages.WithMinSbeVersionRequired,
        UpdateStages.WithState, UpdateStages.WithPrerequisites, UpdateStages.WithComponentVersions,
        UpdateStages.WithRebootRequired, UpdateStages.WithHealthState, UpdateStages.WithHealthCheckResult,
        UpdateStages.WithHealthCheckDate, UpdateStages.WithPackagePath, UpdateStages.WithPackageSizeInMb,
        UpdateStages.WithDisplayName, UpdateStages.WithVersion, UpdateStages.WithPublisher,
        UpdateStages.WithReleaseLink, UpdateStages.WithAvailabilityType, UpdateStages.WithPackageType,
        UpdateStages.WithAdditionalProperties, UpdateStages.WithProgressPercentage, UpdateStages.WithNotifyMessage {
        /**
         * Executes the update request.
         * 
         * @return the updated resource.
         */
        HciUpdate apply();

        /**
         * Executes the update request.
         * 
         * @param context The context to associate with this operation.
         * @return the updated resource.
         */
        HciUpdate apply(Context context);
    }

    /**
     * The HciUpdate update stages.
     */
    interface UpdateStages {
        /**
         * The stage of the HciUpdate update allowing to specify installedDate.
         */
        interface WithInstalledDate {
            /**
             * Specifies the installedDate property: Date that the update was installed..
             * 
             * @param installedDate Date that the update was installed.
             * @return the next definition stage.
             */
            Update withInstalledDate(OffsetDateTime installedDate);
        }

        /**
         * The stage of the HciUpdate update allowing to specify description.
         */
        interface WithDescription {
            /**
             * Specifies the description property: Description of the update..
             * 
             * @param description Description of the update.
             * @return the next definition stage.
             */
            Update withDescription(String description);
        }

        /**
         * The stage of the HciUpdate update allowing to specify minSbeVersionRequired.
         */
        interface WithMinSbeVersionRequired {
            /**
             * Specifies the minSbeVersionRequired property: Minimum Sbe Version of the update..
             * 
             * @param minSbeVersionRequired Minimum Sbe Version of the update.
             * @return the next definition stage.
             */
            Update withMinSbeVersionRequired(String minSbeVersionRequired);
        }

        /**
         * The stage of the HciUpdate update allowing to specify state.
         */
        interface WithState {
            /**
             * Specifies the state property: State of the update as it relates to this stamp..
             * 
             * @param state State of the update as it relates to this stamp.
             * @return the next definition stage.
             */
            Update withState(State state);
        }

        /**
         * The stage of the HciUpdate update allowing to specify prerequisites.
         */
        interface WithPrerequisites {
            /**
             * Specifies the prerequisites property: If update State is HasPrerequisite, this property contains an array
             * of objects describing prerequisite updates before installing this update. Otherwise, it is empty..
             * 
             * @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 the next definition stage.
             */
            Update withPrerequisites(List prerequisites);
        }

        /**
         * The stage of the HciUpdate update allowing to specify componentVersions.
         */
        interface WithComponentVersions {
            /**
             * Specifies the componentVersions property: An array of component versions for a Solution Bundle update,
             * and an empty array otherwise. .
             * 
             * @param componentVersions An array of component versions for a Solution Bundle update, and an empty array
             * otherwise.
             * @return the next definition stage.
             */
            Update withComponentVersions(List componentVersions);
        }

        /**
         * The stage of the HciUpdate update allowing to specify rebootRequired.
         */
        interface WithRebootRequired {
            /**
             * Specifies the rebootRequired property: The rebootRequired property..
             * 
             * @param rebootRequired The rebootRequired property.
             * @return the next definition stage.
             */
            Update withRebootRequired(RebootRequirement rebootRequired);
        }

        /**
         * The stage of the HciUpdate update allowing to specify healthState.
         */
        interface WithHealthState {
            /**
             * Specifies the healthState property: Overall health state for update-specific health checks..
             * 
             * @param healthState Overall health state for update-specific health checks.
             * @return the next definition stage.
             */
            Update withHealthState(HealthState healthState);
        }

        /**
         * The stage of the HciUpdate update allowing to specify healthCheckResult.
         */
        interface WithHealthCheckResult {
            /**
             * Specifies the healthCheckResult property: An array of PrecheckResult objects..
             * 
             * @param healthCheckResult An array of PrecheckResult objects.
             * @return the next definition stage.
             */
            Update withHealthCheckResult(List healthCheckResult);
        }

        /**
         * The stage of the HciUpdate update allowing to specify healthCheckDate.
         */
        interface WithHealthCheckDate {
            /**
             * Specifies the healthCheckDate property: Last time the package-specific checks were run..
             * 
             * @param healthCheckDate Last time the package-specific checks were run.
             * @return the next definition stage.
             */
            Update withHealthCheckDate(OffsetDateTime healthCheckDate);
        }

        /**
         * The stage of the HciUpdate update allowing to specify packagePath.
         */
        interface WithPackagePath {
            /**
             * Specifies the packagePath property: Path where the update package is available..
             * 
             * @param packagePath Path where the update package is available.
             * @return the next definition stage.
             */
            Update withPackagePath(String packagePath);
        }

        /**
         * The stage of the HciUpdate update allowing to specify packageSizeInMb.
         */
        interface WithPackageSizeInMb {
            /**
             * Specifies the packageSizeInMb property: 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..
             * 
             * @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 the next definition stage.
             */
            Update withPackageSizeInMb(Float packageSizeInMb);
        }

        /**
         * The stage of the HciUpdate update allowing to specify displayName.
         */
        interface WithDisplayName {
            /**
             * Specifies the displayName property: Display name of the Update.
             * 
             * @param displayName Display name of the Update.
             * @return the next definition stage.
             */
            Update withDisplayName(String displayName);
        }

        /**
         * The stage of the HciUpdate update allowing to specify version.
         */
        interface WithVersion {
            /**
             * Specifies the version property: Version of the update..
             * 
             * @param version Version of the update.
             * @return the next definition stage.
             */
            Update withVersion(String version);
        }

        /**
         * The stage of the HciUpdate update allowing to specify publisher.
         */
        interface WithPublisher {
            /**
             * Specifies the publisher property: Publisher of the update package..
             * 
             * @param publisher Publisher of the update package.
             * @return the next definition stage.
             */
            Update withPublisher(String publisher);
        }

        /**
         * The stage of the HciUpdate update allowing to specify releaseLink.
         */
        interface WithReleaseLink {
            /**
             * Specifies the releaseLink property: Link to release notes for the update..
             * 
             * @param releaseLink Link to release notes for the update.
             * @return the next definition stage.
             */
            Update withReleaseLink(String releaseLink);
        }

        /**
         * The stage of the HciUpdate update allowing to specify availabilityType.
         */
        interface WithAvailabilityType {
            /**
             * Specifies the availabilityType property: Indicates the way the update content can be downloaded..
             * 
             * @param availabilityType Indicates the way the update content can be downloaded.
             * @return the next definition stage.
             */
            Update withAvailabilityType(AvailabilityType availabilityType);
        }

        /**
         * The stage of the HciUpdate update allowing to specify packageType.
         */
        interface WithPackageType {
            /**
             * Specifies the packageType property: Customer-visible type of the update..
             * 
             * @param packageType Customer-visible type of the update.
             * @return the next definition stage.
             */
            Update withPackageType(String packageType);
        }

        /**
         * The stage of the HciUpdate update allowing to specify additionalProperties.
         */
        interface WithAdditionalProperties {
            /**
             * Specifies the additionalProperties property: 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..
             * 
             * @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 the next definition stage.
             */
            Update withAdditionalProperties(String additionalProperties);
        }

        /**
         * The stage of the HciUpdate update allowing to specify progressPercentage.
         */
        interface WithProgressPercentage {
            /**
             * Specifies the progressPercentage property: 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..
             * 
             * @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 the next definition stage.
             */
            Update withProgressPercentage(Float progressPercentage);
        }

        /**
         * The stage of the HciUpdate update allowing to specify notifyMessage.
         */
        interface WithNotifyMessage {
            /**
             * Specifies the notifyMessage property: Brief message with instructions for updates of AvailabilityType
             * Notify..
             * 
             * @param notifyMessage Brief message with instructions for updates of AvailabilityType Notify.
             * @return the next definition stage.
             */
            Update withNotifyMessage(String notifyMessage);
        }
    }

    /**
     * Refreshes the resource to sync with Azure.
     * 
     * @return the refreshed resource.
     */
    HciUpdate refresh();

    /**
     * Refreshes the resource to sync with Azure.
     * 
     * @param context The context to associate with this operation.
     * @return the refreshed resource.
     */
    HciUpdate refresh(Context context);

    /**
     * Apply Update.
     * 
     * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
     */
    void post();

    /**
     * Apply Update.
     * 
     * @param context The context to associate with this operation.
     * @throws IllegalArgumentException thrown if parameters fail the validation.
     * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
     */
    void post(Context context);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy