/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* 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.
*/
namespace TencentCloud.Ckafka.V20190819.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class ModifyTopicAttributesRequest : AbstractModel
{
///
/// 实例 ID。
///
[JsonProperty("InstanceId")]
public string InstanceId{ get; set; }
///
/// 主题名称。
///
[JsonProperty("TopicName")]
public string TopicName{ get; set; }
///
/// 主题备注,是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线-。
///
[JsonProperty("Note")]
public string Note{ get; set; }
///
/// IP 白名单开关,1:打开;0:关闭。
///
[JsonProperty("EnableWhiteList")]
public long? EnableWhiteList{ get; set; }
///
/// 默认为1。
///
[JsonProperty("MinInsyncReplicas")]
public long? MinInsyncReplicas{ get; set; }
///
/// 默认为 0,0:false;1:true。
///
[JsonProperty("UncleanLeaderElectionEnable")]
public long? UncleanLeaderElectionEnable{ get; set; }
///
/// 消息保留时间,单位:ms,当前最小值为60000ms。
///
[JsonProperty("RetentionMs")]
public long? RetentionMs{ get; set; }
///
/// Segment 分片滚动的时长,单位:ms,当前最小为86400000ms。
///
[JsonProperty("SegmentMs")]
public long? SegmentMs{ get; set; }
///
/// 主题消息最大值,单位为 Byte,最大值为8388608Byte(即8MB)。
///
[JsonProperty("MaxMessageBytes")]
public long? MaxMessageBytes{ get; set; }
///
/// 消息删除策略,可以选择delete 或者compact
///
[JsonProperty("CleanUpPolicy")]
public string CleanUpPolicy{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "InstanceId", this.InstanceId);
this.SetParamSimple(map, prefix + "TopicName", this.TopicName);
this.SetParamSimple(map, prefix + "Note", this.Note);
this.SetParamSimple(map, prefix + "EnableWhiteList", this.EnableWhiteList);
this.SetParamSimple(map, prefix + "MinInsyncReplicas", this.MinInsyncReplicas);
this.SetParamSimple(map, prefix + "UncleanLeaderElectionEnable", this.UncleanLeaderElectionEnable);
this.SetParamSimple(map, prefix + "RetentionMs", this.RetentionMs);
this.SetParamSimple(map, prefix + "SegmentMs", this.SegmentMs);
this.SetParamSimple(map, prefix + "MaxMessageBytes", this.MaxMessageBytes);
this.SetParamSimple(map, prefix + "CleanUpPolicy", this.CleanUpPolicy);
}
}
}