/*
* 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.Ssm.V20190923.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class CreateSecretRequest : AbstractModel
{
///
/// 凭据名称,同一region内不可重复,最长128字节,使用字母、数字或者 - _ 的组合,第一个字符必须为字母或者数字。
///
[JsonProperty("SecretName")]
public string SecretName{ get; set; }
///
/// 凭据版本,查询凭据信息时需要根据SecretName 和 VersionId进行查询,最长64 字节,使用字母、数字或者 - _ . 的组合并且以字母或数字开头。
///
[JsonProperty("VersionId")]
public string VersionId{ get; set; }
///
/// 描述信息,用于详细描述用途等,最大支持2048字节。
///
[JsonProperty("Description")]
public string Description{ get; set; }
///
/// 指定对凭据进行加密的KMS CMK。如果为空则表示使用Secrets Manager为您默认创建的CMK进行加密。您也可以指定在同region 下自行创建的KMS CMK进行加密。
///
[JsonProperty("KmsKeyId")]
public string KmsKeyId{ get; set; }
///
/// 二进制凭据信息base64编码后的明文。SecretBinary 和 SecretString 必须且只能设置一个,最大支持4096字节。
///
[JsonProperty("SecretBinary")]
public string SecretBinary{ get; set; }
///
/// 文本类型凭据信息明文(不需要进行base64编码)。SecretBinary 和 SecretString 必须且只能设置一个,,最大支持4096字节。
///
[JsonProperty("SecretString")]
public string SecretString{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "SecretName", this.SecretName);
this.SetParamSimple(map, prefix + "VersionId", this.VersionId);
this.SetParamSimple(map, prefix + "Description", this.Description);
this.SetParamSimple(map, prefix + "KmsKeyId", this.KmsKeyId);
this.SetParamSimple(map, prefix + "SecretBinary", this.SecretBinary);
this.SetParamSimple(map, prefix + "SecretString", this.SecretString);
}
}
}