package com.bocloud.ims.entity.resource.horizon;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.IgnoreAll;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.bean.GenericEntity;
import com.bocloud.entity.meta.PKStrategy;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 桌面池数据模型
 * 
 * @author HP
 *
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Table("vmware_horizon_desktop_pool")
public class VmwareHorizonDesktopPool extends GenericEntity {

	@PK(value = PKStrategy.AUTO)
	private Long id; // ID
	@Column("user_assignment")
	private String userAssignment;
	@Column("vcenter_id")
	private String vcenterId;
	@Column("horizon_vcenter_id")
	private Long horizonVcenterId;
	@Column("transparent_page_sharing_scope")
	private String transparentPageSharingScope;
	@Column("pattern_naming_settings")
	private String patternNamingSettings;
	@Column("source")
	private String source;
	@Column("type")
	private String type;
	@Column("storage_settings")
	private String storageSettings;
	@Column("view_storage_accelerator_settings")
	private String viewStorageAcceleratorSettings;
	@Column("enabled")
	private Boolean enabled;
	@Column("allow_rds_pool_multi_session_per_user")
	private Boolean allowRdsPoolMultiSessionPerUser;
	@Column("image_source")
	private String imageSource;
	@Column("pool_uuid")
	private String uuid;
	@Column("session_type")
	private String sessionType;
	@Column("enable_client_restrictions")
	private Boolean enableClientRestrictions;
	@Column("access_group_id")
	private String accessGroupId;
	@Column("automatic_user_assignment")
	private Boolean automaticUserAssignment;
	@Column("display_protocol_settings")
	private String displayProtocolSettings;
	@Column("provisioning_status_data")
	private String provisioningStatusData;
	@Column("allow_multiple_user_assignments")
	private Boolean allowMultipleUserAssignments;
	@Column("customization_settings")
	private String customizationSettings;
	@Column("display_name")
	private String displayName;
	@Column("enable_provisioning")
	private Boolean enableProvisioning;
	@Column("provisioning_settings")
	private String provisioningSettings;
	@Column("stop_provisioning_on_error")
	private Boolean stopProvisioningOnError;
	@Column("cloud_assigned")
	private Boolean cloudAssigned;
	@Column("delete_in_progress")
	private Boolean deleteInProgress;
	@Column("session_settings")
	private String sessionSettings;
	@Column("cloud_managed")
	private Boolean cloudManaged;
	@Column("display_assigned_machine_name")
	private Boolean displayAssignedMachineName;
	@Column("vendor_id")
	private Long vendorId;
	@IgnoreAll
	private String vendorType;
	@IgnoreAll
	private String vendorName;
	@IgnoreAll
	private VmwareHorizonVcenter vcenter;
}
