/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
*/
package com.microsoft.azure.management.compute.implementation;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.microsoft.rest.serializer.JsonFlatten;
import com.microsoft.azure.Resource;
/**
* Describes a Virtual Machine Extension Image.
*/
@JsonFlatten
public class VirtualMachineExtensionImageInner extends Resource {
/**
* The operating system this extension supports.
*/
@JsonProperty(value = "properties.operatingSystem", required = true)
private String operatingSystem;
/**
* The type of role (IaaS or PaaS) this extension supports.
*/
@JsonProperty(value = "properties.computeRole", required = true)
private String computeRole;
/**
* The schema defined by publisher, where extension consumers should
* provide settings in a matching schema.
*/
@JsonProperty(value = "properties.handlerSchema", required = true)
private String handlerSchema;
/**
* Whether the extension can be used on xRP VMScaleSets. By default
* existing extensions are usable on scalesets, but there might be cases
* where a publisher wants to explicitly indicate the extension is only
* enabled for CRP VMs but not VMSS.
*/
@JsonProperty(value = "properties.vmScaleSetEnabled")
private Boolean vmScaleSetEnabled;
/**
* Whether the handler can support multiple extensions.
*/
@JsonProperty(value = "properties.supportsMultipleExtensions")
private Boolean supportsMultipleExtensions;
/**
* Get the operatingSystem value.
*
* @return the operatingSystem value
*/
public String operatingSystem() {
return this.operatingSystem;
}
/**
* Set the operatingSystem value.
*
* @param operatingSystem the operatingSystem value to set
* @return the VirtualMachineExtensionImageInner object itself.
*/
public VirtualMachineExtensionImageInner withOperatingSystem(String operatingSystem) {
this.operatingSystem = operatingSystem;
return this;
}
/**
* Get the computeRole value.
*
* @return the computeRole value
*/
public String computeRole() {
return this.computeRole;
}
/**
* Set the computeRole value.
*
* @param computeRole the computeRole value to set
* @return the VirtualMachineExtensionImageInner object itself.
*/
public VirtualMachineExtensionImageInner withComputeRole(String computeRole) {
this.computeRole = computeRole;
return this;
}
/**
* Get the handlerSchema value.
*
* @return the handlerSchema value
*/
public String handlerSchema() {
return this.handlerSchema;
}
/**
* Set the handlerSchema value.
*
* @param handlerSchema the handlerSchema value to set
* @return the VirtualMachineExtensionImageInner object itself.
*/
public VirtualMachineExtensionImageInner withHandlerSchema(String handlerSchema) {
this.handlerSchema = handlerSchema;
return this;
}
/**
* Get the vmScaleSetEnabled value.
*
* @return the vmScaleSetEnabled value
*/
public Boolean vmScaleSetEnabled() {
return this.vmScaleSetEnabled;
}
/**
* Set the vmScaleSetEnabled value.
*
* @param vmScaleSetEnabled the vmScaleSetEnabled value to set
* @return the VirtualMachineExtensionImageInner object itself.
*/
public VirtualMachineExtensionImageInner withVmScaleSetEnabled(Boolean vmScaleSetEnabled) {
this.vmScaleSetEnabled = vmScaleSetEnabled;
return this;
}
/**
* Get the supportsMultipleExtensions value.
*
* @return the supportsMultipleExtensions value
*/
public Boolean supportsMultipleExtensions() {
return this.supportsMultipleExtensions;
}
/**
* Set the supportsMultipleExtensions value.
*
* @param supportsMultipleExtensions the supportsMultipleExtensions value to set
* @return the VirtualMachineExtensionImageInner object itself.
*/
public VirtualMachineExtensionImageInner withSupportsMultipleExtensions(Boolean supportsMultipleExtensions) {
this.supportsMultipleExtensions = supportsMultipleExtensions;
return this;
}
}