Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See License.txt in the project root for
license information.
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*/
package com.microsoft.azure.management.compute;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.resources.fluentcore.arm.models.ExternalChildResource;
import com.microsoft.azure.management.resources.fluentcore.model.Attachable;
import com.microsoft.azure.management.resources.fluentcore.model.Settable;
import rx.Observable;
import java.util.HashMap;
import java.util.Map;
An immutable client-side representation of an Azure virtual machine extension.
/**
* An immutable client-side representation of an Azure virtual machine extension.
*/
@Fluent
public interface VirtualMachineExtension extends
VirtualMachineExtensionBase,
ExternalChildResource<VirtualMachineExtension, VirtualMachine> {
Returns: a representation of the deferred computation of this call returning the virtual machine extension instance view
/**
* @return a representation of the deferred computation of this call returning the virtual machine extension instance view
*/
Observable<VirtualMachineExtensionInstanceView> getInstanceViewAsync();
Returns: the instance view of the virtual machine extension
/**
* @return the instance view of the virtual machine extension
*/
VirtualMachineExtensionInstanceView getInstanceView();
Grouping of virtual machine extension definition stages as a part of parent virtual machine definition.
/**
* Grouping of virtual machine extension definition stages as a part of parent virtual machine definition.
*/
interface DefinitionStages {
The first stage of a virtual machine extension definition.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/**
* The first stage of a virtual machine extension definition.
*
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface Blank<ParentT>
extends WithImageOrPublisher<ParentT> {
}
The stage of the virtual machine extension definition allowing to specify extension image or specify name of
the virtual machine extension publisher.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify extension image or specify name of
* the virtual machine extension publisher.
*
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface WithImageOrPublisher<ParentT>
extends WithPublisher<ParentT> {
Specifies the virtual machine extension image to use.
Params: - image – the image
Returns: the next stage of the definition
/**
* Specifies the virtual machine extension image to use.
*
* @param image the image
* @return the next stage of the definition
*/
WithAttach<ParentT> withImage(VirtualMachineExtensionImage image);
}
The stage of the virtual machine extension definition allowing to specify the publisher of the
virtual machine extension image this extension is based on.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the publisher of the
* virtual machine extension image this extension is based on.
*
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface WithPublisher<ParentT> {
Specifies the name of the virtual machine extension image publisher.
Params: - extensionImagePublisherName – the publisher name
Returns: the next stage of the definition
/**
* Specifies the name of the virtual machine extension image publisher.
*
* @param extensionImagePublisherName the publisher name
* @return the next stage of the definition
*/
WithType<ParentT> withPublisher(String extensionImagePublisherName);
}
The stage of the virtual machine extension definition allowing to specify the type of the virtual machine
extension image this extension is based on.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the type of the virtual machine
* extension image this extension is based on.
*
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface WithType<ParentT> {
Specifies the type of the virtual machine extension image.
Params: - extensionImageTypeName – the image type name
Returns: the next stage of the definition
/**
* Specifies the type of the virtual machine extension image.
*
* @param extensionImageTypeName the image type name
* @return the next stage of the definition
*/
WithVersion<ParentT> withType(String extensionImageTypeName);
}
The stage of the virtual machine extension definition allowing to specify the type of the virtual machine
extension version this extension is based on.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the type of the virtual machine
* extension version this extension is based on.
*
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface WithVersion<ParentT> {
Specifies the version of the virtual machine image extension.
Params: - extensionImageVersionName – the version name
Returns: the next stage of the definition
/**
* Specifies the version of the virtual machine image extension.
*
* @param extensionImageVersionName the version name
* @return the next stage of the definition
*/
WithAttach<ParentT> withVersion(String extensionImageVersionName);
}
The final stage of the virtual machine extension definition.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/** The final stage of the virtual machine extension definition.
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface WithAttach<ParentT> extends
Attachable.InDefinition<ParentT>,
WithAutoUpgradeMinorVersion<ParentT>,
WithSettings<ParentT>,
WithTags<ParentT> {
}
The stage of the virtual machine extension definition allowing to enable or disable auto upgrade of the
extension when when a new minor version of virtual machine extension image gets published.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to enable or disable auto upgrade of the
* extension when when a new minor version of virtual machine extension image gets published.
*
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface WithAutoUpgradeMinorVersion<ParentT> {
enables auto upgrade of the extension.
Returns: the next stage of the definition
/**
* enables auto upgrade of the extension.
*
* @return the next stage of the definition
*/
WithAttach<ParentT> withMinorVersionAutoUpgrade();
disables auto upgrade of the extension.
Returns: the next stage of the definition
/**
* disables auto upgrade of the extension.
*
* @return the next stage of the definition
*/
WithAttach<ParentT> withoutMinorVersionAutoUpgrade();
}
The stage of the virtual machine extension definition allowing to specify the public and private settings.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the public and private settings.
*
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface WithSettings<ParentT> {
Specifies a public settings entry.
Params: - key – the key of a public settings entry
- value – the value of the public settings entry
Returns: the next stage of the definition
/**
* 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<ParentT> withPublicSetting(String key, Object value);
Specifies a private settings entry.
Params: - key – the key of a private settings entry
- value – the value of the private settings entry
Returns: the next stage of the definition
/**
* 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<ParentT> withProtectedSetting(String key, Object value);
Specifies public settings.
Params: - settings – the public settings
Returns: the next stage of the definition
/**
* Specifies public settings.
*
* @param settings the public settings
* @return the next stage of the definition
*/
WithAttach<ParentT> withPublicSettings(HashMap<String, Object> settings);
Specifies private settings.
Params: - settings – the private settings
Returns: the next stage of the definition
/**
* Specifies private settings.
*
* @param settings the private settings
* @return the next stage of the definition
*/
WithAttach<ParentT> withProtectedSettings(HashMap<String, Object> settings);
}
The stage of the virtual machine extension definition allowing to specify the tags.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the tags.
*
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface WithTags<ParentT> {
Specifies tags for the virtual machine extension.
Params: - tags – the tags to associate
Returns: the next stage of the definition
/**
* Specifies tags for the virtual machine extension.
* @param tags the tags to associate
* @return the next stage of the definition
*/
WithAttach<ParentT> withTags(Map<String, String> tags);
Adds a tag to the virtual machine extension.
Params: - key – the key for the tag
- value – the value for the tag
Returns: the next stage of the definition
/**
* Adds a tag to the virtual machine extension.
* @param key the key for the tag
* @param value the value for the tag
* @return the next stage of the definition
*/
WithAttach<ParentT> withTag(String key, String value);
}
}
The entirety of a virtual machine extension definition as a part of parent definition.
Type parameters: - <ParentT> – the stage of the parent definition to return to after attaching this definition
/**
* The entirety of a virtual machine extension definition as a part of parent definition.
*
* @param <ParentT> the stage of the parent definition to return to after attaching this definition
*/
interface Definition<ParentT> extends
DefinitionStages.Blank<ParentT>,
DefinitionStages.WithImageOrPublisher<ParentT>,
DefinitionStages.WithPublisher<ParentT>,
DefinitionStages.WithType<ParentT>,
DefinitionStages.WithVersion<ParentT>,
DefinitionStages.WithAttach<ParentT> {
}
Grouping of virtual machine extension definition stages as part of parent virtual machine update.
/**
* Grouping of virtual machine extension definition stages as part of parent virtual machine update.
*/
interface UpdateDefinitionStages {
The first stage of a virtual machine extension definition.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/**
* The first stage of a virtual machine extension definition.
*
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface Blank<ParentT>
extends WithImageOrPublisher<ParentT> {
}
The stage of the virtual machine extension allowing to specify extension image or specify name of the
virtual machine extension publisher.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/**
* The stage of the virtual machine extension allowing to specify extension image or specify name of the
* virtual machine extension publisher.
*
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface WithImageOrPublisher<ParentT>
extends WithPublisher<ParentT> {
Specifies the virtual machine extension image to use.
Params: - image – the image
Returns: the next stage of the definition
/**
* Specifies the virtual machine extension image to use.
*
* @param image the image
* @return the next stage of the definition
*/
WithAttach<ParentT> withImage(VirtualMachineExtensionImage image);
}
The stage of the virtual machine extension definition allowing to specify the publisher of the
virtual machine extension image this extension is based on.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the publisher of the
* virtual machine extension image this extension is based on.
*
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface WithPublisher<ParentT> {
Specifies the name of the virtual machine extension image publisher.
Params: - extensionImagePublisherName – the publisher name
Returns: the next stage of the definition
/**
* Specifies the name of the virtual machine extension image publisher.
*
* @param extensionImagePublisherName the publisher name
* @return the next stage of the definition
*/
WithType<ParentT> withPublisher(String extensionImagePublisherName);
}
The stage of the virtual machine extension definition allowing to specify the type of the virtual machine
extension image this extension is based on.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the type of the virtual machine
* extension image this extension is based on.
*
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface WithType<ParentT> {
Specifies the type of the virtual machine extension image.
Params: - extensionImageTypeName – the image type name
Returns: the next stage of the definition
/**
* Specifies the type of the virtual machine extension image.
*
* @param extensionImageTypeName the image type name
* @return the next stage of the definition
*/
WithVersion<ParentT> withType(String extensionImageTypeName);
}
The stage of the virtual machine extension definition allowing to specify the type of the virtual machine
extension version this extension is based on.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the type of the virtual machine
* extension version this extension is based on.
*
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface WithVersion<ParentT> {
Specifies the version of the virtual machine image extension.
Params: - extensionImageVersionName – the version name
Returns: the next stage of the definition
/**
* Specifies the version of the virtual machine image extension.
*
* @param extensionImageVersionName the version name
* @return the next stage of the definition
*/
WithAttach<ParentT> withVersion(String extensionImageVersionName);
}
The final stage of the virtual machine extension definition.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/** The final stage of the virtual machine extension definition.
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface WithAttach<ParentT> extends
Attachable.InUpdate<ParentT>,
WithAutoUpgradeMinorVersion<ParentT>,
WithSettings<ParentT>,
WithTags<ParentT> {
}
The stage of the virtual machine extension definition allowing to enable or disable auto upgrade of the
extension when when a new minor version of virtual machine extension image gets published.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to enable or disable auto upgrade of the
* extension when when a new minor version of virtual machine extension image gets published.
*
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface WithAutoUpgradeMinorVersion<ParentT> {
enables auto upgrade of the extension.
Returns: the next stage of the definition
/**
* enables auto upgrade of the extension.
*
* @return the next stage of the definition
*/
WithAttach<ParentT> withMinorVersionAutoUpgrade();
disables auto upgrade of the extension.
Returns: the next stage of the definition
/**
* disables auto upgrade of the extension.
*
* @return the next stage of the definition
*/
WithAttach<ParentT> withoutMinorVersionAutoUpgrade();
}
The stage of the virtual machine extension definition allowing to specify the public and private settings.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the public and private settings.
*
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface WithSettings<ParentT> {
Specifies a public settings entry.
Params: - key – the key of a public settings entry
- value – the value of the public settings entry
Returns: the next stage of the definition
/**
* 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<ParentT> withPublicSetting(String key, Object value);
Specifies a private settings entry.
Params: - key – the key of a private settings entry
- value – the value of the private settings entry
Returns: the next stage of the definition
/**
* 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<ParentT> withProtectedSetting(String key, Object value);
Specifies public settings.
Params: - settings – the public settings
Returns: the next stage of the definition
/**
* Specifies public settings.
*
* @param settings the public settings
* @return the next stage of the definition
*/
WithAttach<ParentT> withPublicSettings(HashMap<String, Object> settings);
Specifies private settings.
Params: - settings – the private settings
Returns: the next stage of the definition
/**
* Specifies private settings.
*
* @param settings the private settings
* @return the next stage of the definition
*/
WithAttach<ParentT> withProtectedSettings(HashMap<String, Object> settings);
}
The stage of the virtual machine extension definition allowing to specify the tags.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/**
* The stage of the virtual machine extension definition allowing to specify the tags.
*
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface WithTags<ParentT> {
Specifies tags for the resource.
Params: - tags – tags to associate with the resource
Returns: the next stage of the definition
/**
* Specifies tags for the resource.
* @param tags tags to associate with the resource
* @return the next stage of the definition
*/
WithAttach<ParentT> withTags(Map<String, String> tags);
Adds a tag to the resource.
Params: - key – the key for the tag
- value – the value for the tag
Returns: the next stage of the definition
/**
* Adds a tag to the resource.
* @param key the key for the tag
* @param value the value for the tag
* @return the next stage of the definition
*/
WithAttach<ParentT> withTag(String key, String value);
}
}
The entirety of a virtual machine extension definition as a part of parent update.
Type parameters: - <ParentT> – the stage of the parent update to return to after attaching this definition
/**
* The entirety of a virtual machine extension definition as a part of parent update.
* @param <ParentT> the stage of the parent update to return to after attaching this definition
*/
interface UpdateDefinition<ParentT> extends
UpdateDefinitionStages.Blank<ParentT>,
UpdateDefinitionStages.WithImageOrPublisher<ParentT>,
UpdateDefinitionStages.WithPublisher<ParentT>,
UpdateDefinitionStages.WithType<ParentT>,
UpdateDefinitionStages.WithVersion<ParentT>,
UpdateDefinitionStages.WithAttach<ParentT> {
}
Grouping of virtual machine extension update stages.
/**
* Grouping of virtual machine extension update stages.
*/
interface UpdateStages {
The stage of the virtual machine extension update allowing to enable or disable auto upgrade of the
extension when when a new minor version of virtual machine extension image gets published.
/**
* The stage of the virtual machine extension update allowing to enable or disable auto upgrade of the
* extension when when a new minor version of virtual machine extension image gets published.
*/
interface WithAutoUpgradeMinorVersion {
enables auto upgrade of the extension.
Returns: the next stage of the update
/**
* enables auto upgrade of the extension.
*
* @return the next stage of the update
*/
Update withMinorVersionAutoUpgrade();
enables auto upgrade of the extension.
Returns: the next stage of the update
/**
* enables auto upgrade of the extension.
*
* @return the next stage of the update
*/
Update withoutMinorVersionAutoUpgrade();
}
The stage of the virtual machine extension update allowing to add or update public and private settings.
/**
* The stage of the virtual machine extension update allowing to add or update public and private settings.
*/
interface WithSettings {
Specifies a public settings entry.
Params: - key – the key of a public settings entry
- value – the value of the public settings entry
Returns: the next stage of the update
/**
* 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.
Params: - key – the key of a private settings entry
- value – the value of the private settings entry
Returns: the next stage of the update
/**
* 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.
Params: - settings – the public settings
Returns: the next stage of the update
/**
* Specifies public settings.
*
* @param settings the public settings
* @return the next stage of the update
*/
Update withPublicSettings(HashMap<String, Object> settings);
Specifies private settings.
Params: - settings – the private settings
Returns: the next stage of the update
/**
* Specifies private settings.
*
* @param settings the private settings
* @return the next stage of the update
*/
Update withProtectedSettings(HashMap<String, Object> settings);
}
The stage of the virtual machine extension update allowing to add or update tags.
/**
* The stage of the virtual machine extension update allowing to add or update tags.
*/
interface WithTags {
Specifies tags for the virtual machine extension.
Params: - tags – tags indexed by name
Returns: the next stage of the update
/**
* Specifies tags for the virtual machine extension.
* @param tags tags indexed by name
* @return the next stage of the update
*/
Update withTags(Map<String, String> tags);
Adds a tag to the virtual machine extension.
Params: - key – the key for the tag
- value – the value for the tag
Returns: the next stage of the update
/**
* Adds a tag to the virtual machine extension.
* @param key the key for the tag
* @param value the value for the tag
* @return the next stage of the update
*/
Update withTag(String key, String value);
Removes a tag from the virtual machine extension.
Params: - key – the key of the tag to remove
Returns: the next stage of the update
/**
* Removes a tag from the virtual machine extension.
* @param key the key of the tag to remove
* @return the next stage of the update
*/
Update withoutTag(String key);
}
}
The entirety of virtual machine extension update as a part of parent virtual machine update.
/**
* The entirety of virtual machine extension update as a part of parent virtual machine update.
*/
interface Update extends
Settable<VirtualMachine.Update>,
UpdateStages.WithAutoUpgradeMinorVersion,
UpdateStages.WithSettings,
UpdateStages.WithTags {
}
}