com.pulumi.alicloud.kotlin.ProviderArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-alicloud-kotlin Show documentation
Show all versions of pulumi-alicloud-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.alicloud.kotlin
import com.pulumi.alicloud.ProviderArgs.builder
import com.pulumi.alicloud.kotlin.inputs.ProviderAssumeRoleArgs
import com.pulumi.alicloud.kotlin.inputs.ProviderAssumeRoleArgsBuilder
import com.pulumi.alicloud.kotlin.inputs.ProviderAssumeRoleWithOidcArgs
import com.pulumi.alicloud.kotlin.inputs.ProviderAssumeRoleWithOidcArgsBuilder
import com.pulumi.alicloud.kotlin.inputs.ProviderEndpointArgs
import com.pulumi.alicloud.kotlin.inputs.ProviderEndpointArgsBuilder
import com.pulumi.alicloud.kotlin.inputs.ProviderSignVersionArgs
import com.pulumi.alicloud.kotlin.inputs.ProviderSignVersionArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Deprecated
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* The provider type for the alicloud package. By default, resources use package-wide configuration
* settings, however an explicit `Provider` instance may be created and passed during resource
* construction to achieve fine-grained programmatic control over provider settings. See the
* [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
* @property accessKey The access key for API operations. You can retrieve this from the 'Security Management' section of the Alibaba Cloud
* console.
* @property accountId The account ID for some service API operations. You can retrieve this from the 'Security Settings' section of the
* Alibaba Cloud console.
* @property assumeRole
* @property assumeRoleWithOidc
* @property clientConnectTimeout The maximum timeout of the client connection server.
* @property clientReadTimeout The maximum timeout of the client read request.
* @property configurationSource
* @property credentialsUri The URI of sidecar credentials service.
* @property ecsRoleName The RAM Role Name attached on a ECS instance for API operations. You can retrieve this from the 'Access Control' section
* of the Alibaba Cloud console.
* @property endpoints
* @property fc
* @property logEndpoint
* @property maxRetryTimeout The maximum retry timeout of the request.
* @property mnsEndpoint
* @property otsInstanceName
* @property profile The profile for API operations. If not set, the default profile created with `aliyun configure` will be used.
* @property protocol
* @property region The region where Alibaba Cloud operations will take place. Examples are cn-beijing, cn-hangzhou, eu-central-1, etc.
* @property secretKey The secret key for API operations. You can retrieve this from the 'Security Management' section of the Alibaba Cloud
* console.
* @property secureTransport The security transport for the assume role invoking.
* @property securityToken security token. A security token is only required if you are using Security Token Service.
* @property securityTransport
* @property sharedCredentialsFile The path to the shared credentials file. If not set this defaults to ~/.aliyun/config.json
* @property signVersion
* @property skipRegionValidation Skip static validation of region ID. Used by users of alternative AlibabaCloud-like APIs or users w/ access to regions
* that are not public (yet).
* @property sourceIp The source ip for the assume role invoking.
*/
public data class ProviderArgs(
public val accessKey: Output? = null,
public val accountId: Output? = null,
public val assumeRole: Output? = null,
public val assumeRoleWithOidc: Output? = null,
public val clientConnectTimeout: Output? = null,
public val clientReadTimeout: Output? = null,
public val configurationSource: Output? = null,
public val credentialsUri: Output? = null,
public val ecsRoleName: Output? = null,
public val endpoints: Output>? = null,
@Deprecated(
message = """
Field 'fc' has been deprecated from provider version 1.28.0. New field 'fc' which in nested
endpoints instead.
""",
)
public val fc: Output? = null,
@Deprecated(
message = """
Field 'log_endpoint' has been deprecated from provider version 1.28.0. New field 'log' which in
nested endpoints instead.
""",
)
public val logEndpoint: Output? = null,
public val maxRetryTimeout: Output? = null,
@Deprecated(
message = """
Field 'mns_endpoint' has been deprecated from provider version 1.28.0. New field 'mns' which in
nested endpoints instead.
""",
)
public val mnsEndpoint: Output? = null,
@Deprecated(
message = """
Field 'ots_instance_name' has been deprecated from provider version 1.10.0. New field
'instance_name' of resource 'alicloud_ots_table' instead.
""",
)
public val otsInstanceName: Output? = null,
public val profile: Output? = null,
public val protocol: Output? = null,
public val region: Output? = null,
public val secretKey: Output? = null,
public val secureTransport: Output? = null,
public val securityToken: Output? = null,
public val securityTransport: Output? = null,
public val sharedCredentialsFile: Output? = null,
public val signVersion: Output? = null,
public val skipRegionValidation: Output? = null,
public val sourceIp: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.alicloud.ProviderArgs =
com.pulumi.alicloud.ProviderArgs.builder()
.accessKey(accessKey?.applyValue({ args0 -> args0 }))
.accountId(accountId?.applyValue({ args0 -> args0 }))
.assumeRole(assumeRole?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.assumeRoleWithOidc(
assumeRoleWithOidc?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.clientConnectTimeout(clientConnectTimeout?.applyValue({ args0 -> args0 }))
.clientReadTimeout(clientReadTimeout?.applyValue({ args0 -> args0 }))
.configurationSource(configurationSource?.applyValue({ args0 -> args0 }))
.credentialsUri(credentialsUri?.applyValue({ args0 -> args0 }))
.ecsRoleName(ecsRoleName?.applyValue({ args0 -> args0 }))
.endpoints(
endpoints?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.fc(fc?.applyValue({ args0 -> args0 }))
.logEndpoint(logEndpoint?.applyValue({ args0 -> args0 }))
.maxRetryTimeout(maxRetryTimeout?.applyValue({ args0 -> args0 }))
.mnsEndpoint(mnsEndpoint?.applyValue({ args0 -> args0 }))
.otsInstanceName(otsInstanceName?.applyValue({ args0 -> args0 }))
.profile(profile?.applyValue({ args0 -> args0 }))
.protocol(protocol?.applyValue({ args0 -> args0 }))
.region(region?.applyValue({ args0 -> args0 }))
.secretKey(secretKey?.applyValue({ args0 -> args0 }))
.secureTransport(secureTransport?.applyValue({ args0 -> args0 }))
.securityToken(securityToken?.applyValue({ args0 -> args0 }))
.securityTransport(securityTransport?.applyValue({ args0 -> args0 }))
.sharedCredentialsFile(sharedCredentialsFile?.applyValue({ args0 -> args0 }))
.signVersion(signVersion?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.skipRegionValidation(skipRegionValidation?.applyValue({ args0 -> args0 }))
.sourceIp(sourceIp?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ProviderArgs].
*/
@PulumiTagMarker
public class ProviderArgsBuilder internal constructor() {
private var accessKey: Output? = null
private var accountId: Output? = null
private var assumeRole: Output? = null
private var assumeRoleWithOidc: Output? = null
private var clientConnectTimeout: Output? = null
private var clientReadTimeout: Output? = null
private var configurationSource: Output? = null
private var credentialsUri: Output? = null
private var ecsRoleName: Output? = null
private var endpoints: Output>? = null
private var fc: Output? = null
private var logEndpoint: Output? = null
private var maxRetryTimeout: Output? = null
private var mnsEndpoint: Output? = null
private var otsInstanceName: Output? = null
private var profile: Output? = null
private var protocol: Output? = null
private var region: Output? = null
private var secretKey: Output? = null
private var secureTransport: Output? = null
private var securityToken: Output? = null
private var securityTransport: Output? = null
private var sharedCredentialsFile: Output? = null
private var signVersion: Output? = null
private var skipRegionValidation: Output? = null
private var sourceIp: Output? = null
/**
* @param value The access key for API operations. You can retrieve this from the 'Security Management' section of the Alibaba Cloud
* console.
*/
@JvmName("jvdurotcmwmsqcjh")
public suspend fun accessKey(`value`: Output) {
this.accessKey = value
}
/**
* @param value The account ID for some service API operations. You can retrieve this from the 'Security Settings' section of the
* Alibaba Cloud console.
*/
@JvmName("uylcgpjysmnveolu")
public suspend fun accountId(`value`: Output) {
this.accountId = value
}
/**
* @param value
*/
@JvmName("pjirtdfqntrbyjyf")
public suspend fun assumeRole(`value`: Output) {
this.assumeRole = value
}
/**
* @param value
*/
@JvmName("sbrfvbaqfdliviyt")
public suspend fun assumeRoleWithOidc(`value`: Output) {
this.assumeRoleWithOidc = value
}
/**
* @param value The maximum timeout of the client connection server.
*/
@JvmName("nsehfogniavrlchs")
public suspend fun clientConnectTimeout(`value`: Output) {
this.clientConnectTimeout = value
}
/**
* @param value The maximum timeout of the client read request.
*/
@JvmName("vybajdsmrhlclpfd")
public suspend fun clientReadTimeout(`value`: Output) {
this.clientReadTimeout = value
}
/**
* @param value
*/
@JvmName("ikthcjymhcxqyaks")
public suspend fun configurationSource(`value`: Output) {
this.configurationSource = value
}
/**
* @param value The URI of sidecar credentials service.
*/
@JvmName("lpbxicaxadtiihkk")
public suspend fun credentialsUri(`value`: Output) {
this.credentialsUri = value
}
/**
* @param value The RAM Role Name attached on a ECS instance for API operations. You can retrieve this from the 'Access Control' section
* of the Alibaba Cloud console.
*/
@JvmName("dpcrfcviovrdrsfj")
public suspend fun ecsRoleName(`value`: Output) {
this.ecsRoleName = value
}
/**
* @param value
*/
@JvmName("bwtgeolcwbbundpy")
public suspend fun endpoints(`value`: Output>) {
this.endpoints = value
}
@JvmName("fwwxnwqugyodpxkx")
public suspend fun endpoints(vararg values: Output) {
this.endpoints = Output.all(values.asList())
}
/**
* @param values
*/
@JvmName("xckvgdvwixwvbqcf")
public suspend fun endpoints(values: List