/
provider.ts
134 lines (127 loc) · 10.8 KB
/
provider.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as utilities from "./utilities";
import {Region} from "./region";
/**
* The provider type for the aws 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://pulumi.io/reference/programming-model.html#providers) for more information.
*
* > This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/index.html.markdown.
*/
export class Provider extends pulumi.ProviderResource {
/** @internal */
public static readonly __pulumiType = 'aws';
/**
* 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.
*/
public static isInstance(obj: any): obj is Provider {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === Provider.__pulumiType;
}
/**
* 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) {
let inputs: pulumi.Inputs = {};
{
inputs["accessKey"] = args ? args.accessKey : undefined;
inputs["allowedAccountIds"] = pulumi.output(args ? args.allowedAccountIds : undefined).apply(JSON.stringify);
inputs["assumeRole"] = pulumi.output(args ? args.assumeRole : undefined).apply(JSON.stringify);
inputs["endpoints"] = pulumi.output(args ? args.endpoints : undefined).apply(JSON.stringify);
inputs["forbiddenAccountIds"] = pulumi.output(args ? args.forbiddenAccountIds : undefined).apply(JSON.stringify);
inputs["insecure"] = pulumi.output(args ? args.insecure : undefined).apply(JSON.stringify);
inputs["maxRetries"] = pulumi.output(args ? args.maxRetries : undefined).apply(JSON.stringify);
inputs["profile"] = (args ? args.profile : undefined) || utilities.getEnv("AWS_PROFILE");
inputs["region"] = (args ? args.region : undefined) || utilities.getEnv("AWS_REGION", "AWS_DEFAULT_REGION");
inputs["s3ForcePathStyle"] = pulumi.output(args ? args.s3ForcePathStyle : undefined).apply(JSON.stringify);
inputs["secretKey"] = args ? args.secretKey : undefined;
inputs["sharedCredentialsFile"] = args ? args.sharedCredentialsFile : undefined;
inputs["skipCredentialsValidation"] = pulumi.output(args ? args.skipCredentialsValidation : undefined).apply(JSON.stringify);
inputs["skipGetEc2Platforms"] = pulumi.output(args ? args.skipGetEc2Platforms : undefined).apply(JSON.stringify);
inputs["skipMetadataApiCheck"] = pulumi.output(args ? args.skipMetadataApiCheck : undefined).apply(JSON.stringify);
inputs["skipRegionValidation"] = pulumi.output(args ? args.skipRegionValidation : undefined).apply(JSON.stringify);
inputs["skipRequestingAccountId"] = pulumi.output(args ? args.skipRequestingAccountId : undefined).apply(JSON.stringify);
inputs["token"] = args ? args.token : undefined;
}
super(Provider.__pulumiType, name, inputs, opts);
}
}
/**
* 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.
*/
readonly accessKey?: pulumi.Input<string>;
readonly allowedAccountIds?: pulumi.Input<pulumi.Input<string>[]>;
readonly assumeRole?: pulumi.Input<{ externalId?: pulumi.Input<string>, policy?: pulumi.Input<string>, roleArn?: pulumi.Input<string>, sessionName?: pulumi.Input<string> }>;
readonly endpoints?: pulumi.Input<pulumi.Input<{ acm?: pulumi.Input<string>, acmpca?: pulumi.Input<string>, apigateway?: pulumi.Input<string>, applicationautoscaling?: pulumi.Input<string>, applicationinsights?: pulumi.Input<string>, appmesh?: pulumi.Input<string>, appsync?: pulumi.Input<string>, athena?: pulumi.Input<string>, autoscaling?: pulumi.Input<string>, autoscalingplans?: pulumi.Input<string>, backup?: pulumi.Input<string>, batch?: pulumi.Input<string>, budgets?: pulumi.Input<string>, cloud9?: pulumi.Input<string>, cloudformation?: pulumi.Input<string>, cloudfront?: pulumi.Input<string>, cloudhsm?: pulumi.Input<string>, cloudsearch?: pulumi.Input<string>, cloudtrail?: pulumi.Input<string>, cloudwatch?: pulumi.Input<string>, cloudwatchevents?: pulumi.Input<string>, cloudwatchlogs?: pulumi.Input<string>, codebuild?: pulumi.Input<string>, codecommit?: pulumi.Input<string>, codedeploy?: pulumi.Input<string>, codepipeline?: pulumi.Input<string>, cognitoidentity?: pulumi.Input<string>, cognitoidp?: pulumi.Input<string>, configservice?: pulumi.Input<string>, cur?: pulumi.Input<string>, datapipeline?: pulumi.Input<string>, datasync?: pulumi.Input<string>, dax?: pulumi.Input<string>, devicefarm?: pulumi.Input<string>, directconnect?: pulumi.Input<string>, dlm?: pulumi.Input<string>, dms?: pulumi.Input<string>, docdb?: pulumi.Input<string>, ds?: pulumi.Input<string>, dynamodb?: pulumi.Input<string>, ec2?: pulumi.Input<string>, ecr?: pulumi.Input<string>, ecs?: pulumi.Input<string>, efs?: pulumi.Input<string>, eks?: pulumi.Input<string>, elasticache?: pulumi.Input<string>, elasticbeanstalk?: pulumi.Input<string>, elastictranscoder?: pulumi.Input<string>, elb?: pulumi.Input<string>, emr?: pulumi.Input<string>, es?: pulumi.Input<string>, firehose?: pulumi.Input<string>, fms?: pulumi.Input<string>, fsx?: pulumi.Input<string>, gamelift?: pulumi.Input<string>, glacier?: pulumi.Input<string>, globalaccelerator?: pulumi.Input<string>, glue?: pulumi.Input<string>, guardduty?: pulumi.Input<string>, iam?: pulumi.Input<string>, inspector?: pulumi.Input<string>, iot?: pulumi.Input<string>, kafka?: pulumi.Input<string>, kinesis?: pulumi.Input<string>, kinesisAnalytics?: pulumi.Input<string>, kinesisanalytics?: pulumi.Input<string>, kinesisvideo?: pulumi.Input<string>, kms?: pulumi.Input<string>, lambda?: pulumi.Input<string>, lexmodels?: pulumi.Input<string>, licensemanager?: pulumi.Input<string>, lightsail?: pulumi.Input<string>, macie?: pulumi.Input<string>, managedblockchain?: pulumi.Input<string>, mediaconnect?: pulumi.Input<string>, mediaconvert?: pulumi.Input<string>, medialive?: pulumi.Input<string>, mediapackage?: pulumi.Input<string>, mediastore?: pulumi.Input<string>, mediastoredata?: pulumi.Input<string>, mq?: pulumi.Input<string>, neptune?: pulumi.Input<string>, opsworks?: pulumi.Input<string>, organizations?: pulumi.Input<string>, pinpoint?: pulumi.Input<string>, pricing?: pulumi.Input<string>, quicksight?: pulumi.Input<string>, r53?: pulumi.Input<string>, ram?: pulumi.Input<string>, rds?: pulumi.Input<string>, redshift?: pulumi.Input<string>, resourcegroups?: pulumi.Input<string>, route53?: pulumi.Input<string>, route53resolver?: pulumi.Input<string>, s3?: pulumi.Input<string>, s3control?: pulumi.Input<string>, sagemaker?: pulumi.Input<string>, sdb?: pulumi.Input<string>, secretsmanager?: pulumi.Input<string>, securityhub?: pulumi.Input<string>, serverlessrepo?: pulumi.Input<string>, servicecatalog?: pulumi.Input<string>, servicediscovery?: pulumi.Input<string>, servicequotas?: pulumi.Input<string>, ses?: pulumi.Input<string>, shield?: pulumi.Input<string>, sns?: pulumi.Input<string>, sqs?: pulumi.Input<string>, ssm?: pulumi.Input<string>, stepfunctions?: pulumi.Input<string>, storagegateway?: pulumi.Input<string>, sts?: pulumi.Input<string>, swf?: pulumi.Input<string>, transfer?: pulumi.Input<string>, waf?: pulumi.Input<string>, wafregional?: pulumi.Input<string>, worklink?: pulumi.Input<string>, workspaces?: pulumi.Input<string>, xray?: pulumi.Input<string> }>[]>;
readonly forbiddenAccountIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Explicitly allow the provider to perform "insecure" SSL requests. If omitted,default value is `false`
*/
readonly 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.
*/
readonly maxRetries?: pulumi.Input<number>;
/**
* The profile for API operations. If not set, the default profile created with `aws configure` will be used.
*/
readonly profile?: pulumi.Input<string>;
/**
* The region where AWS operations will take place. Examples are us-east-1, us-west-2, etc.
*/
readonly region?: pulumi.Input<Region>;
/**
* 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.
*/
readonly s3ForcePathStyle?: pulumi.Input<boolean>;
/**
* The secret key for API operations. You can retrieve this from the 'Security & Credentials' section of the AWS
* console.
*/
readonly secretKey?: pulumi.Input<string>;
/**
* The path to the shared credentials file. If not set this defaults to ~/.aws/credentials.
*/
readonly sharedCredentialsFile?: pulumi.Input<string>;
/**
* Skip the credentials validation via STS API. Used for AWS API implementations that do not have STS
* available/implemented.
*/
readonly skipCredentialsValidation?: pulumi.Input<boolean>;
/**
* Skip getting the supported EC2 platforms. Used by users that don't have ec2:DescribeAccountAttributes permissions.
*/
readonly skipGetEc2Platforms?: pulumi.Input<boolean>;
readonly skipMetadataApiCheck?: pulumi.Input<boolean>;
/**
* Skip static validation of region name. Used by users of alternative AWS-like APIs or users w/ access to regions that
* are not public (yet).
*/
readonly 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.
*/
readonly skipRequestingAccountId?: pulumi.Input<boolean>;
/**
* session token. A session token is only required if you are using temporary security credentials.
*/
readonly token?: pulumi.Input<string>;
}