/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.aliyuncs.rds.model.v20140815;

import com.aliyuncs.RpcAcsRequest;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.rds.Endpoint;

/**
 * @author auto create
 * @version 
 */
public class UpgradeDBInstanceMajorVersionRequest extends RpcAcsRequest<UpgradeDBInstanceMajorVersionResponse> {
	   

	private Long resourceOwnerId;

	private Integer dBInstanceStorage;

	private String zoneIdSlave1;

	private String zoneIdSlave2;

	private String switchTimeMode;

	private String switchOver;

	private String collectStatMode;

	private String switchTime;

	private String dBInstanceId;

	private String dBInstanceStorageType;

	private String period;

	private String usedTime;

	private String dBInstanceClass;

	private String vSwitchId;

	private String privateIpAddress;

	private String vPCId;

	private String zoneId;

	private String payType;

	private String instanceNetworkType;

	private String targetMajorVersion;
	public UpgradeDBInstanceMajorVersionRequest() {
		super("Rds", "2014-08-15", "UpgradeDBInstanceMajorVersion");
		setMethod(MethodType.POST);
		try {
			com.aliyuncs.AcsRequest.class.getDeclaredField("productEndpointMap").set(this, Endpoint.endpointMap);
			com.aliyuncs.AcsRequest.class.getDeclaredField("productEndpointRegional").set(this, Endpoint.endpointRegionalType);
		} catch (Exception e) {}
	}

	public Long getResourceOwnerId() {
		return this.resourceOwnerId;
	}

	public void setResourceOwnerId(Long resourceOwnerId) {
		this.resourceOwnerId = resourceOwnerId;
		if(resourceOwnerId != null){
			putQueryParameter("ResourceOwnerId", resourceOwnerId.toString());
		}
	}

	public Integer getDBInstanceStorage() {
		return this.dBInstanceStorage;
	}

	public void setDBInstanceStorage(Integer dBInstanceStorage) {
		this.dBInstanceStorage = dBInstanceStorage;
		if(dBInstanceStorage != null){
			putQueryParameter("DBInstanceStorage", dBInstanceStorage.toString());
		}
	}

	public String getZoneIdSlave1() {
		return this.zoneIdSlave1;
	}

	public void setZoneIdSlave1(String zoneIdSlave1) {
		this.zoneIdSlave1 = zoneIdSlave1;
		if(zoneIdSlave1 != null){
			putQueryParameter("ZoneIdSlave1", zoneIdSlave1);
		}
	}

	public String getZoneIdSlave2() {
		return this.zoneIdSlave2;
	}

	public void setZoneIdSlave2(String zoneIdSlave2) {
		this.zoneIdSlave2 = zoneIdSlave2;
		if(zoneIdSlave2 != null){
			putQueryParameter("ZoneIdSlave2", zoneIdSlave2);
		}
	}

	public String getSwitchTimeMode() {
		return this.switchTimeMode;
	}

	public void setSwitchTimeMode(String switchTimeMode) {
		this.switchTimeMode = switchTimeMode;
		if(switchTimeMode != null){
			putQueryParameter("SwitchTimeMode", switchTimeMode);
		}
	}

	public String getSwitchOver() {
		return this.switchOver;
	}

	public void setSwitchOver(String switchOver) {
		this.switchOver = switchOver;
		if(switchOver != null){
			putQueryParameter("SwitchOver", switchOver);
		}
	}

	public String getCollectStatMode() {
		return this.collectStatMode;
	}

	public void setCollectStatMode(String collectStatMode) {
		this.collectStatMode = collectStatMode;
		if(collectStatMode != null){
			putQueryParameter("CollectStatMode", collectStatMode);
		}
	}

	public String getSwitchTime() {
		return this.switchTime;
	}

	public void setSwitchTime(String switchTime) {
		this.switchTime = switchTime;
		if(switchTime != null){
			putQueryParameter("SwitchTime", switchTime);
		}
	}

	public String getDBInstanceId() {
		return this.dBInstanceId;
	}

	public void setDBInstanceId(String dBInstanceId) {
		this.dBInstanceId = dBInstanceId;
		if(dBInstanceId != null){
			putQueryParameter("DBInstanceId", dBInstanceId);
		}
	}

	public String getDBInstanceStorageType() {
		return this.dBInstanceStorageType;
	}

	public void setDBInstanceStorageType(String dBInstanceStorageType) {
		this.dBInstanceStorageType = dBInstanceStorageType;
		if(dBInstanceStorageType != null){
			putQueryParameter("DBInstanceStorageType", dBInstanceStorageType);
		}
	}

	public String getPeriod() {
		return this.period;
	}

	public void setPeriod(String period) {
		this.period = period;
		if(period != null){
			putQueryParameter("Period", period);
		}
	}

	public String getUsedTime() {
		return this.usedTime;
	}

	public void setUsedTime(String usedTime) {
		this.usedTime = usedTime;
		if(usedTime != null){
			putQueryParameter("UsedTime", usedTime);
		}
	}

	public String getDBInstanceClass() {
		return this.dBInstanceClass;
	}

	public void setDBInstanceClass(String dBInstanceClass) {
		this.dBInstanceClass = dBInstanceClass;
		if(dBInstanceClass != null){
			putQueryParameter("DBInstanceClass", dBInstanceClass);
		}
	}

	public String getVSwitchId() {
		return this.vSwitchId;
	}

	public void setVSwitchId(String vSwitchId) {
		this.vSwitchId = vSwitchId;
		if(vSwitchId != null){
			putQueryParameter("VSwitchId", vSwitchId);
		}
	}

	public String getPrivateIpAddress() {
		return this.privateIpAddress;
	}

	public void setPrivateIpAddress(String privateIpAddress) {
		this.privateIpAddress = privateIpAddress;
		if(privateIpAddress != null){
			putQueryParameter("PrivateIpAddress", privateIpAddress);
		}
	}

	public String getVPCId() {
		return this.vPCId;
	}

	public void setVPCId(String vPCId) {
		this.vPCId = vPCId;
		if(vPCId != null){
			putQueryParameter("VPCId", vPCId);
		}
	}

	public String getZoneId() {
		return this.zoneId;
	}

	public void setZoneId(String zoneId) {
		this.zoneId = zoneId;
		if(zoneId != null){
			putQueryParameter("ZoneId", zoneId);
		}
	}

	public String getPayType() {
		return this.payType;
	}

	public void setPayType(String payType) {
		this.payType = payType;
		if(payType != null){
			putQueryParameter("PayType", payType);
		}
	}

	public String getInstanceNetworkType() {
		return this.instanceNetworkType;
	}

	public void setInstanceNetworkType(String instanceNetworkType) {
		this.instanceNetworkType = instanceNetworkType;
		if(instanceNetworkType != null){
			putQueryParameter("InstanceNetworkType", instanceNetworkType);
		}
	}

	public String getTargetMajorVersion() {
		return this.targetMajorVersion;
	}

	public void setTargetMajorVersion(String targetMajorVersion) {
		this.targetMajorVersion = targetMajorVersion;
		if(targetMajorVersion != null){
			putQueryParameter("TargetMajorVersion", targetMajorVersion);
		}
	}

	@Override
	public Class<UpgradeDBInstanceMajorVersionResponse> getResponseClass() {
		return UpgradeDBInstanceMajorVersionResponse.class;
	}

}
