/*
* 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 DeployContainerGroupRequest : AbstractModel
{
///
/// 部署组ID,分组唯一标识
///
[JsonProperty("GroupId")]
public string GroupId{ get; set; }
///
/// 镜像server
///
[JsonProperty("Server")]
public string Server{ get; set; }
///
/// 镜像版本名称,如v1
///
[JsonProperty("TagName")]
public string TagName{ get; set; }
///
/// 实例数量
///
[JsonProperty("InstanceNum")]
public long? InstanceNum{ get; set; }
///
/// 旧版镜像名,如/tsf/nginx
///
[JsonProperty("Reponame")]
public string Reponame{ get; set; }
///
/// 业务容器最大的 CPU 核数,对应 K8S 的 limit;不填时默认为 request 的 2 倍
///
[JsonProperty("CpuLimit")]
public string CpuLimit{ get; set; }
///
/// 业务容器最大的内存 MiB 数,对应 K8S 的 limit;不填时默认为 request 的 2 倍
///
[JsonProperty("MemLimit")]
public string MemLimit{ get; set; }
///
/// jvm参数
///
[JsonProperty("JvmOpts")]
public string JvmOpts{ get; set; }
///
/// 业务容器分配的 CPU 核数,对应 K8S 的 request
///
[JsonProperty("CpuRequest")]
public string CpuRequest{ get; set; }
///
/// 业务容器分配的内存 MiB 数,对应 K8S 的 request
///
[JsonProperty("MemRequest")]
public string MemRequest{ get; set; }
///
/// 是否不立即启动
///
[JsonProperty("DoNotStart")]
public bool? DoNotStart{ get; set; }
///
/// (优先使用)新版镜像名,如/tsf/nginx
///
[JsonProperty("RepoName")]
public string RepoName{ get; set; }
///
/// 更新方式:0:快速更新 1:滚动更新
///
[JsonProperty("UpdateType")]
public long? UpdateType{ get; set; }
///
/// 滚动更新必填,更新间隔
///
[JsonProperty("UpdateIvl")]
public long? UpdateIvl{ 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 + "GroupId", this.GroupId);
this.SetParamSimple(map, prefix + "Server", this.Server);
this.SetParamSimple(map, prefix + "TagName", this.TagName);
this.SetParamSimple(map, prefix + "InstanceNum", this.InstanceNum);
this.SetParamSimple(map, prefix + "Reponame", this.Reponame);
this.SetParamSimple(map, prefix + "CpuLimit", this.CpuLimit);
this.SetParamSimple(map, prefix + "MemLimit", this.MemLimit);
this.SetParamSimple(map, prefix + "JvmOpts", this.JvmOpts);
this.SetParamSimple(map, prefix + "CpuRequest", this.CpuRequest);
this.SetParamSimple(map, prefix + "MemRequest", this.MemRequest);
this.SetParamSimple(map, prefix + "DoNotStart", this.DoNotStart);
this.SetParamSimple(map, prefix + "RepoName", this.RepoName);
this.SetParamSimple(map, prefix + "UpdateType", this.UpdateType);
this.SetParamSimple(map, prefix + "UpdateIvl", this.UpdateIvl);
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);
}
}
}