com.huaweicloud.dis.iface.stream.response.DescribeStreamResult Maven / Gradle / Ivy
/*
* Copyright 2002-2010 the original author or authors.
*
* 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.huaweicloud.dis.iface.stream.response;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.huaweicloud.dis.iface.data.request.StreamType;
import com.huaweicloud.dis.iface.stream.request.CSVProperties;
import com.huaweicloud.dis.iface.stream.request.Tag;
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DescribeStreamResult
{
/**
*
* 通道ID。
*
*/
@JsonProperty("stream_id")
private String streamId;
/**
*
* 通道名称。
*
*/
@JsonProperty("stream_name")
private String streamName;
/**
*
* 通道创建时间。
*
*/
@JsonProperty("create_time")
private long createTime;
/**
*
* 通道最近修改时间。
*
*/
@JsonProperty("last_modified_time")
private long lastModifiedTime;
/**
*
* 数据保留时长。
*
*/
@JsonProperty("retention_period")
private int retentionPeriod;
/**
*
* 通道的当前状态,可能是以下的某种状态:
*
*
* -
*
* CREATING - 创建中。
*
*
* -
*
* RUNNING - 运行中。
*
*
* -
*
* TERMINATING - 删除中。
*
*
*
*/
@JsonProperty("status")
private String status;
/**
*
* 通道类型。表示通道支持的最大带宽。
*
*
* -
*
* COMMON - 表示1MB带宽。
*
*
* -
*
* ADVANCED - 表示5MB带宽。
*
*
*
*/
@JsonProperty("stream_type")
private String streamType;
/**
*
* 源数据类型。表示用户上传通道的源数据类型。
*
*
* -
*
* BLOB - 表示二进制数据,DIS支持将BLOB类型数据转储至OBS、MRS服务。
*
*
* -
*
* JSON - DIS支持将JSON格式的数据转储至OBS、MRS、CloudTable服务。
*
*
* -
*
* CSV - DIS支持将CSV格式数据转储至OBS、MRS、DWS、DLI服务。
*
*
* -
*
* FILE - 表示小文件,DIS支持将用户上传的小文件转储至OBS服务。
*
*
*
*/
@JsonProperty("data_type")
private String dataType;
/**
*
* 用户JOSN、CSV格式数据schema,用avro shema描述
*
*/
@JsonProperty("data_schema")
private String dataSchema;
/**
*
* 数据的压缩类型,目前支持:不压缩, snappy, gzip, zip
*
*/
@JsonProperty("compression_format")
private String compressionFormat;
/**
*
* CSV格式数据的描述,如delimiter
*
*/
@JsonProperty("csv_properties")
private CSVProperties csvProperties;
/**
*
* 可写分区(即ACTIVE状态)数量
*
*/
@JsonProperty("writable_partition_count")
private int writablePartitionCount;
/**
*
* 可读分区(即ACTIVE与DELETE状态)数量
*
*/
@JsonProperty("readable_partition_count")
private int readablePartitionCount;
/**
*
* 通道的分区列表。
*
*/
@JsonProperty("partitions")
private List partitions;
@JsonProperty("has_more_partitions")
private Boolean hasMorePartitions = false;
/**
*
* 扩缩容操作记录列表。
*
*/
@JsonProperty("update_partition_counts")
private List updatePartitionCounts;
/**
*
* 通道的标签列表
*
*/
@JsonProperty("tags")
private List tags;
/**
*
* 通道的企业项目
*
*/
@JsonProperty("sys_tags")
private List sysTags;
@JsonProperty("auto_scale_enabled")
private Boolean autoScaleEnabled;
@JsonProperty("auto_scale_min_partition_count")
private Integer autoScaleMinPartitionCount;
@JsonProperty("auto_scale_max_partition_count")
private Integer autoScaleMaxPartitionCount;
public Boolean getAutoScaleEnabled()
{
return autoScaleEnabled;
}
public void setAutoScaleEnabled(Boolean autoScaleEnabled)
{
this.autoScaleEnabled = autoScaleEnabled;
}
public Integer getAutoScaleMinPartitionCount()
{
return autoScaleMinPartitionCount;
}
public void setAutoScaleMinPartitionCount(Integer autoScaleMinPartitionCount)
{
this.autoScaleMinPartitionCount = autoScaleMinPartitionCount;
}
public Integer getAutoScaleMaxPartitionCount()
{
return autoScaleMaxPartitionCount;
}
public void setAutoScaleMaxPartitionCount(Integer autoScaleMaxPartitionCount)
{
this.autoScaleMaxPartitionCount = autoScaleMaxPartitionCount;
}
public String getStreamId()
{
return streamId;
}
public void setStreamId(String streamId)
{
this.streamId = streamId;
}
public String getStreamName()
{
return streamName;
}
public void setStreamName(String streamName)
{
this.streamName = streamName;
}
public int getRetentionPeriod()
{
return retentionPeriod;
}
public void setRetentionPeriod(int retentionPeriod)
{
this.retentionPeriod = retentionPeriod;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
/**
*
* 通道类型。
*
*
* -
*
* COMMON - 表示1MB带宽。
*
*
* -
*
* ADVANCED - 表示5MB带宽。
*
*
*
*
* @see com.huaweicloud.dis.iface.data.request.StreamType
* @return 通道类型。表示通道支持的最大带宽。
*/
public String getStreamType()
{
return streamType;
}
/**
*
* 通道类型。
*
*
* -
*
* COMMON - 表示1MB带宽。
*
*
* -
*
* ADVANCED - 表示5MB带宽。
*
*
*
*
* @see com.huaweicloud.dis.iface.data.request.StreamType
* @param streamType 通道类型。表示通道支持的最大带宽。
*/
public void setStreamType(String streamType)
{
this.streamType = streamType;
}
public List getPartitions()
{
return partitions;
}
public void setPartitions(List partitions)
{
this.partitions = partitions;
}
public long getCreateTime()
{
return createTime;
}
public void setCreateTime(long createTime)
{
this.createTime = createTime;
}
public long getLastModifiedTime()
{
return lastModifiedTime;
}
public void setLastModifiedTime(long lastModifiedTime)
{
this.lastModifiedTime = lastModifiedTime;
}
public Boolean getHasMorePartitions()
{
return hasMorePartitions;
}
public void setHasMorePartitions(Boolean hasMorePartitions)
{
this.hasMorePartitions = hasMorePartitions;
}
public List getUpdatePartitionCounts()
{
return updatePartitionCounts;
}
public void setUpdatePartitionCounts(List updatePartitionCounts)
{
this.updatePartitionCounts = updatePartitionCounts;
}
public String getDataType()
{
return dataType;
}
public int getWritablePartitionCount()
{
return writablePartitionCount;
}
public void setWritablePartitionCount(int writablePartitionCount)
{
this.writablePartitionCount = writablePartitionCount;
}
public int getReadablePartitionCount()
{
return readablePartitionCount;
}
public void setReadablePartitionCount(int readablePartitionCount)
{
this.readablePartitionCount = readablePartitionCount;
}
public void setDataType(String dataType)
{
this.dataType = dataType;
}
public String getDataSchema() {
return dataSchema;
}
public void setDataSchema(String dataSchema) {
this.dataSchema = dataSchema;
}
public List getTags() {
return tags;
}
public void setTags(List tags) {
this.tags = tags;
}
public List getSysTags() {
return sysTags;
}
public void setSysTags(List sysTags) {
this.sysTags = sysTags;
}
public String getCompressionFormat() {
return compressionFormat;
}
public void setCompressionFormat(String compressionFormat) {
this.compressionFormat = compressionFormat;
}
public CSVProperties getCsvProperties() {
return csvProperties;
}
public void setCsvProperties(CSVProperties csvProperties) {
this.csvProperties = csvProperties;
}
@Override
public String toString()
{
return "DescribeStreamResult [streamId=" + streamId + ", streamName=" + streamName + ", createTime="
+ createTime + ", lastModifiedTime=" + lastModifiedTime + ", retentionPeriod=" + retentionPeriod
+ ", status=" + status + ", streamType=" + streamType + ", dataType=" + dataType
+ ", writablePartitionCount=" + writablePartitionCount + ", readablePartitionCount=" + readablePartitionCount
+ ", partitions=" + partitions + ", hasMorePartitions=" + hasMorePartitions + ", updatePartitionCounts="
+ updatePartitionCounts + "]";
}
}