/*
* 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.Tsf.V20180326.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class CreateContainGroupRequest : AbstractModel
{
///
/// 分组所属应用ID
///
[JsonProperty("ApplicationId")]
public string ApplicationId{ get; set; }
///
/// 分组所属命名空间ID
///
[JsonProperty("NamespaceId")]
public string NamespaceId{ get; set; }
///
/// 分组名称字段,长度1~60,字母或下划线开头,可包含字母数字下划线
///
[JsonProperty("GroupName")]
public string GroupName{ get; set; }
///
/// 实例数量
///
[JsonProperty("InstanceNum")]
public long? InstanceNum{ get; set; }
///
/// 0:公网 1:集群内访问 2:NodePort
///
[JsonProperty("AccessType")]
public long? AccessType{ get; set; }
///
/// 数组对象,见下方定义
///
[JsonProperty("ProtocolPorts")]
public ProtocolPort[] ProtocolPorts{ get; set; }
///
/// 集群ID
///
[JsonProperty("ClusterId")]
public string ClusterId{ get; set; }
///
/// 最大分配 CPU 核数,对应 K8S limit
///
[JsonProperty("CpuLimit")]
public string CpuLimit{ get; set; }
///
/// 最大分配内存 MiB 数,对应 K8S limit
///
[JsonProperty("MemLimit")]
public string MemLimit{ get; set; }
///
/// 分组备注字段,长度应不大于200字符
///
[JsonProperty("GroupComment")]
public string GroupComment{ get; set; }
///
/// 更新方式:0:快速更新 1:滚动更新
///
[JsonProperty("UpdateType")]
public long? UpdateType{ get; set; }
///
/// 滚动更新必填,更新间隔
///
[JsonProperty("UpdateIvl")]
public long? UpdateIvl{ get; set; }
///
/// 初始分配的 CPU 核数,对应 K8S request
///
[JsonProperty("CpuRequest")]
public string CpuRequest{ get; set; }
///
/// 初始分配的内存 MiB 数,对应 K8S request
///
[JsonProperty("MemRequest")]
public string MemRequest{ get; set; }
///
/// 部署组资源类型
///
[JsonProperty("GroupResourceType")]
public string GroupResourceType{ get; set; }
///
/// 子网ID
///
[JsonProperty("SubnetId")]
public string SubnetId{ get; set; }
///
/// agent 容器分配的 CPU 核数,对应 K8S 的 request
///
[JsonProperty("AgentCpuRequest")]
public string AgentCpuRequest{ get; set; }
///
/// agent 容器最大的 CPU 核数,对应 K8S 的 limit
///
[JsonProperty("AgentCpuLimit")]
public string AgentCpuLimit{ get; set; }
///
/// agent 容器分配的内存 MiB 数,对应 K8S 的 request
///
[JsonProperty("AgentMemRequest")]
public string AgentMemRequest{ get; set; }
///
/// agent 容器最大的内存 MiB 数,对应 K8S 的 limit
///
[JsonProperty("AgentMemLimit")]
public string AgentMemLimit{ get; set; }
///
/// istioproxy 容器分配的 CPU 核数,对应 K8S 的 request
///
[JsonProperty("IstioCpuRequest")]
public string IstioCpuRequest{ get; set; }
///
/// istioproxy 容器最大的 CPU 核数,对应 K8S 的 limit
///
[JsonProperty("IstioCpuLimit")]
public string IstioCpuLimit{ get; set; }
///
/// istioproxy 容器分配的内存 MiB 数,对应 K8S 的 request
///
[JsonProperty("IstioMemRequest")]
public string IstioMemRequest{ get; set; }
///
/// istioproxy 容器最大的内存 MiB 数,对应 K8S 的 limit
///
[JsonProperty("IstioMemLimit")]
public string IstioMemLimit{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "ApplicationId", this.ApplicationId);
this.SetParamSimple(map, prefix + "NamespaceId", this.NamespaceId);
this.SetParamSimple(map, prefix + "GroupName", this.GroupName);
this.SetParamSimple(map, prefix + "InstanceNum", this.InstanceNum);
this.SetParamSimple(map, prefix + "AccessType", this.AccessType);
this.SetParamArrayObj(map, prefix + "ProtocolPorts.", this.ProtocolPorts);
this.SetParamSimple(map, prefix + "ClusterId", this.ClusterId);
this.SetParamSimple(map, prefix + "CpuLimit", this.CpuLimit);
this.SetParamSimple(map, prefix + "MemLimit", this.MemLimit);
this.SetParamSimple(map, prefix + "GroupComment", this.GroupComment);
this.SetParamSimple(map, prefix + "UpdateType", this.UpdateType);
this.SetParamSimple(map, prefix + "UpdateIvl", this.UpdateIvl);
this.SetParamSimple(map, prefix + "CpuRequest", this.CpuRequest);
this.SetParamSimple(map, prefix + "MemRequest", this.MemRequest);
this.SetParamSimple(map, prefix + "GroupResourceType", this.GroupResourceType);
this.SetParamSimple(map, prefix + "SubnetId", this.SubnetId);
this.SetParamSimple(map, prefix + "AgentCpuRequest", this.AgentCpuRequest);
this.SetParamSimple(map, prefix + "AgentCpuLimit", this.AgentCpuLimit);
this.SetParamSimple(map, prefix + "AgentMemRequest", this.AgentMemRequest);
this.SetParamSimple(map, prefix + "AgentMemLimit", this.AgentMemLimit);
this.SetParamSimple(map, prefix + "IstioCpuRequest", this.IstioCpuRequest);
this.SetParamSimple(map, prefix + "IstioCpuLimit", this.IstioCpuLimit);
this.SetParamSimple(map, prefix + "IstioMemRequest", this.IstioMemRequest);
this.SetParamSimple(map, prefix + "IstioMemLimit", this.IstioMemLimit);
}
}
}