/**
* 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.resources;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Deployment properties.
*/
public class DeploymentProperties {
/**
* The template content. You use this element when you want to pass the
* template syntax directly in the request rather than link to an existing
* template. It can be a JObject or well-formed JSON string. Use either the
* templateLink property or the template property, but not both.
*/
@JsonProperty(value = "template")
private Object template;
/**
* The URI of the template. Use either the templateLink property or the
* template property, but not both.
*/
@JsonProperty(value = "templateLink")
private TemplateLink templateLink;
/**
* Name and value pairs that define the deployment parameters for the
* template. You use this element when you want to provide the parameter
* values directly in the request rather than link to an existing parameter
* file. Use either the parametersLink property or the parameters property,
* but not both. It can be a JObject or a well formed JSON string.
*/
@JsonProperty(value = "parameters")
private Object parameters;
/**
* The URI of parameters file. You use this element to link to an existing
* parameters file. Use either the parametersLink property or the
* parameters property, but not both.
*/
@JsonProperty(value = "parametersLink")
private ParametersLink parametersLink;
/**
* The mode that is used to deploy resources. This value can be either
* Incremental or Complete. In Incremental mode, resources are deployed
* without deleting existing resources that are not included in the
* template. In Complete mode, resources are deployed and existing
* resources in the resource group that are not included in the template
* are deleted. Be careful when using Complete mode as you may
* unintentionally delete resources. Possible values include:
* 'Incremental', 'Complete'.
*/
@JsonProperty(value = "mode", required = true)
private DeploymentMode mode;
/**
* The debug setting of the deployment.
*/
@JsonProperty(value = "debugSetting")
private DebugSetting debugSetting;
/**
* Get the template value.
*
* @return the template value
*/
public Object template() {
return this.template;
}
/**
* Set the template value.
*
* @param template the template value to set
* @return the DeploymentProperties object itself.
*/
public DeploymentProperties withTemplate(Object template) {
this.template = template;
return this;
}
/**
* Get the templateLink value.
*
* @return the templateLink value
*/
public TemplateLink templateLink() {
return this.templateLink;
}
/**
* Set the templateLink value.
*
* @param templateLink the templateLink value to set
* @return the DeploymentProperties object itself.
*/
public DeploymentProperties withTemplateLink(TemplateLink templateLink) {
this.templateLink = templateLink;
return this;
}
/**
* Get the parameters value.
*
* @return the parameters value
*/
public Object parameters() {
return this.parameters;
}
/**
* Set the parameters value.
*
* @param parameters the parameters value to set
* @return the DeploymentProperties object itself.
*/
public DeploymentProperties withParameters(Object parameters) {
this.parameters = parameters;
return this;
}
/**
* Get the parametersLink value.
*
* @return the parametersLink value
*/
public ParametersLink parametersLink() {
return this.parametersLink;
}
/**
* Set the parametersLink value.
*
* @param parametersLink the parametersLink value to set
* @return the DeploymentProperties object itself.
*/
public DeploymentProperties withParametersLink(ParametersLink parametersLink) {
this.parametersLink = parametersLink;
return this;
}
/**
* Get the mode value.
*
* @return the mode value
*/
public DeploymentMode mode() {
return this.mode;
}
/**
* Set the mode value.
*
* @param mode the mode value to set
* @return the DeploymentProperties object itself.
*/
public DeploymentProperties withMode(DeploymentMode mode) {
this.mode = mode;
return this;
}
/**
* Get the debugSetting value.
*
* @return the debugSetting value
*/
public DebugSetting debugSetting() {
return this.debugSetting;
}
/**
* Set the debugSetting value.
*
* @param debugSetting the debugSetting value to set
* @return the DeploymentProperties object itself.
*/
public DeploymentProperties withDebugSetting(DebugSetting debugSetting) {
this.debugSetting = debugSetting;
return this;
}
}