aliyun-net-credentials/Models/Config.cs (51 lines of code) (raw):
using Tea;
namespace Aliyun.Credentials.Models
{
public class Config : TeaModel
{
/// <summary>
/// Credential type
/// </summary>
/// <example>
/// access_key, sts, bearer, ecs_ram_role, ram_role_arn, rsa_key_pair, oidc_role_arn, credentials_uri
/// </example>
[NameInMap("type")]
public string Type { get; set; }
[NameInMap("access_key_id")]
public string AccessKeyId { get; set; }
[NameInMap("access_key_secret")]
public string AccessKeySecret { get; set; }
/// <summary>
/// The ARN of the RAM role to be assumed.
/// </summary>
/// <example>
/// acs:ram::123456789012****:role/adminrole.
/// </example>
[NameInMap("role_arn")]
public string RoleArn { get; set; }
/// <summary>
/// The name of the role session.
/// </summary>
[NameInMap("role_session_name")]
public string RoleSessionName { get; set; }
[NameInMap("public_key_id")]
public string PublicKeyId { get; set; }
/// <summary>
/// The name of the RAM role of the ECS instance.
/// </summary>
[NameInMap("role_name")]
public string RoleName { get; set; }
/// <summary>
/// Whether fallback to IMDS v1 is disabled. Default: false.
/// </summary>
/// <remarks>
/// <list type="bullet">
/// <item><description>false: Try to obtain credentials in security hardening mode first. If failed, switch to normal mode and try again (IMDSv1)</description></item>
/// <item><description>true: Force to obtain credentials in security hardening mode</description></item>
/// </list>
/// </remarks>
[NameInMap("disableIMDSv1")]
public bool? DisableIMDSv1 { get; set; }
[NameInMap("private_key_file")]
public string PrivateKeyFile { get; set; }
[NameInMap("bearer_token")]
public string BearerToken { get; set; }
[NameInMap("security_token")]
public string SecurityToken { get; set; }
[NameInMap("host")]
public string Host { get; set; }
/// <summary>
/// Read timeout for network requests. Default 1s for EcsRamRoleCredentialsProvider and 10s for other providers.
/// </summary>
[NameInMap("timeout")]
public int Timeout { get; set; }
/// <summary>
/// Connect timeout for network requests. Default 1s for EcsRamRoleCredentialsProvider and 5s for other providers.
/// </summary>
[NameInMap("connect_timeout")]
public int ConnectTimeout { get; set; }
[NameInMap("proxy")]
public string Proxy { get; set; }
/// <summary>
/// Limited permissions for the RAM role.
/// </summary>
/// <example>
/// {"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}
/// </example>
[NameInMap("policy")]
public string Policy { get; set; }
/// <summary>
/// The validity period of the role session. Unit of Second. Default 3600s.
/// </summary>
[NameInMap("roleSessionExpiration")]
public int RoleSessionExpiration { get; set; }
/// <summary>
/// The ARN of the OIDC IdP.
/// </summary>
[NameInMap("oidcProviderArn")]
public string OIDCProviderArn { get; set; }
/// <summary>
/// The path of the OIDC token file.
/// </summary>
[NameInMap("oidcTokenFilePath")]
public string OIDCTokenFilePath { get; set; }
/// <summary>
/// The URI of the credential in the http://local_or_remote_uri/ format.
/// </summary>
[NameInMap("credentialsURI")]
public string CredentialsURI { get; set; }
/// <summary>
/// Endpoint of STS. Default sts.aliyuncs.com.
/// </summary>
/// <example>
/// sts.cn-hangzhou.aliyuncs.com, sts-vpc.cn-hangzhou.aliyuncs.com
/// </example>
[NameInMap("stsEndpoint")]
public string STSEndpoint { get; set; }
/// <summary>
/// The external ID of the RAM role.
/// This parameter is provided by an external party and is used to prevent the confused deputy problem.
/// </summary>
[NameInMap("externalId")]
public string ExternalId { get; set; }
}
}