/* * 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); } } }