Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
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.awsnative.kotlin
import com.pulumi.awsnative.ProviderArgs.builder
import com.pulumi.awsnative.kotlin.inputs.ProviderAssumeRoleArgs
import com.pulumi.awsnative.kotlin.inputs.ProviderAssumeRoleArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.ProviderDefaultTagsArgs
import com.pulumi.awsnative.kotlin.inputs.ProviderDefaultTagsArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.ProviderEndpointArgs
import com.pulumi.awsnative.kotlin.inputs.ProviderEndpointArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.ProviderIgnoreTagsArgs
import com.pulumi.awsnative.kotlin.inputs.ProviderIgnoreTagsArgsBuilder
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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* The provider type for the AWS native 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 & Credentials’ section of the AWS console.
* @property allowedAccountIds List of allowed AWS account IDs to prevent you from mistakenly using an incorrect one. Conflicts with `forbiddenAccountIds`.
* @property assumeRole Configuration for retrieving temporary credentials from the STS service.
* @property defaultTags Configuration block with resource tag settings to apply across all resources handled by this provider. This is designed to replace redundant per-resource `tags` configurations. Provider tags can be overridden with new values, but not excluded from specific resources. To override provider tag values, use the `tags` argument within a resource to configure new tag values for matching keys.
* @property endpoints Configuration block for customizing service endpoints.
* @property forbiddenAccountIds List of forbidden AWS account IDs to prevent you from mistakenly using the wrong one (and potentially end up destroying a live environment). Conflicts with `allowedAccountIds`.
* @property ignoreTags Configuration block with resource tag settings to ignore across all resources handled by this provider (except any individual service tag resources such as `ec2.Tag`) for situations where external systems are managing certain resource tags.
* @property insecure Explicitly allow the provider to perform "insecure" SSL requests. If omitted,default value is `false`.
* @property maxRetries The maximum number of times an AWS API request is being executed. If the API request still fails, an error is thrown.
* @property profile The profile for API operations. If not set, the default profile created with `aws configure` will be used.
* @property region The region where AWS operations will take place. Examples are `us-east-1`, `us-west-2`, etc.
* @property roleArn The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role for Cloud Control API to use when performing this resource operation. Note, this is a unique feature for server side security enforcement, not to be confused with assumeRole, which is used to obtain temporary client credentials. If you do not specify a role, Cloud Control API uses a temporary session created using your AWS user credentials instead.
* @property s3ForcePathStyle Set this to true to force the request to use path-style addressing, i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client will use virtual hosted bucket addressing when possible (`http://BUCKET.s3.amazonaws.com/KEY`). Specific to the Amazon S3 service.
* @property secretKey The secret key for API operations. You can retrieve this from the 'Security & Credentials' section of the AWS console.
* @property sharedCredentialsFile The path to the shared credentials file. If not set this defaults to `~/.aws/credentials`.
* @property skipCredentialsValidation Skip the credentials validation via STS API. Used for AWS API implementations that do not have STS available/implemented.
* @property skipGetEc2Platforms Skip getting the supported EC2 platforms. Used by users that don't have `ec2:DescribeAccountAttributes` permissions.
* @property skipMetadataApiCheck Skip the AWS Metadata API check. Useful for AWS API implementations that do not have a metadata API endpoint. Setting to true prevents Pulumi from authenticating via the Metadata API. You may need to use other authentication methods like static credentials, configuration variables, or environment variables.
* @property skipRegionValidation Skip static validation of region name. Used by users of alternative AWS-like APIs or users with access to regions that are not public.
* @property skipRequestingAccountId Skip requesting the account ID. Used for AWS API implementations that do not have IAM/STS API and/or metadata API.
* @property token Session token for validating temporary credentials. Typically provided after successful identity federation or Multi-Factor Authentication (MFA) login. With MFA login, this is the session token provided afterward, not the 6 digit MFA code used to get temporary credentials.
*/
public data class ProviderArgs(
public val accessKey: Output? = null,
public val allowedAccountIds: Output>? = null,
public val assumeRole: Output? = null,
public val defaultTags: Output? = null,
public val endpoints: Output>? = null,
public val forbiddenAccountIds: Output>? = null,
public val ignoreTags: Output? = null,
public val insecure: Output? = null,
public val maxRetries: Output? = null,
public val profile: Output? = null,
public val region: Output? = null,
public val roleArn: Output? = null,
public val s3ForcePathStyle: Output? = null,
public val secretKey: Output? = null,
public val sharedCredentialsFile: Output? = null,
public val skipCredentialsValidation: Output? = null,
public val skipGetEc2Platforms: Output? = null,
public val skipMetadataApiCheck: Output? = null,
public val skipRegionValidation: Output? = null,
public val skipRequestingAccountId: Output? = null,
public val token: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.ProviderArgs =
com.pulumi.awsnative.ProviderArgs.builder()
.accessKey(accessKey?.applyValue({ args0 -> args0 }))
.allowedAccountIds(allowedAccountIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.assumeRole(assumeRole?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.defaultTags(defaultTags?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.endpoints(
endpoints?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.forbiddenAccountIds(forbiddenAccountIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.ignoreTags(ignoreTags?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.insecure(insecure?.applyValue({ args0 -> args0 }))
.maxRetries(maxRetries?.applyValue({ args0 -> args0 }))
.profile(profile?.applyValue({ args0 -> args0 }))
.region(region?.applyValue({ args0 -> args0 }))
.roleArn(roleArn?.applyValue({ args0 -> args0 }))
.s3ForcePathStyle(s3ForcePathStyle?.applyValue({ args0 -> args0 }))
.secretKey(secretKey?.applyValue({ args0 -> args0 }))
.sharedCredentialsFile(sharedCredentialsFile?.applyValue({ args0 -> args0 }))
.skipCredentialsValidation(skipCredentialsValidation?.applyValue({ args0 -> args0 }))
.skipGetEc2Platforms(skipGetEc2Platforms?.applyValue({ args0 -> args0 }))
.skipMetadataApiCheck(skipMetadataApiCheck?.applyValue({ args0 -> args0 }))
.skipRegionValidation(skipRegionValidation?.applyValue({ args0 -> args0 }))
.skipRequestingAccountId(skipRequestingAccountId?.applyValue({ args0 -> args0 }))
.token(token?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ProviderArgs].
*/
@PulumiTagMarker
public class ProviderArgsBuilder internal constructor() {
private var accessKey: Output? = null
private var allowedAccountIds: Output>? = null
private var assumeRole: Output? = null
private var defaultTags: Output? = null
private var endpoints: Output>? = null
private var forbiddenAccountIds: Output>? = null
private var ignoreTags: Output? = null
private var insecure: Output? = null
private var maxRetries: Output? = null
private var profile: Output? = null
private var region: Output? = null
private var roleArn: Output? = null
private var s3ForcePathStyle: Output? = null
private var secretKey: Output? = null
private var sharedCredentialsFile: Output? = null
private var skipCredentialsValidation: Output? = null
private var skipGetEc2Platforms: Output? = null
private var skipMetadataApiCheck: Output? = null
private var skipRegionValidation: Output? = null
private var skipRequestingAccountId: Output? = null
private var token: Output? = null
/**
* @param value The access key for API operations. You can retrieve this from the ‘Security & Credentials’ section of the AWS console.
*/
@JvmName("kmnjqnwalsqcstbv")
public suspend fun accessKey(`value`: Output) {
this.accessKey = value
}
/**
* @param value List of allowed AWS account IDs to prevent you from mistakenly using an incorrect one. Conflicts with `forbiddenAccountIds`.
*/
@JvmName("cvnmblpnkacstioh")
public suspend fun allowedAccountIds(`value`: Output>) {
this.allowedAccountIds = value
}
@JvmName("cvhcopqgumekhovu")
public suspend fun allowedAccountIds(vararg values: Output) {
this.allowedAccountIds = Output.all(values.asList())
}
/**
* @param values List of allowed AWS account IDs to prevent you from mistakenly using an incorrect one. Conflicts with `forbiddenAccountIds`.
*/
@JvmName("uiqndskrrmmkowmt")
public suspend fun allowedAccountIds(values: List