UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

131 lines (130 loc) 7.65 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import { Region } from "./index"; /** * The provider type for the AWS Cloud Control 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. */ export declare class Provider extends pulumi.ProviderResource { /** * Returns true if the given object is an instance of Provider. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Provider; /** * The profile for API operations. If not set, the default profile created with `aws configure` will be used. */ readonly profile: pulumi.Output<string | undefined>; /** * The region where AWS operations will take place. Examples are `us-east-1`, `us-west-2`, etc. */ readonly region: pulumi.Output<Region | undefined>; /** * 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. */ readonly roleArn: pulumi.Output<string | undefined>; /** * The path to the shared credentials file. If not set this defaults to `~/.aws/credentials`. */ readonly sharedCredentialsFile: pulumi.Output<string | undefined>; /** * Create a Provider resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ProviderArgs, opts?: pulumi.ResourceOptions); } /** * The set of arguments for constructing a Provider resource. */ export interface ProviderArgs { /** * The access key for API operations. You can retrieve this from the ‘Security & Credentials’ section of the AWS console. */ accessKey?: pulumi.Input<string>; /** * List of allowed AWS account IDs to prevent you from mistakenly using an incorrect one. Conflicts with `forbiddenAccountIds`. */ allowedAccountIds?: pulumi.Input<pulumi.Input<string>[]>; /** * Configuration for retrieving temporary credentials from the STS service. */ assumeRole?: pulumi.Input<inputs.ProviderAssumeRoleArgs>; /** * The configuration for automatically naming resources. */ autoNaming?: pulumi.Input<inputs.ProviderAutoNamingArgs>; /** * 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. */ defaultTags?: pulumi.Input<inputs.ProviderDefaultTagsArgs>; /** * Configuration block for customizing service endpoints. */ endpoints?: pulumi.Input<pulumi.Input<inputs.ProviderEndpointArgs>[]>; /** * 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`. */ forbiddenAccountIds?: pulumi.Input<pulumi.Input<string>[]>; /** * 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. */ ignoreTags?: pulumi.Input<inputs.ProviderIgnoreTagsArgs>; /** * Explicitly allow the provider to perform "insecure" SSL requests. If omitted,default value is `false`. */ insecure?: pulumi.Input<boolean>; /** * The maximum number of times an AWS API request is being executed. If the API request still fails, an error is thrown. */ maxRetries?: pulumi.Input<number>; /** * The profile for API operations. If not set, the default profile created with `aws configure` will be used. */ profile?: pulumi.Input<string>; /** * The region where AWS operations will take place. Examples are `us-east-1`, `us-west-2`, etc. */ region: pulumi.Input<Region>; /** * 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. */ roleArn?: pulumi.Input<string>; /** * 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. */ s3ForcePathStyle?: pulumi.Input<boolean>; /** * The secret key for API operations. You can retrieve this from the 'Security & Credentials' section of the AWS console. */ secretKey?: pulumi.Input<string>; /** * The path to the shared credentials file. If not set this defaults to `~/.aws/credentials`. */ sharedCredentialsFile?: pulumi.Input<string>; /** * Skip the credentials validation via STS API. Used for AWS API implementations that do not have STS available/implemented. */ skipCredentialsValidation?: pulumi.Input<boolean>; /** * Skip getting the supported EC2 platforms. Used by users that don't have `ec2:DescribeAccountAttributes` permissions. */ skipGetEc2Platforms?: pulumi.Input<boolean>; /** * 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. */ skipMetadataApiCheck?: pulumi.Input<boolean>; /** * Skip static validation of region name. Used by users of alternative AWS-like APIs or users with access to regions that are not public. */ skipRegionValidation?: pulumi.Input<boolean>; /** * Skip requesting the account ID. Used for AWS API implementations that do not have IAM/STS API and/or metadata API. */ skipRequestingAccountId?: pulumi.Input<boolean>; /** * 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. */ token?: pulumi.Input<string>; }