@pulumi/digitalocean 4.7.0-alpha.1633346817
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +68 -0
- package/app.d.ts +203 -0
- package/app.js +174 -0
- package/app.js.map +1 -0
- package/cdn.d.ts +169 -0
- package/cdn.js +116 -0
- package/cdn.js.map +1 -0
- package/certificate.d.ts +225 -0
- package/certificate.js +137 -0
- package/certificate.js.map +1 -0
- package/config/index.d.ts +1 -0
- package/config/index.js +10 -0
- package/config/index.js.map +1 -0
- package/config/vars.d.ts +20 -0
- package/config/vars.js +28 -0
- package/config/vars.js.map +1 -0
- package/containerRegistry.d.ts +88 -0
- package/containerRegistry.js +83 -0
- package/containerRegistry.js.map +1 -0
- package/containerRegistryDockerCredentials.d.ts +108 -0
- package/containerRegistryDockerCredentials.js +93 -0
- package/containerRegistryDockerCredentials.js.map +1 -0
- package/customImage.d.ts +155 -0
- package/customImage.js +113 -0
- package/customImage.js.map +1 -0
- package/databaseCluster.d.ts +306 -0
- package/databaseCluster.js +165 -0
- package/databaseCluster.js.map +1 -0
- package/databaseConnectionPool.d.ts +189 -0
- package/databaseConnectionPool.js +120 -0
- package/databaseConnectionPool.js.map +1 -0
- package/databaseDb.d.ts +87 -0
- package/databaseDb.js +82 -0
- package/databaseDb.js.map +1 -0
- package/databaseFirewall.d.ts +129 -0
- package/databaseFirewall.js +126 -0
- package/databaseFirewall.js.map +1 -0
- package/databaseReplica.d.ts +204 -0
- package/databaseReplica.js +110 -0
- package/databaseReplica.js.map +1 -0
- package/databaseUser.d.ts +117 -0
- package/databaseUser.js +90 -0
- package/databaseUser.js.map +1 -0
- package/dnsRecord.d.ts +200 -0
- package/dnsRecord.js +114 -0
- package/dnsRecord.js.map +1 -0
- package/domain.d.ts +103 -0
- package/domain.js +83 -0
- package/domain.js.map +1 -0
- package/droplet.d.ts +386 -0
- package/droplet.js +137 -0
- package/droplet.js.map +1 -0
- package/dropletSnapshot.d.ts +117 -0
- package/dropletSnapshot.js +88 -0
- package/dropletSnapshot.js.map +1 -0
- package/firewall.d.ts +226 -0
- package/firewall.js +150 -0
- package/firewall.js.map +1 -0
- package/floatingIp.d.ts +112 -0
- package/floatingIp.js +91 -0
- package/floatingIp.js.map +1 -0
- package/floatingIpAssignment.d.ts +85 -0
- package/floatingIpAssignment.js +83 -0
- package/floatingIpAssignment.js.map +1 -0
- package/getAccount.d.ts +32 -0
- package/getAccount.js +31 -0
- package/getAccount.js.map +1 -0
- package/getApp.d.ts +63 -0
- package/getApp.js +36 -0
- package/getApp.js.map +1 -0
- package/getCertificate.d.ts +48 -0
- package/getCertificate.js +40 -0
- package/getCertificate.js.map +1 -0
- package/getContainerRegistry.d.ts +54 -0
- package/getContainerRegistry.js +41 -0
- package/getContainerRegistry.js.map +1 -0
- package/getDatabaseCluster.d.ts +103 -0
- package/getDatabaseCluster.js +35 -0
- package/getDatabaseCluster.js.map +1 -0
- package/getDatabaseReplica.d.ts +87 -0
- package/getDatabaseReplica.js +40 -0
- package/getDatabaseReplica.js.map +1 -0
- package/getDomain.d.ts +37 -0
- package/getDomain.js +28 -0
- package/getDomain.js.map +1 -0
- package/getDomains.d.ts +61 -0
- package/getDomains.js +49 -0
- package/getDomains.js.map +1 -0
- package/getDroplet.d.ts +161 -0
- package/getDroplet.js +67 -0
- package/getDroplet.js.map +1 -0
- package/getDropletSnapshot.d.ts +76 -0
- package/getDropletSnapshot.js +43 -0
- package/getDropletSnapshot.js.map +1 -0
- package/getDroplets.d.ts +85 -0
- package/getDroplets.js +73 -0
- package/getDroplets.js.map +1 -0
- package/getFirewall.d.ts +83 -0
- package/getFirewall.js +40 -0
- package/getFirewall.js.map +1 -0
- package/getFloatingIp.d.ts +48 -0
- package/getFloatingIp.js +43 -0
- package/getFloatingIp.js.map +1 -0
- package/getImage.d.ts +110 -0
- package/getImage.js +71 -0
- package/getImage.js.map +1 -0
- package/getImages.d.ts +90 -0
- package/getImages.js +74 -0
- package/getImages.js.map +1 -0
- package/getKubernetesCluster.d.ts +95 -0
- package/getKubernetesCluster.js +23 -0
- package/getKubernetesCluster.js.map +1 -0
- package/getKubernetesVersions.d.ts +79 -0
- package/getKubernetesVersions.js +70 -0
- package/getKubernetesVersions.js.map +1 -0
- package/getLoadBalancer.d.ts +59 -0
- package/getLoadBalancer.js +41 -0
- package/getLoadBalancer.js.map +1 -0
- package/getProject.d.ts +72 -0
- package/getProject.js +37 -0
- package/getProject.js.map +1 -0
- package/getProjects.d.ts +85 -0
- package/getProjects.js +72 -0
- package/getProjects.js.map +1 -0
- package/getRecord.d.ts +42 -0
- package/getRecord.js +28 -0
- package/getRecord.js.map +1 -0
- package/getRecords.d.ts +39 -0
- package/getRecords.js +25 -0
- package/getRecords.js.map +1 -0
- package/getRegion.d.ts +56 -0
- package/getRegion.js +35 -0
- package/getRegion.js.map +1 -0
- package/getRegions.d.ts +82 -0
- package/getRegions.js +70 -0
- package/getRegions.js.map +1 -0
- package/getSizes.d.ts +35 -0
- package/getSizes.js +26 -0
- package/getSizes.js.map +1 -0
- package/getSpacesBucket.d.ts +59 -0
- package/getSpacesBucket.js +39 -0
- package/getSpacesBucket.js.map +1 -0
- package/getSpacesBucketObject.d.ts +125 -0
- package/getSpacesBucketObject.js +53 -0
- package/getSpacesBucketObject.js.map +1 -0
- package/getSpacesBucketObjects.d.ts +83 -0
- package/getSpacesBucketObjects.js +49 -0
- package/getSpacesBucketObjects.js.map +1 -0
- package/getSpacesBuckets.d.ts +75 -0
- package/getSpacesBuckets.js +63 -0
- package/getSpacesBuckets.js.map +1 -0
- package/getSshKey.d.ts +47 -0
- package/getSshKey.js +46 -0
- package/getSshKey.js.map +1 -0
- package/getSshKeys.d.ts +58 -0
- package/getSshKeys.js +46 -0
- package/getSshKeys.js.map +1 -0
- package/getTag.d.ts +71 -0
- package/getTag.js +45 -0
- package/getTag.js.map +1 -0
- package/getTags.d.ts +50 -0
- package/getTags.js +41 -0
- package/getTags.js.map +1 -0
- package/getVolume.d.ts +98 -0
- package/getVolume.js +64 -0
- package/getVolume.js.map +1 -0
- package/getVolumeSnapshot.d.ts +98 -0
- package/getVolumeSnapshot.js +61 -0
- package/getVolumeSnapshot.js.map +1 -0
- package/getVpc.d.ts +95 -0
- package/getVpc.js +61 -0
- package/getVpc.js.map +1 -0
- package/index.d.ts +74 -0
- package/index.js +240 -0
- package/index.js.map +1 -0
- package/kubernetesCluster.d.ts +220 -0
- package/kubernetesCluster.js +102 -0
- package/kubernetesCluster.js.map +1 -0
- package/kubernetesNodePool.d.ts +242 -0
- package/kubernetesNodePool.js +141 -0
- package/kubernetesNodePool.js.map +1 -0
- package/loadBalancer.d.ts +307 -0
- package/loadBalancer.js +161 -0
- package/loadBalancer.js.map +1 -0
- package/monitorAlert.d.ts +193 -0
- package/monitorAlert.js +99 -0
- package/monitorAlert.js.map +1 -0
- package/package.json +28 -0
- package/package.json.bak +27 -0
- package/package.json.dev +27 -0
- package/project.d.ts +191 -0
- package/project.js +129 -0
- package/project.js.map +1 -0
- package/projectResources.d.ts +100 -0
- package/projectResources.js +98 -0
- package/projectResources.js.map +1 -0
- package/provider.d.ts +67 -0
- package/provider.js +51 -0
- package/provider.js.map +1 -0
- package/scripts/install-pulumi-plugin.js +21 -0
- package/spacesBucket.d.ts +210 -0
- package/spacesBucket.js +139 -0
- package/spacesBucket.js.map +1 -0
- package/spacesBucketObject.d.ts +293 -0
- package/spacesBucketObject.js +139 -0
- package/spacesBucketObject.js.map +1 -0
- package/sshKey.d.ts +103 -0
- package/sshKey.js +89 -0
- package/sshKey.js.map +1 -0
- package/tag.d.ts +127 -0
- package/tag.js +93 -0
- package/tag.js.map +1 -0
- package/types/enums/index.d.ts +151 -0
- package/types/enums/index.js +148 -0
- package/types/enums/index.js.map +1 -0
- package/types/index.d.ts +4 -0
- package/types/index.js +12 -0
- package/types/index.js.map +1 -0
- package/types/input.d.ts +1584 -0
- package/types/input.js +5 -0
- package/types/input.js.map +1 -0
- package/types/output.d.ts +2730 -0
- package/types/output.js +5 -0
- package/types/output.js.map +1 -0
- package/utilities.d.ts +4 -0
- package/utilities.js +51 -0
- package/utilities.js.map +1 -0
- package/volume.d.ts +225 -0
- package/volume.js +128 -0
- package/volume.js.map +1 -0
- package/volumeAttachment.d.ts +88 -0
- package/volumeAttachment.js +86 -0
- package/volumeAttachment.js.map +1 -0
- package/volumeSnapshot.d.ts +129 -0
- package/volumeSnapshot.js +90 -0
- package/volumeSnapshot.js.map +1 -0
- package/vpc.d.ts +152 -0
- package/vpc.js +109 -0
- package/vpc.js.map +1 -0
package/cdn.d.ts
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* Provides a DigitalOcean CDN Endpoint resource for use with Spaces.
|
|
4
|
+
*
|
|
5
|
+
* ## Example Usage
|
|
6
|
+
* ### Basic Example
|
|
7
|
+
*
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
10
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
11
|
+
*
|
|
12
|
+
* // Create a new Spaces Bucket
|
|
13
|
+
* const mybucket = new digitalocean.SpacesBucket("mybucket", {
|
|
14
|
+
* region: "sfo2",
|
|
15
|
+
* acl: "public-read",
|
|
16
|
+
* });
|
|
17
|
+
* // Add a CDN endpoint to the Spaces Bucket
|
|
18
|
+
* const mycdn = new digitalocean.Cdn("mycdn", {origin: mybucket.bucketDomainName});
|
|
19
|
+
* export const fqdn = mycdn.endpoint;
|
|
20
|
+
* ```
|
|
21
|
+
* ### Custom Sub-Domain Example
|
|
22
|
+
*
|
|
23
|
+
* ```typescript
|
|
24
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
25
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
26
|
+
*
|
|
27
|
+
* // Create a new Spaces Bucket
|
|
28
|
+
* const mybucket = new digitalocean.SpacesBucket("mybucket", {
|
|
29
|
+
* region: "sfo2",
|
|
30
|
+
* acl: "public-read",
|
|
31
|
+
* });
|
|
32
|
+
* // Create a DigitalOcean managed Let's Encrypt Certificate
|
|
33
|
+
* const cert = new digitalocean.Certificate("cert", {
|
|
34
|
+
* type: "lets_encrypt",
|
|
35
|
+
* domains: ["static.example.com"],
|
|
36
|
+
* });
|
|
37
|
+
* // Add a CDN endpoint with a custom sub-domain to the Spaces Bucket
|
|
38
|
+
* const mycdn = new digitalocean.Cdn("mycdn", {
|
|
39
|
+
* origin: mybucket.bucketDomainName,
|
|
40
|
+
* customDomain: "static.example.com",
|
|
41
|
+
* certificateName: cert.name,
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* ## Import
|
|
46
|
+
*
|
|
47
|
+
* CDN Endpoints can be imported using the CDN `id`, e.g.
|
|
48
|
+
*
|
|
49
|
+
* ```sh
|
|
50
|
+
* $ pulumi import digitalocean:index/cdn:Cdn mycdn fb06ad00-351f-45c8-b5eb-13523c438661
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare class Cdn extends pulumi.CustomResource {
|
|
54
|
+
/**
|
|
55
|
+
* Get an existing Cdn resource's state with the given name, ID, and optional extra
|
|
56
|
+
* properties used to qualify the lookup.
|
|
57
|
+
*
|
|
58
|
+
* @param name The _unique_ name of the resulting resource.
|
|
59
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
60
|
+
* @param state Any extra arguments used during the lookup.
|
|
61
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
62
|
+
*/
|
|
63
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CdnState, opts?: pulumi.CustomResourceOptions): Cdn;
|
|
64
|
+
/**
|
|
65
|
+
* Returns true if the given object is an instance of Cdn. This is designed to work even
|
|
66
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
67
|
+
*/
|
|
68
|
+
static isInstance(obj: any): obj is Cdn;
|
|
69
|
+
/**
|
|
70
|
+
* **Deprecated** The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.
|
|
71
|
+
*
|
|
72
|
+
* @deprecated Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead.
|
|
73
|
+
*/
|
|
74
|
+
readonly certificateId: pulumi.Output<string>;
|
|
75
|
+
/**
|
|
76
|
+
* The unique name of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.
|
|
77
|
+
*/
|
|
78
|
+
readonly certificateName: pulumi.Output<string>;
|
|
79
|
+
/**
|
|
80
|
+
* The date and time when the CDN Endpoint was created.
|
|
81
|
+
*/
|
|
82
|
+
readonly createdAt: pulumi.Output<string>;
|
|
83
|
+
/**
|
|
84
|
+
* The fully qualified domain name (FQDN) of the custom subdomain used with the CDN Endpoint.
|
|
85
|
+
*/
|
|
86
|
+
readonly customDomain: pulumi.Output<string | undefined>;
|
|
87
|
+
/**
|
|
88
|
+
* The fully qualified domain name (FQDN) from which the CDN-backed content is served.
|
|
89
|
+
*/
|
|
90
|
+
readonly endpoint: pulumi.Output<string>;
|
|
91
|
+
/**
|
|
92
|
+
* The fully qualified domain name, (FQDN) for a Space.
|
|
93
|
+
*/
|
|
94
|
+
readonly origin: pulumi.Output<string>;
|
|
95
|
+
/**
|
|
96
|
+
* The time to live for the CDN Endpoint, in seconds. Default is 3600 seconds.
|
|
97
|
+
*/
|
|
98
|
+
readonly ttl: pulumi.Output<number>;
|
|
99
|
+
/**
|
|
100
|
+
* Create a Cdn resource with the given unique name, arguments, and options.
|
|
101
|
+
*
|
|
102
|
+
* @param name The _unique_ name of the resource.
|
|
103
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
104
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
105
|
+
*/
|
|
106
|
+
constructor(name: string, args: CdnArgs, opts?: pulumi.CustomResourceOptions);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Input properties used for looking up and filtering Cdn resources.
|
|
110
|
+
*/
|
|
111
|
+
export interface CdnState {
|
|
112
|
+
/**
|
|
113
|
+
* **Deprecated** The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.
|
|
114
|
+
*
|
|
115
|
+
* @deprecated Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead.
|
|
116
|
+
*/
|
|
117
|
+
certificateId?: pulumi.Input<string>;
|
|
118
|
+
/**
|
|
119
|
+
* The unique name of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.
|
|
120
|
+
*/
|
|
121
|
+
certificateName?: pulumi.Input<string>;
|
|
122
|
+
/**
|
|
123
|
+
* The date and time when the CDN Endpoint was created.
|
|
124
|
+
*/
|
|
125
|
+
createdAt?: pulumi.Input<string>;
|
|
126
|
+
/**
|
|
127
|
+
* The fully qualified domain name (FQDN) of the custom subdomain used with the CDN Endpoint.
|
|
128
|
+
*/
|
|
129
|
+
customDomain?: pulumi.Input<string>;
|
|
130
|
+
/**
|
|
131
|
+
* The fully qualified domain name (FQDN) from which the CDN-backed content is served.
|
|
132
|
+
*/
|
|
133
|
+
endpoint?: pulumi.Input<string>;
|
|
134
|
+
/**
|
|
135
|
+
* The fully qualified domain name, (FQDN) for a Space.
|
|
136
|
+
*/
|
|
137
|
+
origin?: pulumi.Input<string>;
|
|
138
|
+
/**
|
|
139
|
+
* The time to live for the CDN Endpoint, in seconds. Default is 3600 seconds.
|
|
140
|
+
*/
|
|
141
|
+
ttl?: pulumi.Input<number>;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* The set of arguments for constructing a Cdn resource.
|
|
145
|
+
*/
|
|
146
|
+
export interface CdnArgs {
|
|
147
|
+
/**
|
|
148
|
+
* **Deprecated** The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.
|
|
149
|
+
*
|
|
150
|
+
* @deprecated Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead.
|
|
151
|
+
*/
|
|
152
|
+
certificateId?: pulumi.Input<string>;
|
|
153
|
+
/**
|
|
154
|
+
* The unique name of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.
|
|
155
|
+
*/
|
|
156
|
+
certificateName?: pulumi.Input<string>;
|
|
157
|
+
/**
|
|
158
|
+
* The fully qualified domain name (FQDN) of the custom subdomain used with the CDN Endpoint.
|
|
159
|
+
*/
|
|
160
|
+
customDomain?: pulumi.Input<string>;
|
|
161
|
+
/**
|
|
162
|
+
* The fully qualified domain name, (FQDN) for a Space.
|
|
163
|
+
*/
|
|
164
|
+
origin: pulumi.Input<string>;
|
|
165
|
+
/**
|
|
166
|
+
* The time to live for the CDN Endpoint, in seconds. Default is 3600 seconds.
|
|
167
|
+
*/
|
|
168
|
+
ttl?: pulumi.Input<number>;
|
|
169
|
+
}
|
package/cdn.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
const pulumi = require("@pulumi/pulumi");
|
|
6
|
+
const utilities = require("./utilities");
|
|
7
|
+
/**
|
|
8
|
+
* Provides a DigitalOcean CDN Endpoint resource for use with Spaces.
|
|
9
|
+
*
|
|
10
|
+
* ## Example Usage
|
|
11
|
+
* ### Basic Example
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
16
|
+
*
|
|
17
|
+
* // Create a new Spaces Bucket
|
|
18
|
+
* const mybucket = new digitalocean.SpacesBucket("mybucket", {
|
|
19
|
+
* region: "sfo2",
|
|
20
|
+
* acl: "public-read",
|
|
21
|
+
* });
|
|
22
|
+
* // Add a CDN endpoint to the Spaces Bucket
|
|
23
|
+
* const mycdn = new digitalocean.Cdn("mycdn", {origin: mybucket.bucketDomainName});
|
|
24
|
+
* export const fqdn = mycdn.endpoint;
|
|
25
|
+
* ```
|
|
26
|
+
* ### Custom Sub-Domain Example
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
30
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
31
|
+
*
|
|
32
|
+
* // Create a new Spaces Bucket
|
|
33
|
+
* const mybucket = new digitalocean.SpacesBucket("mybucket", {
|
|
34
|
+
* region: "sfo2",
|
|
35
|
+
* acl: "public-read",
|
|
36
|
+
* });
|
|
37
|
+
* // Create a DigitalOcean managed Let's Encrypt Certificate
|
|
38
|
+
* const cert = new digitalocean.Certificate("cert", {
|
|
39
|
+
* type: "lets_encrypt",
|
|
40
|
+
* domains: ["static.example.com"],
|
|
41
|
+
* });
|
|
42
|
+
* // Add a CDN endpoint with a custom sub-domain to the Spaces Bucket
|
|
43
|
+
* const mycdn = new digitalocean.Cdn("mycdn", {
|
|
44
|
+
* origin: mybucket.bucketDomainName,
|
|
45
|
+
* customDomain: "static.example.com",
|
|
46
|
+
* certificateName: cert.name,
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* ## Import
|
|
51
|
+
*
|
|
52
|
+
* CDN Endpoints can be imported using the CDN `id`, e.g.
|
|
53
|
+
*
|
|
54
|
+
* ```sh
|
|
55
|
+
* $ pulumi import digitalocean:index/cdn:Cdn mycdn fb06ad00-351f-45c8-b5eb-13523c438661
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
class Cdn extends pulumi.CustomResource {
|
|
59
|
+
constructor(name, argsOrState, opts) {
|
|
60
|
+
let inputs = {};
|
|
61
|
+
opts = opts || {};
|
|
62
|
+
if (opts.id) {
|
|
63
|
+
const state = argsOrState;
|
|
64
|
+
inputs["certificateId"] = state ? state.certificateId : undefined;
|
|
65
|
+
inputs["certificateName"] = state ? state.certificateName : undefined;
|
|
66
|
+
inputs["createdAt"] = state ? state.createdAt : undefined;
|
|
67
|
+
inputs["customDomain"] = state ? state.customDomain : undefined;
|
|
68
|
+
inputs["endpoint"] = state ? state.endpoint : undefined;
|
|
69
|
+
inputs["origin"] = state ? state.origin : undefined;
|
|
70
|
+
inputs["ttl"] = state ? state.ttl : undefined;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
const args = argsOrState;
|
|
74
|
+
if ((!args || args.origin === undefined) && !opts.urn) {
|
|
75
|
+
throw new Error("Missing required property 'origin'");
|
|
76
|
+
}
|
|
77
|
+
inputs["certificateId"] = args ? args.certificateId : undefined;
|
|
78
|
+
inputs["certificateName"] = args ? args.certificateName : undefined;
|
|
79
|
+
inputs["customDomain"] = args ? args.customDomain : undefined;
|
|
80
|
+
inputs["origin"] = args ? args.origin : undefined;
|
|
81
|
+
inputs["ttl"] = args ? args.ttl : undefined;
|
|
82
|
+
inputs["createdAt"] = undefined /*out*/;
|
|
83
|
+
inputs["endpoint"] = undefined /*out*/;
|
|
84
|
+
}
|
|
85
|
+
if (!opts.version) {
|
|
86
|
+
opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
|
|
87
|
+
}
|
|
88
|
+
super(Cdn.__pulumiType, name, inputs, opts);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get an existing Cdn resource's state with the given name, ID, and optional extra
|
|
92
|
+
* properties used to qualify the lookup.
|
|
93
|
+
*
|
|
94
|
+
* @param name The _unique_ name of the resulting resource.
|
|
95
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
96
|
+
* @param state Any extra arguments used during the lookup.
|
|
97
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
98
|
+
*/
|
|
99
|
+
static get(name, id, state, opts) {
|
|
100
|
+
return new Cdn(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Returns true if the given object is an instance of Cdn. This is designed to work even
|
|
104
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
105
|
+
*/
|
|
106
|
+
static isInstance(obj) {
|
|
107
|
+
if (obj === undefined || obj === null) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
return obj['__pulumiType'] === Cdn.__pulumiType;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.Cdn = Cdn;
|
|
114
|
+
/** @internal */
|
|
115
|
+
Cdn.__pulumiType = 'digitalocean:index/cdn:Cdn';
|
|
116
|
+
//# sourceMappingURL=cdn.js.map
|
package/cdn.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdn.js","sourceRoot":"","sources":["../cdn.ts"],"names":[],"mappings":"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"}
|
package/certificate.d.ts
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import { enums } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Provides a DigitalOcean Certificate resource that allows you to manage
|
|
5
|
+
* certificates for configuring TLS termination in Load Balancers.
|
|
6
|
+
* Certificates created with this resource can be referenced in your
|
|
7
|
+
* Load Balancer configuration via their ID. The certificate can either
|
|
8
|
+
* be a custom one provided by you or automatically generated one with
|
|
9
|
+
* Let's Encrypt.
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
* ### Custom Certificate
|
|
13
|
+
*
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
16
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
17
|
+
* import * from "fs";
|
|
18
|
+
*
|
|
19
|
+
* const cert = new digitalocean.Certificate("cert", {
|
|
20
|
+
* type: "custom",
|
|
21
|
+
* privateKey: fs.readFileSync("/Users/myuser/certs/privkey.pem"),
|
|
22
|
+
* leafCertificate: fs.readFileSync("/Users/myuser/certs/cert.pem"),
|
|
23
|
+
* certificateChain: fs.readFileSync("/Users/myuser/certs/fullchain.pem"),
|
|
24
|
+
* });
|
|
25
|
+
* ```
|
|
26
|
+
* ### Let's Encrypt Certificate
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
30
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
31
|
+
*
|
|
32
|
+
* const cert = new digitalocean.Certificate("cert", {
|
|
33
|
+
* domains: ["example.com"],
|
|
34
|
+
* type: "lets_encrypt",
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
* ### Use with Other Resources
|
|
38
|
+
*
|
|
39
|
+
* Both custom and Let's Encrypt certificates can be used with other resources
|
|
40
|
+
* including the `digitalocean.LoadBalancer` and `digitalocean.Cdn` resources.
|
|
41
|
+
*
|
|
42
|
+
* ```typescript
|
|
43
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
44
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
45
|
+
*
|
|
46
|
+
* const cert = new digitalocean.Certificate("cert", {
|
|
47
|
+
* type: "lets_encrypt",
|
|
48
|
+
* domains: ["example.com"],
|
|
49
|
+
* });
|
|
50
|
+
* // Create a new Load Balancer with TLS termination
|
|
51
|
+
* const _public = new digitalocean.LoadBalancer("public", {
|
|
52
|
+
* region: "nyc3",
|
|
53
|
+
* dropletTag: "backend",
|
|
54
|
+
* forwardingRules: [{
|
|
55
|
+
* entryPort: 443,
|
|
56
|
+
* entryProtocol: "https",
|
|
57
|
+
* targetPort: 80,
|
|
58
|
+
* targetProtocol: "http",
|
|
59
|
+
* certificateName: cert.name,
|
|
60
|
+
* }],
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* ## Import
|
|
65
|
+
*
|
|
66
|
+
* Certificates can be imported using the certificate `name`, e.g.
|
|
67
|
+
*
|
|
68
|
+
* ```sh
|
|
69
|
+
* $ pulumi import digitalocean:index/certificate:Certificate mycertificate cert-01
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare class Certificate extends pulumi.CustomResource {
|
|
73
|
+
/**
|
|
74
|
+
* Get an existing Certificate resource's state with the given name, ID, and optional extra
|
|
75
|
+
* properties used to qualify the lookup.
|
|
76
|
+
*
|
|
77
|
+
* @param name The _unique_ name of the resulting resource.
|
|
78
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
79
|
+
* @param state Any extra arguments used during the lookup.
|
|
80
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
81
|
+
*/
|
|
82
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CertificateState, opts?: pulumi.CustomResourceOptions): Certificate;
|
|
83
|
+
/**
|
|
84
|
+
* Returns true if the given object is an instance of Certificate. This is designed to work even
|
|
85
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
86
|
+
*/
|
|
87
|
+
static isInstance(obj: any): obj is Certificate;
|
|
88
|
+
/**
|
|
89
|
+
* The full PEM-formatted trust chain
|
|
90
|
+
* between the certificate authority's certificate and your domain's TLS
|
|
91
|
+
* certificate. Only valid when type is `custom`.
|
|
92
|
+
*/
|
|
93
|
+
readonly certificateChain: pulumi.Output<string | undefined>;
|
|
94
|
+
/**
|
|
95
|
+
* List of fully qualified domain names (FQDNs) for
|
|
96
|
+
* which the certificate will be issued. The domains must be managed using
|
|
97
|
+
* DigitalOcean's DNS. Only valid when type is `letsEncrypt`.
|
|
98
|
+
*/
|
|
99
|
+
readonly domains: pulumi.Output<string[] | undefined>;
|
|
100
|
+
/**
|
|
101
|
+
* The contents of a PEM-formatted public
|
|
102
|
+
* TLS certificate. Only valid when type is `custom`.
|
|
103
|
+
*/
|
|
104
|
+
readonly leafCertificate: pulumi.Output<string | undefined>;
|
|
105
|
+
/**
|
|
106
|
+
* The name of the certificate for identification.
|
|
107
|
+
*/
|
|
108
|
+
readonly name: pulumi.Output<string>;
|
|
109
|
+
/**
|
|
110
|
+
* The expiration date of the certificate
|
|
111
|
+
*/
|
|
112
|
+
readonly notAfter: pulumi.Output<string>;
|
|
113
|
+
/**
|
|
114
|
+
* The contents of a PEM-formatted private-key
|
|
115
|
+
* corresponding to the SSL certificate. Only valid when type is `custom`.
|
|
116
|
+
*/
|
|
117
|
+
readonly privateKey: pulumi.Output<string | undefined>;
|
|
118
|
+
/**
|
|
119
|
+
* The SHA-1 fingerprint of the certificate
|
|
120
|
+
*/
|
|
121
|
+
readonly sha1Fingerprint: pulumi.Output<string>;
|
|
122
|
+
readonly state: pulumi.Output<string>;
|
|
123
|
+
/**
|
|
124
|
+
* The type of certificate to provision. Can be either
|
|
125
|
+
* `custom` or `letsEncrypt`. Defaults to `custom`.
|
|
126
|
+
*/
|
|
127
|
+
readonly type: pulumi.Output<string | undefined>;
|
|
128
|
+
/**
|
|
129
|
+
* The UUID of the certificate
|
|
130
|
+
*/
|
|
131
|
+
readonly uuid: pulumi.Output<string>;
|
|
132
|
+
/**
|
|
133
|
+
* Create a Certificate resource with the given unique name, arguments, and options.
|
|
134
|
+
*
|
|
135
|
+
* @param name The _unique_ name of the resource.
|
|
136
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
137
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
138
|
+
*/
|
|
139
|
+
constructor(name: string, args?: CertificateArgs, opts?: pulumi.CustomResourceOptions);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Input properties used for looking up and filtering Certificate resources.
|
|
143
|
+
*/
|
|
144
|
+
export interface CertificateState {
|
|
145
|
+
/**
|
|
146
|
+
* The full PEM-formatted trust chain
|
|
147
|
+
* between the certificate authority's certificate and your domain's TLS
|
|
148
|
+
* certificate. Only valid when type is `custom`.
|
|
149
|
+
*/
|
|
150
|
+
certificateChain?: pulumi.Input<string>;
|
|
151
|
+
/**
|
|
152
|
+
* List of fully qualified domain names (FQDNs) for
|
|
153
|
+
* which the certificate will be issued. The domains must be managed using
|
|
154
|
+
* DigitalOcean's DNS. Only valid when type is `letsEncrypt`.
|
|
155
|
+
*/
|
|
156
|
+
domains?: pulumi.Input<pulumi.Input<string>[]>;
|
|
157
|
+
/**
|
|
158
|
+
* The contents of a PEM-formatted public
|
|
159
|
+
* TLS certificate. Only valid when type is `custom`.
|
|
160
|
+
*/
|
|
161
|
+
leafCertificate?: pulumi.Input<string>;
|
|
162
|
+
/**
|
|
163
|
+
* The name of the certificate for identification.
|
|
164
|
+
*/
|
|
165
|
+
name?: pulumi.Input<string>;
|
|
166
|
+
/**
|
|
167
|
+
* The expiration date of the certificate
|
|
168
|
+
*/
|
|
169
|
+
notAfter?: pulumi.Input<string>;
|
|
170
|
+
/**
|
|
171
|
+
* The contents of a PEM-formatted private-key
|
|
172
|
+
* corresponding to the SSL certificate. Only valid when type is `custom`.
|
|
173
|
+
*/
|
|
174
|
+
privateKey?: pulumi.Input<string>;
|
|
175
|
+
/**
|
|
176
|
+
* The SHA-1 fingerprint of the certificate
|
|
177
|
+
*/
|
|
178
|
+
sha1Fingerprint?: pulumi.Input<string>;
|
|
179
|
+
state?: pulumi.Input<string>;
|
|
180
|
+
/**
|
|
181
|
+
* The type of certificate to provision. Can be either
|
|
182
|
+
* `custom` or `letsEncrypt`. Defaults to `custom`.
|
|
183
|
+
*/
|
|
184
|
+
type?: pulumi.Input<string | enums.CertificateType>;
|
|
185
|
+
/**
|
|
186
|
+
* The UUID of the certificate
|
|
187
|
+
*/
|
|
188
|
+
uuid?: pulumi.Input<string>;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* The set of arguments for constructing a Certificate resource.
|
|
192
|
+
*/
|
|
193
|
+
export interface CertificateArgs {
|
|
194
|
+
/**
|
|
195
|
+
* The full PEM-formatted trust chain
|
|
196
|
+
* between the certificate authority's certificate and your domain's TLS
|
|
197
|
+
* certificate. Only valid when type is `custom`.
|
|
198
|
+
*/
|
|
199
|
+
certificateChain?: pulumi.Input<string>;
|
|
200
|
+
/**
|
|
201
|
+
* List of fully qualified domain names (FQDNs) for
|
|
202
|
+
* which the certificate will be issued. The domains must be managed using
|
|
203
|
+
* DigitalOcean's DNS. Only valid when type is `letsEncrypt`.
|
|
204
|
+
*/
|
|
205
|
+
domains?: pulumi.Input<pulumi.Input<string>[]>;
|
|
206
|
+
/**
|
|
207
|
+
* The contents of a PEM-formatted public
|
|
208
|
+
* TLS certificate. Only valid when type is `custom`.
|
|
209
|
+
*/
|
|
210
|
+
leafCertificate?: pulumi.Input<string>;
|
|
211
|
+
/**
|
|
212
|
+
* The name of the certificate for identification.
|
|
213
|
+
*/
|
|
214
|
+
name?: pulumi.Input<string>;
|
|
215
|
+
/**
|
|
216
|
+
* The contents of a PEM-formatted private-key
|
|
217
|
+
* corresponding to the SSL certificate. Only valid when type is `custom`.
|
|
218
|
+
*/
|
|
219
|
+
privateKey?: pulumi.Input<string>;
|
|
220
|
+
/**
|
|
221
|
+
* The type of certificate to provision. Can be either
|
|
222
|
+
* `custom` or `letsEncrypt`. Defaults to `custom`.
|
|
223
|
+
*/
|
|
224
|
+
type?: pulumi.Input<string | enums.CertificateType>;
|
|
225
|
+
}
|
package/certificate.js
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
const pulumi = require("@pulumi/pulumi");
|
|
6
|
+
const utilities = require("./utilities");
|
|
7
|
+
/**
|
|
8
|
+
* Provides a DigitalOcean Certificate resource that allows you to manage
|
|
9
|
+
* certificates for configuring TLS termination in Load Balancers.
|
|
10
|
+
* Certificates created with this resource can be referenced in your
|
|
11
|
+
* Load Balancer configuration via their ID. The certificate can either
|
|
12
|
+
* be a custom one provided by you or automatically generated one with
|
|
13
|
+
* Let's Encrypt.
|
|
14
|
+
*
|
|
15
|
+
* ## Example Usage
|
|
16
|
+
* ### Custom Certificate
|
|
17
|
+
*
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
20
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
21
|
+
* import * from "fs";
|
|
22
|
+
*
|
|
23
|
+
* const cert = new digitalocean.Certificate("cert", {
|
|
24
|
+
* type: "custom",
|
|
25
|
+
* privateKey: fs.readFileSync("/Users/myuser/certs/privkey.pem"),
|
|
26
|
+
* leafCertificate: fs.readFileSync("/Users/myuser/certs/cert.pem"),
|
|
27
|
+
* certificateChain: fs.readFileSync("/Users/myuser/certs/fullchain.pem"),
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
* ### Let's Encrypt Certificate
|
|
31
|
+
*
|
|
32
|
+
* ```typescript
|
|
33
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
34
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
35
|
+
*
|
|
36
|
+
* const cert = new digitalocean.Certificate("cert", {
|
|
37
|
+
* domains: ["example.com"],
|
|
38
|
+
* type: "lets_encrypt",
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
* ### Use with Other Resources
|
|
42
|
+
*
|
|
43
|
+
* Both custom and Let's Encrypt certificates can be used with other resources
|
|
44
|
+
* including the `digitalocean.LoadBalancer` and `digitalocean.Cdn` resources.
|
|
45
|
+
*
|
|
46
|
+
* ```typescript
|
|
47
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
48
|
+
* import * as digitalocean from "@pulumi/digitalocean";
|
|
49
|
+
*
|
|
50
|
+
* const cert = new digitalocean.Certificate("cert", {
|
|
51
|
+
* type: "lets_encrypt",
|
|
52
|
+
* domains: ["example.com"],
|
|
53
|
+
* });
|
|
54
|
+
* // Create a new Load Balancer with TLS termination
|
|
55
|
+
* const _public = new digitalocean.LoadBalancer("public", {
|
|
56
|
+
* region: "nyc3",
|
|
57
|
+
* dropletTag: "backend",
|
|
58
|
+
* forwardingRules: [{
|
|
59
|
+
* entryPort: 443,
|
|
60
|
+
* entryProtocol: "https",
|
|
61
|
+
* targetPort: 80,
|
|
62
|
+
* targetProtocol: "http",
|
|
63
|
+
* certificateName: cert.name,
|
|
64
|
+
* }],
|
|
65
|
+
* });
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* ## Import
|
|
69
|
+
*
|
|
70
|
+
* Certificates can be imported using the certificate `name`, e.g.
|
|
71
|
+
*
|
|
72
|
+
* ```sh
|
|
73
|
+
* $ pulumi import digitalocean:index/certificate:Certificate mycertificate cert-01
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
class Certificate extends pulumi.CustomResource {
|
|
77
|
+
constructor(name, argsOrState, opts) {
|
|
78
|
+
let inputs = {};
|
|
79
|
+
opts = opts || {};
|
|
80
|
+
if (opts.id) {
|
|
81
|
+
const state = argsOrState;
|
|
82
|
+
inputs["certificateChain"] = state ? state.certificateChain : undefined;
|
|
83
|
+
inputs["domains"] = state ? state.domains : undefined;
|
|
84
|
+
inputs["leafCertificate"] = state ? state.leafCertificate : undefined;
|
|
85
|
+
inputs["name"] = state ? state.name : undefined;
|
|
86
|
+
inputs["notAfter"] = state ? state.notAfter : undefined;
|
|
87
|
+
inputs["privateKey"] = state ? state.privateKey : undefined;
|
|
88
|
+
inputs["sha1Fingerprint"] = state ? state.sha1Fingerprint : undefined;
|
|
89
|
+
inputs["state"] = state ? state.state : undefined;
|
|
90
|
+
inputs["type"] = state ? state.type : undefined;
|
|
91
|
+
inputs["uuid"] = state ? state.uuid : undefined;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const args = argsOrState;
|
|
95
|
+
inputs["certificateChain"] = args ? args.certificateChain : undefined;
|
|
96
|
+
inputs["domains"] = args ? args.domains : undefined;
|
|
97
|
+
inputs["leafCertificate"] = args ? args.leafCertificate : undefined;
|
|
98
|
+
inputs["name"] = args ? args.name : undefined;
|
|
99
|
+
inputs["privateKey"] = args ? args.privateKey : undefined;
|
|
100
|
+
inputs["type"] = args ? args.type : undefined;
|
|
101
|
+
inputs["notAfter"] = undefined /*out*/;
|
|
102
|
+
inputs["sha1Fingerprint"] = undefined /*out*/;
|
|
103
|
+
inputs["state"] = undefined /*out*/;
|
|
104
|
+
inputs["uuid"] = undefined /*out*/;
|
|
105
|
+
}
|
|
106
|
+
if (!opts.version) {
|
|
107
|
+
opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
|
|
108
|
+
}
|
|
109
|
+
super(Certificate.__pulumiType, name, inputs, opts);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Get an existing Certificate resource's state with the given name, ID, and optional extra
|
|
113
|
+
* properties used to qualify the lookup.
|
|
114
|
+
*
|
|
115
|
+
* @param name The _unique_ name of the resulting resource.
|
|
116
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
117
|
+
* @param state Any extra arguments used during the lookup.
|
|
118
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
119
|
+
*/
|
|
120
|
+
static get(name, id, state, opts) {
|
|
121
|
+
return new Certificate(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Returns true if the given object is an instance of Certificate. This is designed to work even
|
|
125
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
126
|
+
*/
|
|
127
|
+
static isInstance(obj) {
|
|
128
|
+
if (obj === undefined || obj === null) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
return obj['__pulumiType'] === Certificate.__pulumiType;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.Certificate = Certificate;
|
|
135
|
+
/** @internal */
|
|
136
|
+
Certificate.__pulumiType = 'digitalocean:index/certificate:Certificate';
|
|
137
|
+
//# sourceMappingURL=certificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certificate.js","sourceRoot":"","sources":["../certificate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./vars";
|
package/config/index.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
function __export(m) {
|
|
5
|
+
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
6
|
+
}
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
// Export members:
|
|
9
|
+
__export(require("./vars"));
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../config/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;;;AAEjF,kBAAkB;AAClB,4BAAuB"}
|