feat(wxapi): 新增微信云托管服务管理相关接口

This commit is contained in:
Fu Diwei
2022-11-04 13:43:34 +08:00
parent 7525d6475d
commit 2fa4e24b95
26 changed files with 1637 additions and 49 deletions

View File

@@ -112,48 +112,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
}
#endregion
#region CloudBaseEnvironment
/// <summary>
/// <para>异步调用 [POST] /componenttcb/describecloudbaserunenvs 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/cloudenv-mgnt/getWxCloudBaseRunEnvs.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBDescribeCloudBaseRunEnvironmentsResponse> ExecuteComponentTCBDescribeCloudBaseRunEnvironmentsAsync(this WechatApiClient client, Models.ComponentTCBDescribeCloudBaseRunEnvironmentsRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "describecloudbaserunenvs")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBDescribeCloudBaseRunEnvironmentsResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/createcloudbaserunenv 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/cloudenv-mgnt/createCloudbaseEnv.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBCreateCloudBaseRunEnvironmentResponse> ExecuteComponentTCBCreateCloudBaseRunEnvironmentAsync(this WechatApiClient client, Models.ComponentTCBCreateCloudBaseRunEnvironmentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "createcloudbaserunenv")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBCreateCloudBaseRunEnvironmentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region SCF
/// <summary>
/// <para>异步调用 [POST] /componenttcb/batchuploadscf 接口。</para>
@@ -952,5 +910,169 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
return await client.SendRequestWithJsonAsync<Models.ComponentTCBDbModifyACLResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region CloudBaseEnvironment
/// <summary>
/// <para>异步调用 [POST] /componenttcb/describecloudbaserunenvs 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/cloudenv-mgnt/getWxCloudBaseRunEnvs.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBDescribeCloudBaseRunEnvironmentsResponse> ExecuteComponentTCBDescribeCloudBaseRunEnvironmentsAsync(this WechatApiClient client, Models.ComponentTCBDescribeCloudBaseRunEnvironmentsRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "describecloudbaserunenvs")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBDescribeCloudBaseRunEnvironmentsResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/createcloudbaserunenv 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/cloudenv-mgnt/createCloudbaseEnv.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBCreateCloudBaseRunEnvironmentResponse> ExecuteComponentTCBCreateCloudBaseRunEnvironmentAsync(this WechatApiClient client, Models.ComponentTCBCreateCloudBaseRunEnvironmentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "createcloudbaserunenv")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBCreateCloudBaseRunEnvironmentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region CloudBaseServer
/// <summary>
/// <para>异步调用 [POST] /componenttcb/establishcloudbaserunserver 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/service-mgnt/createCloudbaseService.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBEstablishCloudBaseRunServerResponse> ExecuteComponentTCBEstablishCloudBaseRunServerAsync(this WechatApiClient client, Models.ComponentTCBEstablishCloudBaseRunServerRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "establishcloudbaserunserver")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBEstablishCloudBaseRunServerResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/createcloudbaserunserverversion 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/service-mgnt/createCloudbaseServiceVersion.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBCreateCloudBaseRunServerVersionResponse> ExecuteComponentTCBCreateCloudBaseRunServerVersionAsync(this WechatApiClient client, Models.ComponentTCBCreateCloudBaseRunServerVersionRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "createcloudbaserunserverversion")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBCreateCloudBaseRunServerVersionResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/rollupdatecloudbaserunserverversion 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/service-mgnt/updateCloudbaseServiceVersion.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBRollUpdateCloudBaseRunServerVersionResponse> ExecuteComponentTCBRollUpdateCloudBaseRunServerVersionAsync(this WechatApiClient client, Models.ComponentTCBRollUpdateCloudBaseRunServerVersionRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "rollupdatecloudbaserunserverversion")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBRollUpdateCloudBaseRunServerVersionResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/deletecloudbaserunserverversion 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/service-mgnt/deleteCloudbaseServiceVersion.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBDeleteCloudBaseRunServerVersionResponse> ExecuteComponentTCBDeleteCloudBaseRunServerVersionAsync(this WechatApiClient client, Models.ComponentTCBDeleteCloudBaseRunServerVersionRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "deletecloudbaserunserverversion")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBDeleteCloudBaseRunServerVersionResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/releasecloudbaserunversion 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/service-mgnt/releaseCloudbaseServiceVersion.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBReleaseCloudBaseRunVersionResponse> ExecuteComponentTCBReleaseCloudBaseRunVersionAsync(this WechatApiClient client, Models.ComponentTCBReleaseCloudBaseRunVersionRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "releasecloudbaserunversion")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBReleaseCloudBaseRunVersionResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/createcloudbaserunresauth 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/service-mgnt/createCloudbaseMicrservice.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTCBCreateCloudBaseRunResauthResponse> ExecuteComponentTCBCreateCloudBaseRunResauthAsync(this WechatApiClient client, Models.ComponentTCBCreateCloudBaseRunResauthRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "componenttcb", "createcloudbaserunresauth")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTCBCreateCloudBaseRunResauthResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
}
}

View File

@@ -0,0 +1,24 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/createcloudbaserunresauth 接口的请求。</para>
/// </summary>
public class ComponentTCBCreateCloudBaseRunResauthRequest : WechatApiRequest, IInferable<ComponentTCBCreateCloudBaseRunResauthRequest, ComponentTCBCreateCloudBaseRunResauthResponse>
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env_id")]
[System.Text.Json.Serialization.JsonPropertyName("env_id")]
public string EnvironmentId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/createcloudbaserunresauth 接口的响应。</para>
/// </summary>
public class ComponentTCBCreateCloudBaseRunResauthResponse : WechatApiResponse
{
}
}

View File

@@ -0,0 +1,709 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/createcloudbaserunserverversion 接口的请求。</para>
/// </summary>
public class ComponentTCBCreateCloudBaseRunServerVersionRequest : WechatApiRequest, IInferable<ComponentTCBCreateCloudBaseRunServerVersionRequest, ComponentTCBCreateCloudBaseRunServerVersionResponse>
{
public static class Types
{
public class Image
{
/// <summary>
/// 获取或设置镜像仓库名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("repository_name")]
[System.Text.Json.Serialization.JsonPropertyName("repository_name")]
public string? RepositoryName { get; set; }
/// <summary>
/// 获取或设置是否公有。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_public")]
[System.Text.Json.Serialization.JsonPropertyName("is_public")]
public bool? IsPublic { get; set; }
/// <summary>
/// 获取或设置镜像 Tag 名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag_name")]
[System.Text.Json.Serialization.JsonPropertyName("tag_name")]
public string? TagName { get; set; }
/// <summary>
/// 获取或设置镜像服务地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("server_addr")]
[System.Text.Json.Serialization.JsonPropertyName("server_addr")]
public string? ServerAddress { get; set; }
/// <summary>
/// 获取或设置镜像拉取地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("image_url")]
[System.Text.Json.Serialization.JsonPropertyName("image_url")]
public string? ImageUrl { get; set; }
}
public class Code
{
public static class Types
{
public class Repository
{
/// <summary>
/// 获取或设置仓库名字。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置仓库完整名字。
/// </summary>
[Newtonsoft.Json.JsonProperty("full_name")]
[System.Text.Json.Serialization.JsonPropertyName("full_name")]
public string? FullName { get; set; }
}
}
/// <summary>
/// 获取或设置仓库信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public Types.Repository? Repository { get; set; }
/// <summary>
/// 获取或设置仓库地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("url")]
[System.Text.Json.Serialization.JsonPropertyName("url")]
public string? Url { get; set; }
}
public class ImageSecret
{
/// <summary>
/// 获取或设置镜像地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("registry_server")]
[System.Text.Json.Serialization.JsonPropertyName("registry_server")]
public string? RegistryServer { get; set; }
/// <summary>
/// 获取或设置用户名。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_name")]
[System.Text.Json.Serialization.JsonPropertyName("user_name")]
public string? Username { get; set; }
/// <summary>
/// 获取或设置密码。
/// </summary>
[Newtonsoft.Json.JsonProperty("password")]
[System.Text.Json.Serialization.JsonPropertyName("password")]
public string? Password { get; set; }
/// <summary>
/// 获取或设置邮箱。
/// </summary>
[Newtonsoft.Json.JsonProperty("email")]
[System.Text.Json.Serialization.JsonPropertyName("email")]
public string? Email { get; set; }
}
public class VolumeMount
{
public static class Types
{
public class NFSVolumeSource
{
/// <summary>
/// 获取或设置服务名。
/// </summary>
[Newtonsoft.Json.JsonProperty("server")]
[System.Text.Json.Serialization.JsonPropertyName("server")]
public string? Server { get; set; }
/// <summary>
/// 获取或设置路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("path")]
[System.Text.Json.Serialization.JsonPropertyName("path")]
public string? Path { get; set; }
/// <summary>
/// 获取或设置是否只读。
/// </summary>
[Newtonsoft.Json.JsonProperty("read_only")]
[System.Text.Json.Serialization.JsonPropertyName("read_only")]
public bool? IsReadOnly { get; set; }
/// <summary>
/// 获取或设置 Secret 名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("secret_name")]
[System.Text.Json.Serialization.JsonPropertyName("secret_name")]
public string? SecretName { get; set; }
/// <summary>
/// 获取或设置是否允许临时目录。
/// </summary>
[Newtonsoft.Json.JsonProperty("enable_empty_dir_volume")]
[System.Text.Json.Serialization.JsonPropertyName("enable_empty_dir_volume")]
public bool? EnableEmptyDirectoryVolume { get; set; }
}
}
/// <summary>
/// 获取或设置资源名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置挂载路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("mount_path")]
[System.Text.Json.Serialization.JsonPropertyName("mount_path")]
public string? MountPath { get; set; }
/// <summary>
/// 获取或设置是否只读。
/// </summary>
[Newtonsoft.Json.JsonProperty("read_only")]
[System.Text.Json.Serialization.JsonPropertyName("read_only")]
public bool? IsReadOnly { get; set; }
/// <summary>
/// 获取或设置 NFS 挂载信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("nfs_volumes")]
[System.Text.Json.Serialization.JsonPropertyName("nfs_volumes")]
public IList<Types.NFSVolumeSource>? NFSVolumes { get; set; }
}
public class ServiceVolume
{
public static class Types
{
public class NFSVolumeSource : VolumeMount.Types.NFSVolumeSource
{
}
public class EmptyDirectoryVolumeSource
{
/// <summary>
/// 获取或设置是否允许临时目录。
/// </summary>
[Newtonsoft.Json.JsonProperty("enable_empty_dir_volume")]
[System.Text.Json.Serialization.JsonPropertyName("enable_empty_dir_volume")]
public bool? EnableEmptyDirectoryVolume { get; set; }
/// <summary>
/// 获取或设置媒介。
/// </summary>
[Newtonsoft.Json.JsonProperty("medium")]
[System.Text.Json.Serialization.JsonPropertyName("medium")]
public string? Medium { get; set; }
/// <summary>
/// 获取或设置数据卷大小。
/// </summary>
[Newtonsoft.Json.JsonProperty("size_limit")]
[System.Text.Json.Serialization.JsonPropertyName("size_limit")]
public string? SizeLimit { get; set; }
}
}
/// <summary>
/// 获取或设置资源名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置 Secret 名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("secret_name")]
[System.Text.Json.Serialization.JsonPropertyName("secret_name")]
public string? SecretName { get; set; }
/// <summary>
/// 获取或设置是否允许临时目录。
/// </summary>
[Newtonsoft.Json.JsonProperty("enable_empty_dir_volume")]
[System.Text.Json.Serialization.JsonPropertyName("enable_empty_dir_volume")]
public bool? EnableEmptyDirectoryVolume { get; set; }
/// <summary>
/// 获取或设置临时目录数据卷详细信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("empty_dir")]
[System.Text.Json.Serialization.JsonPropertyName("empty_dir")]
public Types.EmptyDirectoryVolumeSource? EmptyDirectoryVolume { get; set; }
}
public class ServiceVolumeMount
{
/// <summary>
/// 获取或设置资源名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置挂载路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("mount_path")]
[System.Text.Json.Serialization.JsonPropertyName("mount_path")]
public string? MountPath { get; set; }
/// <summary>
/// 获取或设置是否只读。
/// </summary>
[Newtonsoft.Json.JsonProperty("read_only")]
[System.Text.Json.Serialization.JsonPropertyName("read_only")]
public bool? IsReadOnly { get; set; }
/// <summary>
/// 获取或设置子路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_path")]
[System.Text.Json.Serialization.JsonPropertyName("sub_path")]
public string? SubPath { get; set; }
/// <summary>
/// 获取或设置传播挂载方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("mount_propagation")]
[System.Text.Json.Serialization.JsonPropertyName("mount_propagation")]
public string? MountPropagation { get; set; }
}
public class ES : ComponentTCBEstablishCloudBaseRunServerRequest.Types.ES
{
}
public class SidecarSpecification
{
/// <summary>
/// 获取或设置容器镜像。
/// </summary>
[Newtonsoft.Json.JsonProperty("container_image")]
[System.Text.Json.Serialization.JsonPropertyName("container_image")]
public string? ContainerImage { get; set; }
/// <summary>
/// 获取或设置容器端口。
/// </summary>
[Newtonsoft.Json.JsonProperty("container_port")]
[System.Text.Json.Serialization.JsonPropertyName("container_port")]
public int? ContainerPort { get; set; }
/// <summary>
/// 获取或设置容器的名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("container_name")]
[System.Text.Json.Serialization.JsonPropertyName("container_name")]
public string? ContainerName { get; set; }
/// <summary>
/// 获取或设置环境变量。
/// </summary>
[Newtonsoft.Json.JsonProperty("env_var")]
[System.Text.Json.Serialization.JsonPropertyName("env_var")]
public string? EnvironmentVariables { get; set; }
/// <summary>
/// 获取或设置延迟健康检查秒数。
/// </summary>
[Newtonsoft.Json.JsonProperty("initial_delay_seconds")]
[System.Text.Json.Serialization.JsonPropertyName("initial_delay_seconds")]
public int? InitialDelaySeconds { get; set; }
/// <summary>
/// 获取或设置 CPU 大小(单位:核)。
/// </summary>
[Newtonsoft.Json.JsonProperty("cpu")]
[System.Text.Json.Serialization.JsonPropertyName("cpu")]
public double? CPUSize { get; set; }
/// <summary>
/// 获取或设置内存大小单位GB
/// </summary>
[Newtonsoft.Json.JsonProperty("mem")]
[System.Text.Json.Serialization.JsonPropertyName("mem")]
public double? MemorySize { get; set; }
/// <summary>
/// 获取或设置安全特性信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("security")]
[System.Text.Json.Serialization.JsonPropertyName("security")]
public SecurityContext? SecurityContext { get; set; }
/// <summary>
/// 获取或设置挂载列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("volume_mount_infos")]
[System.Text.Json.Serialization.JsonPropertyName("volume_mount_infos")]
public IList<Types.VolumeMount>? VolumeMountList { get; set; }
}
public class SecurityContext
{
public static class Types
{
public class Capability
{
/// <summary>
/// 获取或设置启用安全能力项列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("add")]
[System.Text.Json.Serialization.JsonPropertyName("add")]
public IList<string>? AddList { get; set; }
/// <summary>
/// 获取或设置禁用安全能力向列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("drop")]
[System.Text.Json.Serialization.JsonPropertyName("drop")]
public IList<string>? DropList { get; set; }
}
}
/// <summary>
/// 获取或设置安全特性信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("capabilities")]
[System.Text.Json.Serialization.JsonPropertyName("capabilities")]
public Types.Capability? Capability { get; set; }
}
public class HPAPolicy
{
/// <summary>
/// 获取或设置策略类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_type")]
[System.Text.Json.Serialization.JsonPropertyName("policy_type")]
public string? PolicyType { get; set; }
/// <summary>
/// 获取或设置策略阈值。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_threshold")]
[System.Text.Json.Serialization.JsonPropertyName("policy_threshold")]
public double? PolicyThreshold { get; set; }
}
}
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env_id")]
[System.Text.Json.Serialization.JsonPropertyName("env_id")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置上传类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("upload_type")]
[System.Text.Json.Serialization.JsonPropertyName("upload_type")]
public string UploadType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置流量占比范围0100
/// </summary>
[Newtonsoft.Json.JsonProperty("flow_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("flow_ratio")]
public int FlowRatio { get; set; }
/// <summary>
/// 获取或设置 CPU 大小(单位:核)。
/// </summary>
[Newtonsoft.Json.JsonProperty("cpu")]
[System.Text.Json.Serialization.JsonPropertyName("cpu")]
public double CPUSize { get; set; }
/// <summary>
/// 获取或设置内存大小单位GB
/// </summary>
[Newtonsoft.Json.JsonProperty("mem")]
[System.Text.Json.Serialization.JsonPropertyName("mem")]
public double MemorySize { get; set; }
/// <summary>
/// 获取或设置最小副本数。
/// </summary>
[Newtonsoft.Json.JsonProperty("min_num")]
[System.Text.Json.Serialization.JsonPropertyName("min_num")]
public int MinNumber { get; set; }
/// <summary>
/// 获取或设置最大副本数。
/// </summary>
[Newtonsoft.Json.JsonProperty("max_num")]
[System.Text.Json.Serialization.JsonPropertyName("max_num")]
public int MaxNumber { get; set; }
/// <summary>
/// 获取或设置策略类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_type")]
[System.Text.Json.Serialization.JsonPropertyName("policy_type")]
public string PolicyType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置策略阈值。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_threshold")]
[System.Text.Json.Serialization.JsonPropertyName("policy_threshold")]
public double PolicyThreshold { get; set; }
/// <summary>
/// 获取或设置服务端口。
/// </summary>
[Newtonsoft.Json.JsonProperty("container_port")]
[System.Text.Json.Serialization.JsonPropertyName("container_port")]
public int ContainerPort { get; set; }
/// <summary>
/// 获取或设置服务名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("server_name")]
[System.Text.Json.Serialization.JsonPropertyName("server_name")]
public string ServerName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置仓库类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("repository_type")]
[System.Text.Json.Serialization.JsonPropertyName("repository_type")]
public string? RepositoryType { get; set; }
/// <summary>
/// 获取或设置仓库地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("repository")]
[System.Text.Json.Serialization.JsonPropertyName("repository")]
public string? RepositoryUrl { get; set; }
/// <summary>
/// 获取或设置 Dockerfile 路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("dockerfile_path")]
[System.Text.Json.Serialization.JsonPropertyName("dockerfile_path")]
public string? DockerfilePath { get; set; }
/// <summary>
/// 获取或设置构建目录。
/// </summary>
[Newtonsoft.Json.JsonProperty("build_dir")]
[System.Text.Json.Serialization.JsonPropertyName("build_dir")]
public string? BuildDirectory { get; set; }
/// <summary>
/// 获取或设置环境变量。
/// </summary>
[Newtonsoft.Json.JsonProperty("env_params")]
[System.Text.Json.Serialization.JsonPropertyName("env_params")]
public string? EnvironmentVariables { get; set; }
/// <summary>
/// 获取或设置分支。
/// </summary>
[Newtonsoft.Json.JsonProperty("branch")]
[System.Text.Json.Serialization.JsonPropertyName("branch")]
public string? Branch { get; set; }
/// <summary>
/// 获取或设置包名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("package_name")]
[System.Text.Json.Serialization.JsonPropertyName("package_name")]
public string? PackageName { get; set; }
/// <summary>
/// 获取或设置包版本。
/// </summary>
[Newtonsoft.Json.JsonProperty("package_version")]
[System.Text.Json.Serialization.JsonPropertyName("package_version")]
public string? PackageVersion { get; set; }
/// <summary>
/// 获取或设置镜像信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("image_info")]
[System.Text.Json.Serialization.JsonPropertyName("image_info")]
public Types.Image? Image { get; set; }
/// <summary>
/// 获取或设置代码信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_detail")]
[System.Text.Json.Serialization.JsonPropertyName("code_detail")]
public Types.Code? Code { get; set; }
/// <summary>
/// 获取或设置私有镜像密钥信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("image_secret_info")]
[System.Text.Json.Serialization.JsonPropertyName("image_secret_info")]
public Types.ImageSecret? ImageSecret { get; set; }
/// <summary>
/// 获取或设置私有镜像认证密钥。
/// </summary>
[Newtonsoft.Json.JsonProperty("image_pull_secret")]
[System.Text.Json.Serialization.JsonPropertyName("image_pull_secret")]
public string? ImagePullSecret { get; set; }
/// <summary>
/// 获取或设置自定义采集日志路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("custom_logs")]
[System.Text.Json.Serialization.JsonPropertyName("custom_logs")]
public string? CustomLogPath { get; set; }
/// <summary>
/// 获取或设置版本备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("version_remark")]
[System.Text.Json.Serialization.JsonPropertyName("version_remark")]
public string? VersionRemark { get; set; }
/// <summary>
/// 获取或设置延迟健康检查秒数。
/// </summary>
[Newtonsoft.Json.JsonProperty("initial_delay_seconds")]
[System.Text.Json.Serialization.JsonPropertyName("initial_delay_seconds")]
public int? InitialDelaySeconds { get; set; }
/// <summary>
/// 获取或设置 CFS 挂载列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("mount_volume_info")]
[System.Text.Json.Serialization.JsonPropertyName("mount_volume_info")]
public IList<Types.VolumeMount>? VolumeMountList { get; set; }
/// <summary>
/// 获取或设置访问类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("access_type")]
[System.Text.Json.Serialization.JsonPropertyName("access_type")]
public int? AccessType { get; set; }
/// <summary>
/// 获取或设置 ES 信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("es_info")]
[System.Text.Json.Serialization.JsonPropertyName("es_info")]
public Types.ES? ES { get; set; }
/// <summary>
/// 获取或设置是否使用统一域名。
/// </summary>
[Newtonsoft.Json.JsonProperty("enable_union")]
[System.Text.Json.Serialization.JsonPropertyName("enable_union")]
public bool? EnableUnion { get; set; }
/// <summary>
/// 获取或设置服务路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("server_path")]
[System.Text.Json.Serialization.JsonPropertyName("server_path")]
public string? ServerPath { get; set; }
/// <summary>
/// 获取或设置容器的描述文件列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("sidecar_specs")]
[System.Text.Json.Serialization.JsonPropertyName("sidecar_specs")]
public IList<Types.SidecarSpecification>? SidecarSpecificationList { get; set; }
/// <summary>
/// 获取或设置安全特性信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("security")]
[System.Text.Json.Serialization.JsonPropertyName("security")]
public Types.SecurityContext? SecurityContext { get; set; }
/// <summary>
/// 获取或设置服务磁盘挂载列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("service_volumes")]
[System.Text.Json.Serialization.JsonPropertyName("service_volumes")]
public IList<Types.ServiceVolume>? ServiceVolumeList { get; set; }
/// <summary>
/// 获取或设置数据卷挂载列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("service_volume_mounts")]
[System.Text.Json.Serialization.JsonPropertyName("service_volume_mounts")]
public IList<Types.ServiceVolumeMount>? ServiceVolumeMountList { get; set; }
/// <summary>
/// 获取或设置 JnsGw 创建状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_create_jns_gw")]
[System.Text.Json.Serialization.JsonPropertyName("is_create_jns_gw")]
public int? CreateJnsGwStatus { get; set; }
/// <summary>
/// 获取或设置 Dockerfile 包含状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("has_dockerfile")]
[System.Text.Json.Serialization.JsonPropertyName("has_dockerfile")]
public int? HasDockerfileStatus { get; set; }
/// <summary>
/// 获取或设置基础镜像。
/// </summary>
[Newtonsoft.Json.JsonProperty("base_image")]
[System.Text.Json.Serialization.JsonPropertyName("base_image")]
public string? BaseImage { get; set; }
/// <summary>
/// 获取或设置容器启动入口命令。
/// </summary>
[Newtonsoft.Json.JsonProperty("entry_point")]
[System.Text.Json.Serialization.JsonPropertyName("entry_point")]
public string? EntryPoint { get; set; }
/// <summary>
/// 获取或设置仓库语言。
/// </summary>
[Newtonsoft.Json.JsonProperty("repo_language")]
[System.Text.Json.Serialization.JsonPropertyName("repo_language")]
public string? RepositoryLanguage { get; set; }
/// <summary>
/// 获取或设置上传文件名。
/// </summary>
[Newtonsoft.Json.JsonProperty("upload_filename")]
[System.Text.Json.Serialization.JsonPropertyName("upload_filename")]
public string? UploadFileName { get; set; }
/// <summary>
/// 获取或设置自动扩缩容策略组列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_detail")]
[System.Text.Json.Serialization.JsonPropertyName("policy_detail")]
public IList<Types.HPAPolicy>? HPAPolicyList { get; set; }
}
}

View File

@@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/createcloudbaserunserverversion 接口的响应。</para>
/// </summary>
public class ComponentTCBCreateCloudBaseRunServerVersionResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置操作记录 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("run_id")]
[System.Text.Json.Serialization.JsonPropertyName("run_id")]
public string RunId { get; set; } = default!;
/// <summary>
/// 获取或设置创建结果。
/// </summary>
[Newtonsoft.Json.JsonProperty("result")]
[System.Text.Json.Serialization.JsonPropertyName("result")]
public string Result { get; set; } = default!;
/// <summary>
/// 获取或设置版本名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("version_name")]
[System.Text.Json.Serialization.JsonPropertyName("version_name")]
public string? VersionName { get; set; }
}
}

View File

@@ -0,0 +1,52 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/deletecloudbaserunserverversion 接口的请求。</para>
/// </summary>
public class ComponentTCBDeleteCloudBaseRunServerVersionRequest : WechatApiRequest, IInferable<ComponentTCBDeleteCloudBaseRunServerVersionRequest, ComponentTCBDeleteCloudBaseRunServerVersionResponse>
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env_id")]
[System.Text.Json.Serialization.JsonPropertyName("env_id")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置版本名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("version_name")]
[System.Text.Json.Serialization.JsonPropertyName("version_name")]
public string VersionName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置服务名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("server_name")]
[System.Text.Json.Serialization.JsonPropertyName("server_name")]
public string ServerName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否删除服务。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_delete_server")]
[System.Text.Json.Serialization.JsonPropertyName("is_delete_server")]
public bool? RequireDeleteServer { get; set; }
/// <summary>
/// 获取或设置是否删除镜像。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_delete_image")]
[System.Text.Json.Serialization.JsonPropertyName("is_delete_image")]
public bool? RequireDeleteImage { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/deletecloudbaserunserverversion 接口的响应。</para>
/// </summary>
public class ComponentTCBDeleteCloudBaseRunServerVersionResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置创建结果。
/// </summary>
[Newtonsoft.Json.JsonProperty("result")]
[System.Text.Json.Serialization.JsonPropertyName("result")]
public string Result { get; set; } = default!;
}
}

View File

@@ -0,0 +1,152 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/establishcloudbaserunserver 接口的请求。</para>
/// </summary>
public class ComponentTCBEstablishCloudBaseRunServerRequest : WechatApiRequest, IInferable<ComponentTCBEstablishCloudBaseRunServerRequest, ComponentTCBEstablishCloudBaseRunServerResponse>
{
public static class Types
{
public class ES
{
/// <summary>
/// 获取或设置 ES ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public long ESId { get; set; }
/// <summary>
/// 获取或设置 Secret 名。
/// </summary>
[Newtonsoft.Json.JsonProperty("secret_name")]
[System.Text.Json.Serialization.JsonPropertyName("secret_name")]
public string? SecretName { get; set; }
/// <summary>
/// 获取或设置 IP 地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("ip")]
[System.Text.Json.Serialization.JsonPropertyName("ip")]
public string? Ip { get; set; }
/// <summary>
/// 获取或设置端口。
/// </summary>
[Newtonsoft.Json.JsonProperty("port")]
[System.Text.Json.Serialization.JsonPropertyName("port")]
public int? Port { get; set; }
/// <summary>
/// 获取或设置索引。
/// </summary>
[Newtonsoft.Json.JsonProperty("index")]
[System.Text.Json.Serialization.JsonPropertyName("index")]
public string? Index { get; set; }
/// <summary>
/// 获取或设置用户名。
/// </summary>
[Newtonsoft.Json.JsonProperty("account")]
[System.Text.Json.Serialization.JsonPropertyName("account")]
public string? Account { get; set; }
/// <summary>
/// 获取或设置密码。
/// </summary>
[Newtonsoft.Json.JsonProperty("password")]
[System.Text.Json.Serialization.JsonPropertyName("password")]
public string? Password { get; set; }
}
public class VPC
{
/// <summary>
/// 获取或设置服务描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("vpc_id")]
[System.Text.Json.Serialization.JsonPropertyName("vpc_id")]
public string VPCId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置子网 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("subnet_ids")]
[System.Text.Json.Serialization.JsonPropertyName("subnet_ids")]
public IList<string>? SubnetIdList { get; set; }
/// <summary>
/// 获取或设置创建类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_type")]
[System.Text.Json.Serialization.JsonPropertyName("create_type")]
public int CreateType { get; set; }
}
}
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env_id")]
[System.Text.Json.Serialization.JsonPropertyName("env_id")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置服务名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("service_name")]
[System.Text.Json.Serialization.JsonPropertyName("service_name")]
public string ServiceName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否开通外网访问。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_public")]
[System.Text.Json.Serialization.JsonPropertyName("is_public")]
public bool IsPublic { get; set; }
/// <summary>
/// 获取或设置镜像地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("image_repo")]
[System.Text.Json.Serialization.JsonPropertyName("image_repo")]
public string? ImageRepository { get; set; }
/// <summary>
/// 获取或设置服务描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string? Remark { get; set; }
/// <summary>
/// 获取或设置日志类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("log_type")]
[System.Text.Json.Serialization.JsonPropertyName("log_type")]
public string? LogType { get; set; }
/// <summary>
/// 获取或设置 ES 信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("es_info")]
[System.Text.Json.Serialization.JsonPropertyName("es_info")]
public Types.ES? ES { get; set; }
/// <summary>
/// 获取或设置 VPC 信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("vpc_info")]
[System.Text.Json.Serialization.JsonPropertyName("vpc_info")]
public Types.VPC? VPC { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/establishcloudbaserunserver 接口的响应。</para>
/// </summary>
public class ComponentTCBEstablishCloudBaseRunServerResponse : WechatApiResponse
{
}
}

View File

@@ -0,0 +1,38 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/releasecloudbaserunversion 接口的请求。</para>
/// </summary>
public class ComponentTCBReleaseCloudBaseRunVersionRequest : WechatApiRequest, IInferable<ComponentTCBReleaseCloudBaseRunVersionRequest, ComponentTCBReleaseCloudBaseRunVersionResponse>
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env_id")]
[System.Text.Json.Serialization.JsonPropertyName("env_id")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置发布版本名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("release_version")]
[System.Text.Json.Serialization.JsonPropertyName("release_version")]
public string ReleaseVersionName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置服务名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("server_name")]
[System.Text.Json.Serialization.JsonPropertyName("server_name")]
public string ServerName { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/releasecloudbaserunversion 接口的响应。</para>
/// </summary>
public class ComponentTCBReleaseCloudBaseRunVersionResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置创建结果。
/// </summary>
[Newtonsoft.Json.JsonProperty("result")]
[System.Text.Json.Serialization.JsonPropertyName("result")]
public string Result { get; set; } = default!;
/// <summary>
/// 获取或设置发布订单 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("release_order_id")]
[System.Text.Json.Serialization.JsonPropertyName("release_order_id")]
public long? ReleaseOrderId { get; set; }
}
}

View File

@@ -0,0 +1,293 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/rollupdatecloudbaserunserverversion 接口的请求。</para>
/// </summary>
public class ComponentTCBRollUpdateCloudBaseRunServerVersionRequest : WechatApiRequest, IInferable<ComponentTCBRollUpdateCloudBaseRunServerVersionRequest, ComponentTCBRollUpdateCloudBaseRunServerVersionResponse>
{
public static class Types
{
public class Image : ComponentTCBCreateCloudBaseRunServerVersionRequest.Types.Image
{
}
public class Code : ComponentTCBCreateCloudBaseRunServerVersionRequest.Types.Code
{
public static new class Types
{
public class Repository : ComponentTCBCreateCloudBaseRunServerVersionRequest.Types.Code.Types.Repository
{
}
}
/// <summary>
/// 获取或设置仓库信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public new Types.Repository? Repository { get; set; }
}
public class VolumeMount : ComponentTCBCreateCloudBaseRunServerVersionRequest.Types.VolumeMount
{
public static new class Types
{
public class NFSVolumeSource : ComponentTCBCreateCloudBaseRunServerVersionRequest.Types.VolumeMount.Types.NFSVolumeSource
{
}
}
/// <summary>
/// 获取或设置 NFS 挂载信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("nfs_volumes")]
[System.Text.Json.Serialization.JsonPropertyName("nfs_volumes")]
public new IList<Types.NFSVolumeSource>? NFSVolumes { get; set; }
}
public class HPAPolicy : ComponentTCBCreateCloudBaseRunServerVersionRequest.Types.HPAPolicy
{
}
}
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env_id")]
[System.Text.Json.Serialization.JsonPropertyName("env_id")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置版本名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("version_name")]
[System.Text.Json.Serialization.JsonPropertyName("version_name")]
public string VersionName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置上传类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("upload_type")]
[System.Text.Json.Serialization.JsonPropertyName("upload_type")]
public string? UploadType { get; set; }
/// <summary>
/// 获取或设置流量占比范围0100
/// </summary>
[Newtonsoft.Json.JsonProperty("flow_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("flow_ratio")]
public int? FlowRatio { get; set; }
/// <summary>
/// 获取或设置 CPU 大小(单位:核)。
/// </summary>
[Newtonsoft.Json.JsonProperty("cpu")]
[System.Text.Json.Serialization.JsonPropertyName("cpu")]
public double? CPUSize { get; set; }
/// <summary>
/// 获取或设置内存大小单位GB
/// </summary>
[Newtonsoft.Json.JsonProperty("mem")]
[System.Text.Json.Serialization.JsonPropertyName("mem")]
public double? MemorySize { get; set; }
/// <summary>
/// 获取或设置最小副本数。
/// </summary>
[Newtonsoft.Json.JsonProperty("min_num")]
[System.Text.Json.Serialization.JsonPropertyName("min_num")]
public int? MinNumber { get; set; }
/// <summary>
/// 获取或设置最大副本数。
/// </summary>
[Newtonsoft.Json.JsonProperty("max_num")]
[System.Text.Json.Serialization.JsonPropertyName("max_num")]
public int? MaxNumber { get; set; }
/// <summary>
/// 获取或设置策略类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_type")]
[System.Text.Json.Serialization.JsonPropertyName("policy_type")]
public string? PolicyType { get; set; }
/// <summary>
/// 获取或设置策略阈值。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_threshold")]
[System.Text.Json.Serialization.JsonPropertyName("policy_threshold")]
public double? PolicyThreshold { get; set; }
/// <summary>
/// 获取或设置服务端口。
/// </summary>
[Newtonsoft.Json.JsonProperty("container_port")]
[System.Text.Json.Serialization.JsonPropertyName("container_port")]
public int? ContainerPort { get; set; }
/// <summary>
/// 获取或设置服务名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("server_name")]
[System.Text.Json.Serialization.JsonPropertyName("server_name")]
public string ServerName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置仓库类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("repository_type")]
[System.Text.Json.Serialization.JsonPropertyName("repository_type")]
public string? RepositoryType { get; set; }
/// <summary>
/// 获取或设置仓库地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("repository")]
[System.Text.Json.Serialization.JsonPropertyName("repository")]
public string? RepositoryUrl { get; set; }
/// <summary>
/// 获取或设置 Dockerfile 路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("dockerfile_path")]
[System.Text.Json.Serialization.JsonPropertyName("dockerfile_path")]
public string? DockerfilePath { get; set; }
/// <summary>
/// 获取或设置构建目录。
/// </summary>
[Newtonsoft.Json.JsonProperty("build_dir")]
[System.Text.Json.Serialization.JsonPropertyName("build_dir")]
public string? BuildDirectory { get; set; }
/// <summary>
/// 获取或设置环境变量。
/// </summary>
[Newtonsoft.Json.JsonProperty("env_params")]
[System.Text.Json.Serialization.JsonPropertyName("env_params")]
public string? EnvironmentVariables { get; set; }
/// <summary>
/// 获取或设置分支。
/// </summary>
[Newtonsoft.Json.JsonProperty("branch")]
[System.Text.Json.Serialization.JsonPropertyName("branch")]
public string? Branch { get; set; }
/// <summary>
/// 获取或设置包名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("package_name")]
[System.Text.Json.Serialization.JsonPropertyName("package_name")]
public string? PackageName { get; set; }
/// <summary>
/// 获取或设置包版本。
/// </summary>
[Newtonsoft.Json.JsonProperty("package_version")]
[System.Text.Json.Serialization.JsonPropertyName("package_version")]
public string? PackageVersion { get; set; }
/// <summary>
/// 获取或设置镜像信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("image_info")]
[System.Text.Json.Serialization.JsonPropertyName("image_info")]
public Types.Image? Image { get; set; }
/// <summary>
/// 获取或设置代码信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_detail")]
[System.Text.Json.Serialization.JsonPropertyName("code_detail")]
public Types.Code? Code { get; set; }
/// <summary>
/// 获取或设置是否回放流量。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_rebuild")]
[System.Text.Json.Serialization.JsonPropertyName("is_rebuild")]
public bool? IsRebuild { get; set; }
/// <summary>
/// 获取或设置是否回滚。
/// </summary>
[Newtonsoft.Json.JsonProperty("rollback")]
[System.Text.Json.Serialization.JsonPropertyName("rollback")]
public bool? IsRollback { get; set; }
/// <summary>
/// 获取或设置自定义采集日志路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("custom_logs")]
[System.Text.Json.Serialization.JsonPropertyName("custom_logs")]
public string? CustomLogPath { get; set; }
/// <summary>
/// 获取或设置版本备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("version_remark")]
[System.Text.Json.Serialization.JsonPropertyName("version_remark")]
public string? VersionRemark { get; set; }
/// <summary>
/// 获取或设置版本历史名。
/// </summary>
[Newtonsoft.Json.JsonProperty("snapshot_name")]
[System.Text.Json.Serialization.JsonPropertyName("snapshot_name")]
public string? SnapshotName { get; set; }
/// <summary>
/// 获取或设置延迟健康检查秒数。
/// </summary>
[Newtonsoft.Json.JsonProperty("initial_delay_seconds")]
[System.Text.Json.Serialization.JsonPropertyName("initial_delay_seconds")]
public int? InitialDelaySeconds { get; set; }
/// <summary>
/// 获取或设置 CFS 挂载列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("mount_volume_info")]
[System.Text.Json.Serialization.JsonPropertyName("mount_volume_info")]
public IList<Types.VolumeMount>? VolumeMountList { get; set; }
/// <summary>
/// 获取或设置是否使用统一域名。
/// </summary>
[Newtonsoft.Json.JsonProperty("enable_union")]
[System.Text.Json.Serialization.JsonPropertyName("enable_union")]
public bool? EnableUnion { get; set; }
/// <summary>
/// 获取或设置服务路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("server_path")]
[System.Text.Json.Serialization.JsonPropertyName("server_path")]
public string? ServerPath { get; set; }
/// <summary>
/// 获取或设置是否更新 CLS。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_update_cls")]
[System.Text.Json.Serialization.JsonPropertyName("is_update_cls")]
public bool? RequireUpdateCLS { get; set; }
/// <summary>
/// 获取或设置自动扩缩容策略组列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_detail")]
[System.Text.Json.Serialization.JsonPropertyName("policy_detail")]
public IList<Types.HPAPolicy>? HPAPolicyList { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/rollupdatecloudbaserunserverversion 接口的响应。</para>
/// </summary>
public class ComponentTCBRollUpdateCloudBaseRunServerVersionResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置操作记录 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("run_id")]
[System.Text.Json.Serialization.JsonPropertyName("run_id")]
public string RunId { get; set; } = default!;
/// <summary>
/// 获取或设置创建结果。
/// </summary>
[Newtonsoft.Json.JsonProperty("result")]
[System.Text.Json.Serialization.JsonPropertyName("result")]
public string Result { get; set; } = default!;
}
}

View File

@@ -23,7 +23,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("subnetids")]
[System.Text.Json.Serialization.JsonPropertyName("subnetids")]
public IList<string> SubnetIdList { get; set; } = new List<string>();
public IList<string>? SubnetIdList { get; set; }
/// <summary>
/// 获取或设置创建类型。

View File

@@ -188,7 +188,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("image_pulls_secret")]
[System.Text.Json.Serialization.JsonPropertyName("image_pulls_secret")]
public string? ImagePullsSecret { get; set; }
public string? ImagePullSecret { get; set; }
/// <summary>
/// 获取或设置自定义采集日志路径。
@@ -205,10 +205,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
public bool? IsMountWechatToken { get; set; }
/// <summary>
/// 获取或设置备注。
/// 获取或设置版本备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("version_remark")]
[System.Text.Json.Serialization.JsonPropertyName("version_remark")]
public string? Remark { get; set; }
public string? VersionRemark { get; set; }
}
}

View File

@@ -280,7 +280,7 @@
/// </summary>
[Newtonsoft.Json.JsonProperty("image_pulls_secret")]
[System.Text.Json.Serialization.JsonPropertyName("image_pulls_secret")]
public string? ImagePullsSecret { get; set; }
public string? ImagePullSecret { get; set; }
/// <summary>
/// 获取或设置自定义采集日志路径。
@@ -297,10 +297,10 @@
public bool? IsMountWechatToken { get; set; }
/// <summary>
/// 获取或设置备注。
/// 获取或设置版本备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("version_remark")]
[System.Text.Json.Serialization.JsonPropertyName("version_remark")]
public string? Remark { get; set; }
public string? VersionRemark { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
{
"env_id": "test-6gxk23no5605e14f",
"upload_type": "repository",
"flow_ratio": 0,
"cpu": 0.25,
"mem": 0.5,
"min_num": 0,
"max_num": 1,
"policy_type": "cpu",
"policy_threshold": 60,
"container_port": 80,
"server_name": "test",
"repository_type": "github",
"dockerfile_path": "Dockerfile",
"repository": "test/wx-container-demo",
"branch": "main",
"code_detail": {
"name": {
"name": "wx-container-demo",
"full_name": "test/wx-container-demo"
}
},
"has_dockerfile": 1,
"env_params": "{}"
}

View File

@@ -0,0 +1,7 @@
{
"errcode": 0,
"errmsg": "ok",
"result": "succ",
"version_name": "ss-012",
"run_id": "1mz98HwJmGdACf"
}

View File

@@ -0,0 +1,5 @@
{
"env_id": "test-6gxk23no5605e14f",
"server_name": "test",
"version_name": "test-012"
}

View File

@@ -0,0 +1,6 @@
{
"env_id": "test-6gxk23no5605e14f",
"service_name": "ss1",
"is_public": true,
"remark": "test"
}

View File

@@ -0,0 +1,5 @@
{
"env_id": "test-6gxk23no5605e14f",
"server_name": "ss",
"release_version": "ss-006"
}

View File

@@ -0,0 +1,6 @@
{
"errcode": 0,
"errmsg": "ok",
"result": "success",
"release_order_id": 26182
}

View File

@@ -0,0 +1,24 @@
{
"env_id": "test-6gxk23no5605e14f",
"version_name": "ss-003",
"upload_type": "image",
"flow_ratio": 100,
"dockerfile_path": "Dockerfile",
"cpu": "0.25",
"mem": "0.5",
"min_num": "0",
"max_num": "1",
"policy_type": "cpu",
"policy_threshold": "50",
"env_params": "{}",
"container_port": 80,
"server_name": "ss",
"image_info": {
"repository_name": "tcb-100001320084-hvbz/web-container-6gnyxqnl696f40ce_pressure-python",
"is_public": true,
"tag_name": "pressure-python-006-20211219230528",
"server_addr": "ccr.ccs.tencentyun.com",
"image_url": "ccr.ccs.tencentyun.com/tcb-100001320084-hvbz/web-container-6gnyxqnl696f40ce_pressure-python:pressure-python-006-20211219230528"
},
"custom_logs": "stdout"
}

View File

@@ -0,0 +1,6 @@
{
"errcode": 0,
"errmsg": "ok",
"result": "succ",
"run_id": "1mz9GjJgyY53bh"
}