/**
* 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.batch.protocol.models;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* The configuration for compute nodes in a pool based on the Azure Virtual
* Machines infrastructure.
*/
public class VirtualMachineConfiguration {
/**
* A reference to the Azure Virtual Machines Marketplace image to use.
*/
@JsonProperty(required = true)
private ImageReference imageReference;
/**
* The SKU of Batch Node Agent to be provisioned on the compute node.
* The Batch node agent is a program that runs on each node in the pool,
* and provides the command-and-control interface between the node and
* the Batch service. There are different implementations of the node
* agent, known as SKUs, for different operating systems.
*/
@JsonProperty(required = true)
private String nodeAgentSKUId;
/**
* Windows operating system settings on the virtual machine.
* This property must not be specified if the imageReference property
* specifies a Linux OS image.
*/
private WindowsConfiguration windowsConfiguration;
/**
* Get the imageReference value.
*
* @return the imageReference value
*/
public ImageReference imageReference() {
return this.imageReference;
}
/**
* Set the imageReference value.
*
* @param imageReference the imageReference value to set
* @return the VirtualMachineConfiguration object itself.
*/
public VirtualMachineConfiguration withImageReference(ImageReference imageReference) {
this.imageReference = imageReference;
return this;
}
/**
* Get the nodeAgentSKUId value.
*
* @return the nodeAgentSKUId value
*/
public String nodeAgentSKUId() {
return this.nodeAgentSKUId;
}
/**
* Set the nodeAgentSKUId value.
*
* @param nodeAgentSKUId the nodeAgentSKUId value to set
* @return the VirtualMachineConfiguration object itself.
*/
public VirtualMachineConfiguration withNodeAgentSKUId(String nodeAgentSKUId) {
this.nodeAgentSKUId = nodeAgentSKUId;
return this;
}
/**
* Get the windowsConfiguration value.
*
* @return the windowsConfiguration value
*/
public WindowsConfiguration windowsConfiguration() {
return this.windowsConfiguration;
}
/**
* Set the windowsConfiguration value.
*
* @param windowsConfiguration the windowsConfiguration value to set
* @return the VirtualMachineConfiguration object itself.
*/
public VirtualMachineConfiguration withWindowsConfiguration(WindowsConfiguration windowsConfiguration) {
this.windowsConfiguration = windowsConfiguration;
return this;
}
}