/*
 * 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.arms.model.v20190808;

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

/**
 * @author auto create
 * @version 
 */
public class CreateIntegrationRequest extends RpcAcsRequest<CreateIntegrationResponse> {
	   

	private Boolean autoRecover;

	private Long recoverTime;

	private String integrationName;

	private String description;

	private String integrationProductType;
	public CreateIntegrationRequest() {
		super("ARMS", "2019-08-08", "CreateIntegration", "arms");
		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 Boolean getAutoRecover() {
		return this.autoRecover;
	}

	public void setAutoRecover(Boolean autoRecover) {
		this.autoRecover = autoRecover;
		if(autoRecover != null){
			putBodyParameter("AutoRecover", autoRecover.toString());
		}
	}

	public Long getRecoverTime() {
		return this.recoverTime;
	}

	public void setRecoverTime(Long recoverTime) {
		this.recoverTime = recoverTime;
		if(recoverTime != null){
			putBodyParameter("RecoverTime", recoverTime.toString());
		}
	}

	public String getIntegrationName() {
		return this.integrationName;
	}

	public void setIntegrationName(String integrationName) {
		this.integrationName = integrationName;
		if(integrationName != null){
			putBodyParameter("IntegrationName", integrationName);
		}
	}

	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
		if(description != null){
			putBodyParameter("Description", description);
		}
	}

	public String getIntegrationProductType() {
		return this.integrationProductType;
	}

	public void setIntegrationProductType(String integrationProductType) {
		this.integrationProductType = integrationProductType;
		if(integrationProductType != null){
			putBodyParameter("IntegrationProductType", integrationProductType);
		}
	}

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

}
