![JAR search and dependency download from the Maven repository](/logo.png)
com.azure.resourcemanager.compute.models.VirtualMachineScaleSetExtension Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-resourcemanager-compute Show documentation
Show all versions of azure-resourcemanager-compute Show documentation
This package contains Microsoft Azure Compute Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.resourcemanager.compute.models;
import com.azure.core.annotation.Fluent;
import com.azure.resourcemanager.compute.fluent.models.VirtualMachineScaleSetExtensionInner;
import com.azure.resourcemanager.resources.fluentcore.arm.models.ChildResource;
import com.azure.resourcemanager.resources.fluentcore.model.Attachable;
import com.azure.resourcemanager.resources.fluentcore.model.HasInnerModel;
import com.azure.resourcemanager.resources.fluentcore.model.Settable;
import java.util.HashMap;
import java.util.Map;
/** An immutable client-side representation of an extension associated with virtual machines in a scale set. */
@Fluent
public interface VirtualMachineScaleSetExtension
extends HasInnerModel, ChildResource {
/** @return the publisher name of the virtual machine scale set extension image this extension is created from */
String publisherName();
/** @return the type name of the virtual machine scale set extension image this extension is created from */
String typeName();
/** @return the version name of the virtual machine scale set extension image this extension is created from */
String versionName();
/**
* @return true if this extension is configured to upgrade automatically when a new minor version of the extension
* image that this extension based on is published
*/
boolean autoUpgradeMinorVersionEnabled();
/** @return the public settings of the virtual machine scale set extension as key value pairs */
Map publicSettings();
/** @return the public settings of the virtual machine extension as a JSON string */
String publicSettingsAsJsonString();
/** @return the provisioning state of this virtual machine scale set extension */
String provisioningState();
/**
* The entirety of a virtual machine scale set extension definition as a part of a parent definition.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface Definition
extends DefinitionStages.Blank,
DefinitionStages.WithImageOrPublisher,
DefinitionStages.WithPublisher,
DefinitionStages.WithType,
DefinitionStages.WithVersion,
DefinitionStages.WithAttach {
}
/**
* Grouping of virtual machine scale set extension definition stages as a part of parent virtual machine scale set
* definition.
*/
interface DefinitionStages {
/**
* The first stage of a virtual machine scale set extension definition.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface Blank extends WithImageOrPublisher {
}
/**
* The stage of a virtual machines scale set extension definition allowing to specify an extension image or
* specify name of the virtual machine scale set extension publisher.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithImageOrPublisher extends WithPublisher {
/**
* Specifies the virtual machine scale set extension image to use.
*
* @param image an extension image
* @return the next stage of the definition
*/
WithAttach withImage(VirtualMachineExtensionImage image);
}
/**
* The stage of a virtual machine scale set extension definition allowing to specify the publisher of the
* extension image this extension is based on.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithPublisher {
/**
* Specifies the name of the publisher of the virtual machine scale set extension image.
*
* @param extensionImagePublisherName a publisher name
* @return the next stage of the definition
*/
WithType withPublisher(String extensionImagePublisherName);
}
/**
* The stage of a virtual machine scale set extension definition allowing to specify the type of the virtual
* machine scale set extension image this extension is based on.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithType {
/**
* Specifies the type of the virtual machine scale set extension image.
*
* @param extensionImageTypeName the image type name
* @return the next stage of the definition
*/
WithVersion withType(String extensionImageTypeName);
}
/**
* The stage of a virtual machine scale set extension definition allowing to specify the type of the virtual
* machine scale set extension version this extension is based on.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithVersion {
/**
* Specifies the version of the virtual machine scale set image extension.
*
* @param extensionImageVersionName the version name
* @return the next stage of the definition
*/
WithAttach withVersion(String extensionImageVersionName);
}
/**
* The final stage of a virtual machine scale set extension definition.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithAttach
extends Attachable.InDefinition, WithAutoUpgradeMinorVersion, WithSettings {
}
/**
* The stage of a virtual machine scale set extension definition allowing to enable or disable auto upgrade of
* the extension when when a new minor version of virtual machine scale set extension image gets published.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithAutoUpgradeMinorVersion {
/**
* Enables auto upgrading of the extension with minor versions.
*
* @return the next stage of the definition
*/
WithAttach withMinorVersionAutoUpgrade();
/**
* Disables auto upgrading the extension with minor versions.
*
* @return the next stage of the definition
*/
WithAttach withoutMinorVersionAutoUpgrade();
}
/**
* The stage of a virtual machine scale set extension definition allowing to specify the public and private
* settings.
*
* @param the stage of the parent definition to return to after attaching this definition
*/
interface WithSettings {
/**
* Specifies a public settings entry.
*
* @param key the key of a public settings entry
* @param value the value of the public settings entry
* @return the next stage of the definition
*/
WithAttach withPublicSetting(String key, Object value);
/**
* Specifies a private settings entry.
*
* @param key the key of a private settings entry
* @param value the value of the private settings entry
* @return the next stage of the definition
*/
WithAttach withProtectedSetting(String key, Object value);
/**
* Specifies public settings.
*
* @param settings the public settings
* @return the next stage of the definition
*/
WithAttach withPublicSettings(HashMap settings);
/**
* Specifies private settings.
*
* @param settings the private settings
* @return the next stage of the definition
*/
WithAttach withProtectedSettings(HashMap settings);
}
}
/**
* Grouping of virtual machine scale set extension definition stages as part of parent virtual machine scale set
* update.
*/
interface UpdateDefinitionStages {
/**
* The first stage of a virtual machine scale set extension definition.
*
* @param the stage of the parent update to return to after attaching this definition
*/
interface Blank extends WithImageOrPublisher {
}
/**
* The stage of a virtual machine scale set extension allowing to specify an extension image or the name of the
* virtual machine extension publisher.
*
* @param the stage of the parent update to return to after attaching this definition
*/
interface WithImageOrPublisher extends WithPublisher {
/**
* Specifies the virtual machine scale set extension image to use.
*
* @param image an extension image
* @return the next stage of the definition
*/
WithAttach withImage(VirtualMachineExtensionImage image);
}
/**
* The stage of a virtual machine scale set extension definition allowing to specify the publisher of the
* virtual machine scale set extension image this extension is based on.
*
* @param the stage of the parent update to return to after attaching this definition
*/
interface WithPublisher {
/**
* Specifies the name of the virtual machine scale set extension image publisher.
*
* @param extensionImagePublisherName the publisher name
* @return the next stage of the definition
*/
WithType withPublisher(String extensionImagePublisherName);
}
/**
* The stage of a virtual machine scale set extension definition allowing to specify the type of the virtual
* machine scale set extension image this extension is based on.
*
* @param the stage of the parent update to return to after attaching this definition
*/
interface WithType {
/**
* Specifies the type of the virtual machine scale set extension image.
*
* @param extensionImageTypeName an image type name
* @return the next stage of the definition
*/
WithVersion withType(String extensionImageTypeName);
}
/**
* The stage of a virtual machine scale set extension definition allowing to specify the type of the virtual
* machine scale set extension version this extension is based on.
*
* @param the stage of the parent update to return to after attaching this definition
*/
interface WithVersion {
/**
* Specifies the version of the virtual machine scale set image extension.
*
* @param extensionImageVersionName a version name
* @return the next stage of the definition
*/
WithAttach withVersion(String extensionImageVersionName);
}
/**
* The final stage of the virtual machine scale set extension definition.
*
* @param the stage of the parent update to return to after attaching this definition
*/
interface WithAttach
extends Attachable.InUpdate, WithAutoUpgradeMinorVersion, WithSettings {
}
/**
* The stage of a virtual machine scale set extension definition allowing to enable or disable auto upgrade of
* the extension when when a new minor version of virtual machine scale set extension image gets published.
*
* @param the stage of the parent update to return to after attaching this definition
*/
interface WithAutoUpgradeMinorVersion {
/**
* Enables auto upgrading of the extension with minor versions.
*
* @return the next stage of the definition
*/
WithAttach withMinorVersionAutoUpgrade();
/**
* Disables auto upgrade of the extension with minor versions.
*
* @return the next stage of the definition
*/
WithAttach withoutMinorVersionAutoUpgrade();
}
/**
* The stage of a virtual machine scale set extension definition allowing to specify the public and private
* settings.
*
* @param the stage of the parent update to return to after attaching this definition
*/
interface WithSettings {
/**
* Specifies a public settings entry.
*
* @param key the key of a public settings entry
* @param value the value of the public settings entry
* @return the next stage of the definition
*/
WithAttach withPublicSetting(String key, Object value);
/**
* Specifies a private settings entry.
*
* @param key the key of a private settings entry
* @param value the value of the private settings entry
* @return the next stage of the definition
*/
WithAttach withProtectedSetting(String key, Object value);
/**
* Specifies public settings.
*
* @param settings the public settings
* @return the next stage of the definition
*/
WithAttach withPublicSettings(HashMap settings);
/**
* Specifies private settings.
*
* @param settings the private settings
* @return the next stage of the definition
*/
WithAttach withProtectedSettings(HashMap settings);
}
}
/**
* The entirety of a virtual machine scale set extension definition as a part of parent update.
*
* @param the stage of the parent update to return to after attaching this definition
*/
interface UpdateDefinition
extends UpdateDefinitionStages.Blank,
UpdateDefinitionStages.WithImageOrPublisher,
UpdateDefinitionStages.WithPublisher,
UpdateDefinitionStages.WithType,
UpdateDefinitionStages.WithVersion,
UpdateDefinitionStages.WithAttach {
}
/** Grouping of virtual machine extension update stages. */
interface UpdateStages {
/**
* The stage of a virtual machine scale set extension update allowing to enable or disable auto upgrade of the
* extension when when a new minor version of virtual machine scale set extension image gets published.
*/
interface WithAutoUpgradeMinorVersion {
/**
* Enables auto-upgrading of the extension with minor versions.
*
* @return the next stage of the update
*/
Update withMinorVersionAutoUpgrade();
/**
* Disables auto upgrading of the extension with minor versions.
*
* @return the next stage of the update
*/
Update withoutMinorVersionAutoUpgrade();
}
/**
* The stage of a virtual machine scale set extension update allowing to add or update public and private
* settings.
*/
interface WithSettings {
/**
* Specifies a public settings entry.
*
* @param key the key of a public settings entry
* @param value the value of the public settings entry
* @return the next stage of the update
*/
Update withPublicSetting(String key, Object value);
/**
* Specifies a private settings entry.
*
* @param key the key of a private settings entry
* @param value the value of the private settings entry
* @return the next stage of the update
*/
Update withProtectedSetting(String key, Object value);
/**
* Specifies public settings.
*
* @param settings the public settings
* @return the next stage of the update
*/
Update withPublicSettings(HashMap settings);
/**
* Specifies private settings.
*
* @param settings the private settings
* @return the next stage of the update
*/
Update withProtectedSettings(HashMap settings);
}
}
/**
* The entirety of virtual machine scale set extension update as a part of parent virtual machine scale set update.
*/
interface Update
extends Settable,
UpdateStages.WithAutoUpgradeMinorVersion,
UpdateStages.WithSettings {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy