@three14/pulumi-argocd 1.1.0 → 1.1.1

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.
@@ -0,0 +1,352 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages [repositories](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories) within ArgoCD.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as argocd from "@three14/pulumi-argocd";
10
+ *
11
+ * // Public Helm repository
12
+ * const publicNginxHelm = new argocd.Repository("public_nginx_helm", {
13
+ * repo: "https://helm.nginx.com/stable",
14
+ * name: "nginx-stable",
15
+ * type: "helm",
16
+ * });
17
+ * // Public Git repository
18
+ * const publicGit = new argocd.Repository("public_git", {repo: "git@github.com:user/somerepo.git"});
19
+ * // Private Git repository
20
+ * const _private = new argocd.Repository("private", {
21
+ * repo: "git@private-git-repository.local:somerepo.git",
22
+ * username: "git",
23
+ * sshPrivateKey: `-----BEGIN OPENSSH PRIVATE KEY-----
24
+ * foo
25
+ * bar
26
+ * -----END OPENSSH PRIVATE KEY-----`,
27
+ * insecure: true,
28
+ * });
29
+ * // Repository with proxy configuration
30
+ * const withProxy = new argocd.Repository("with_proxy", {
31
+ * repo: "https://github.com/example/repo.git",
32
+ * username: "git",
33
+ * password: "my-token",
34
+ * proxy: "http://proxy.example.com:8080",
35
+ * noProxy: "*.internal.example.com,localhost",
36
+ * });
37
+ * // OCI repository (e.g., for Helm charts stored in OCI registries)
38
+ * const ociRegistry = new argocd.Repository("oci_registry", {
39
+ * repo: "oci://ghcr.io/argoproj/argo-helm/argo-cd",
40
+ * name: "argocd-oci",
41
+ * type: "oci",
42
+ * username: "my-username",
43
+ * password: "my-token",
44
+ * });
45
+ * ```
46
+ *
47
+ * ## Import
48
+ *
49
+ * The `pulumi import` command can be used, for example:
50
+ *
51
+ * Repositories can be imported using the repository URL.
52
+ *
53
+ * Note: as the ArgoCD API does not return any sensitive information, a
54
+ * subsequent `pulumi up` should be executed to make the `password`,
55
+ * `sshPrivateKey` and `tlsClientCertKey` attributes converge to their
56
+ * expected values defined within the plan.
57
+ *
58
+ * ```sh
59
+ * $ pulumi import argocd:index/repository:Repository myrepo git@private-git-repository.local:somerepo.git
60
+ * ```
61
+ */
62
+ export declare class Repository extends pulumi.CustomResource {
63
+ /**
64
+ * Get an existing Repository resource's state with the given name, ID, and optional extra
65
+ * properties used to qualify the lookup.
66
+ *
67
+ * @param name The _unique_ name of the resulting resource.
68
+ * @param id The _unique_ provider ID of the resource to lookup.
69
+ * @param state Any extra arguments used during the lookup.
70
+ * @param opts Optional settings to control the behavior of the CustomResource.
71
+ */
72
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RepositoryState, opts?: pulumi.CustomResourceOptions): Repository;
73
+ /**
74
+ * Returns true if the given object is an instance of Repository. This is designed to work even
75
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
76
+ */
77
+ static isInstance(obj: any): obj is Repository;
78
+ /**
79
+ * BearerToken contains the bearer token used for Git BitBucket Data Center auth at the repo server
80
+ */
81
+ readonly bearerToken: pulumi.Output<string | undefined>;
82
+ /**
83
+ * Contains information about the current state of connection to the repository server.
84
+ */
85
+ readonly connectionStateStatus: pulumi.Output<string>;
86
+ /**
87
+ * Whether `git-lfs` support should be enabled for this repository.
88
+ */
89
+ readonly enableLfs: pulumi.Output<boolean>;
90
+ /**
91
+ * Whether `helm-oci` support should be enabled for this repository.
92
+ */
93
+ readonly enableOci: pulumi.Output<boolean>;
94
+ /**
95
+ * GitHub API URL for GitHub app authentication.
96
+ */
97
+ readonly githubappEnterpriseBaseUrl: pulumi.Output<string>;
98
+ /**
99
+ * ID of the GitHub app used to access the repo.
100
+ */
101
+ readonly githubappId: pulumi.Output<string>;
102
+ /**
103
+ * The installation ID of the GitHub App used to access the repo.
104
+ */
105
+ readonly githubappInstallationId: pulumi.Output<string>;
106
+ /**
107
+ * Private key data (PEM) for authentication via GitHub app.
108
+ */
109
+ readonly githubappPrivateKey: pulumi.Output<string | undefined>;
110
+ /**
111
+ * Whether credentials were inherited from a credential set.
112
+ */
113
+ readonly inheritedCreds: pulumi.Output<boolean>;
114
+ /**
115
+ * Whether the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys.
116
+ */
117
+ readonly insecure: pulumi.Output<boolean>;
118
+ /**
119
+ * Name to be used for this repo. Only used with Helm repos.
120
+ */
121
+ readonly name: pulumi.Output<string>;
122
+ /**
123
+ * Comma-separated list of hostnames that should be excluded from proxying.
124
+ */
125
+ readonly noProxy: pulumi.Output<string | undefined>;
126
+ /**
127
+ * Password or PAT used for authenticating at the remote repository.
128
+ */
129
+ readonly password: pulumi.Output<string | undefined>;
130
+ /**
131
+ * The project name, in case the repository is project scoped.
132
+ */
133
+ readonly project: pulumi.Output<string | undefined>;
134
+ /**
135
+ * HTTP/HTTPS proxy to access the repository.
136
+ */
137
+ readonly proxy: pulumi.Output<string | undefined>;
138
+ /**
139
+ * URL of the repository.
140
+ */
141
+ readonly repo: pulumi.Output<string>;
142
+ /**
143
+ * PEM data for authenticating at the repo server. Only used with Git repos.
144
+ */
145
+ readonly sshPrivateKey: pulumi.Output<string | undefined>;
146
+ /**
147
+ * TLS client certificate in PEM format for authenticating at the repo server.
148
+ */
149
+ readonly tlsClientCertData: pulumi.Output<string | undefined>;
150
+ /**
151
+ * TLS client certificate private key in PEM format for authenticating at the repo server.
152
+ */
153
+ readonly tlsClientCertKey: pulumi.Output<string | undefined>;
154
+ /**
155
+ * Type of the repo. Can be either `git`, `helm` or `oci`. `git` is assumed if empty or absent.
156
+ */
157
+ readonly type: pulumi.Output<string>;
158
+ /**
159
+ * Whether `Azure-Workload-identity` should be enabled for this repository.
160
+ */
161
+ readonly useAzureWorkloadIdentity: pulumi.Output<boolean>;
162
+ /**
163
+ * Username used for authenticating at the remote repository.
164
+ */
165
+ readonly username: pulumi.Output<string | undefined>;
166
+ /**
167
+ * Create a Repository resource with the given unique name, arguments, and options.
168
+ *
169
+ * @param name The _unique_ name of the resource.
170
+ * @param args The arguments to use to populate this resource's properties.
171
+ * @param opts A bag of options that control this resource's behavior.
172
+ */
173
+ constructor(name: string, args: RepositoryArgs, opts?: pulumi.CustomResourceOptions);
174
+ }
175
+ /**
176
+ * Input properties used for looking up and filtering Repository resources.
177
+ */
178
+ export interface RepositoryState {
179
+ /**
180
+ * BearerToken contains the bearer token used for Git BitBucket Data Center auth at the repo server
181
+ */
182
+ bearerToken?: pulumi.Input<string>;
183
+ /**
184
+ * Contains information about the current state of connection to the repository server.
185
+ */
186
+ connectionStateStatus?: pulumi.Input<string>;
187
+ /**
188
+ * Whether `git-lfs` support should be enabled for this repository.
189
+ */
190
+ enableLfs?: pulumi.Input<boolean>;
191
+ /**
192
+ * Whether `helm-oci` support should be enabled for this repository.
193
+ */
194
+ enableOci?: pulumi.Input<boolean>;
195
+ /**
196
+ * GitHub API URL for GitHub app authentication.
197
+ */
198
+ githubappEnterpriseBaseUrl?: pulumi.Input<string>;
199
+ /**
200
+ * ID of the GitHub app used to access the repo.
201
+ */
202
+ githubappId?: pulumi.Input<string>;
203
+ /**
204
+ * The installation ID of the GitHub App used to access the repo.
205
+ */
206
+ githubappInstallationId?: pulumi.Input<string>;
207
+ /**
208
+ * Private key data (PEM) for authentication via GitHub app.
209
+ */
210
+ githubappPrivateKey?: pulumi.Input<string>;
211
+ /**
212
+ * Whether credentials were inherited from a credential set.
213
+ */
214
+ inheritedCreds?: pulumi.Input<boolean>;
215
+ /**
216
+ * Whether the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys.
217
+ */
218
+ insecure?: pulumi.Input<boolean>;
219
+ /**
220
+ * Name to be used for this repo. Only used with Helm repos.
221
+ */
222
+ name?: pulumi.Input<string>;
223
+ /**
224
+ * Comma-separated list of hostnames that should be excluded from proxying.
225
+ */
226
+ noProxy?: pulumi.Input<string>;
227
+ /**
228
+ * Password or PAT used for authenticating at the remote repository.
229
+ */
230
+ password?: pulumi.Input<string>;
231
+ /**
232
+ * The project name, in case the repository is project scoped.
233
+ */
234
+ project?: pulumi.Input<string>;
235
+ /**
236
+ * HTTP/HTTPS proxy to access the repository.
237
+ */
238
+ proxy?: pulumi.Input<string>;
239
+ /**
240
+ * URL of the repository.
241
+ */
242
+ repo?: pulumi.Input<string>;
243
+ /**
244
+ * PEM data for authenticating at the repo server. Only used with Git repos.
245
+ */
246
+ sshPrivateKey?: pulumi.Input<string>;
247
+ /**
248
+ * TLS client certificate in PEM format for authenticating at the repo server.
249
+ */
250
+ tlsClientCertData?: pulumi.Input<string>;
251
+ /**
252
+ * TLS client certificate private key in PEM format for authenticating at the repo server.
253
+ */
254
+ tlsClientCertKey?: pulumi.Input<string>;
255
+ /**
256
+ * Type of the repo. Can be either `git`, `helm` or `oci`. `git` is assumed if empty or absent.
257
+ */
258
+ type?: pulumi.Input<string>;
259
+ /**
260
+ * Whether `Azure-Workload-identity` should be enabled for this repository.
261
+ */
262
+ useAzureWorkloadIdentity?: pulumi.Input<boolean>;
263
+ /**
264
+ * Username used for authenticating at the remote repository.
265
+ */
266
+ username?: pulumi.Input<string>;
267
+ }
268
+ /**
269
+ * The set of arguments for constructing a Repository resource.
270
+ */
271
+ export interface RepositoryArgs {
272
+ /**
273
+ * BearerToken contains the bearer token used for Git BitBucket Data Center auth at the repo server
274
+ */
275
+ bearerToken?: pulumi.Input<string>;
276
+ /**
277
+ * Whether `git-lfs` support should be enabled for this repository.
278
+ */
279
+ enableLfs?: pulumi.Input<boolean>;
280
+ /**
281
+ * Whether `helm-oci` support should be enabled for this repository.
282
+ */
283
+ enableOci?: pulumi.Input<boolean>;
284
+ /**
285
+ * GitHub API URL for GitHub app authentication.
286
+ */
287
+ githubappEnterpriseBaseUrl?: pulumi.Input<string>;
288
+ /**
289
+ * ID of the GitHub app used to access the repo.
290
+ */
291
+ githubappId?: pulumi.Input<string>;
292
+ /**
293
+ * The installation ID of the GitHub App used to access the repo.
294
+ */
295
+ githubappInstallationId?: pulumi.Input<string>;
296
+ /**
297
+ * Private key data (PEM) for authentication via GitHub app.
298
+ */
299
+ githubappPrivateKey?: pulumi.Input<string>;
300
+ /**
301
+ * Whether the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys.
302
+ */
303
+ insecure?: pulumi.Input<boolean>;
304
+ /**
305
+ * Name to be used for this repo. Only used with Helm repos.
306
+ */
307
+ name?: pulumi.Input<string>;
308
+ /**
309
+ * Comma-separated list of hostnames that should be excluded from proxying.
310
+ */
311
+ noProxy?: pulumi.Input<string>;
312
+ /**
313
+ * Password or PAT used for authenticating at the remote repository.
314
+ */
315
+ password?: pulumi.Input<string>;
316
+ /**
317
+ * The project name, in case the repository is project scoped.
318
+ */
319
+ project?: pulumi.Input<string>;
320
+ /**
321
+ * HTTP/HTTPS proxy to access the repository.
322
+ */
323
+ proxy?: pulumi.Input<string>;
324
+ /**
325
+ * URL of the repository.
326
+ */
327
+ repo: pulumi.Input<string>;
328
+ /**
329
+ * PEM data for authenticating at the repo server. Only used with Git repos.
330
+ */
331
+ sshPrivateKey?: pulumi.Input<string>;
332
+ /**
333
+ * TLS client certificate in PEM format for authenticating at the repo server.
334
+ */
335
+ tlsClientCertData?: pulumi.Input<string>;
336
+ /**
337
+ * TLS client certificate private key in PEM format for authenticating at the repo server.
338
+ */
339
+ tlsClientCertKey?: pulumi.Input<string>;
340
+ /**
341
+ * Type of the repo. Can be either `git`, `helm` or `oci`. `git` is assumed if empty or absent.
342
+ */
343
+ type?: pulumi.Input<string>;
344
+ /**
345
+ * Whether `Azure-Workload-identity` should be enabled for this repository.
346
+ */
347
+ useAzureWorkloadIdentity?: pulumi.Input<boolean>;
348
+ /**
349
+ * Username used for authenticating at the remote repository.
350
+ */
351
+ username?: pulumi.Input<string>;
352
+ }
package/repository.js ADDED
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Repository = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Manages [repositories](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories) within ArgoCD.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as argocd from "@three14/pulumi-argocd";
16
+ *
17
+ * // Public Helm repository
18
+ * const publicNginxHelm = new argocd.Repository("public_nginx_helm", {
19
+ * repo: "https://helm.nginx.com/stable",
20
+ * name: "nginx-stable",
21
+ * type: "helm",
22
+ * });
23
+ * // Public Git repository
24
+ * const publicGit = new argocd.Repository("public_git", {repo: "git@github.com:user/somerepo.git"});
25
+ * // Private Git repository
26
+ * const _private = new argocd.Repository("private", {
27
+ * repo: "git@private-git-repository.local:somerepo.git",
28
+ * username: "git",
29
+ * sshPrivateKey: `-----BEGIN OPENSSH PRIVATE KEY-----
30
+ * foo
31
+ * bar
32
+ * -----END OPENSSH PRIVATE KEY-----`,
33
+ * insecure: true,
34
+ * });
35
+ * // Repository with proxy configuration
36
+ * const withProxy = new argocd.Repository("with_proxy", {
37
+ * repo: "https://github.com/example/repo.git",
38
+ * username: "git",
39
+ * password: "my-token",
40
+ * proxy: "http://proxy.example.com:8080",
41
+ * noProxy: "*.internal.example.com,localhost",
42
+ * });
43
+ * // OCI repository (e.g., for Helm charts stored in OCI registries)
44
+ * const ociRegistry = new argocd.Repository("oci_registry", {
45
+ * repo: "oci://ghcr.io/argoproj/argo-helm/argo-cd",
46
+ * name: "argocd-oci",
47
+ * type: "oci",
48
+ * username: "my-username",
49
+ * password: "my-token",
50
+ * });
51
+ * ```
52
+ *
53
+ * ## Import
54
+ *
55
+ * The `pulumi import` command can be used, for example:
56
+ *
57
+ * Repositories can be imported using the repository URL.
58
+ *
59
+ * Note: as the ArgoCD API does not return any sensitive information, a
60
+ * subsequent `pulumi up` should be executed to make the `password`,
61
+ * `sshPrivateKey` and `tlsClientCertKey` attributes converge to their
62
+ * expected values defined within the plan.
63
+ *
64
+ * ```sh
65
+ * $ pulumi import argocd:index/repository:Repository myrepo git@private-git-repository.local:somerepo.git
66
+ * ```
67
+ */
68
+ class Repository extends pulumi.CustomResource {
69
+ /**
70
+ * Get an existing Repository resource's state with the given name, ID, and optional extra
71
+ * properties used to qualify the lookup.
72
+ *
73
+ * @param name The _unique_ name of the resulting resource.
74
+ * @param id The _unique_ provider ID of the resource to lookup.
75
+ * @param state Any extra arguments used during the lookup.
76
+ * @param opts Optional settings to control the behavior of the CustomResource.
77
+ */
78
+ static get(name, id, state, opts) {
79
+ return new Repository(name, state, { ...opts, id: id });
80
+ }
81
+ /**
82
+ * Returns true if the given object is an instance of Repository. This is designed to work even
83
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
84
+ */
85
+ static isInstance(obj) {
86
+ if (obj === undefined || obj === null) {
87
+ return false;
88
+ }
89
+ return obj['__pulumiType'] === Repository.__pulumiType;
90
+ }
91
+ constructor(name, argsOrState, opts) {
92
+ let resourceInputs = {};
93
+ opts = opts || {};
94
+ if (opts.id) {
95
+ const state = argsOrState;
96
+ resourceInputs["bearerToken"] = state?.bearerToken;
97
+ resourceInputs["connectionStateStatus"] = state?.connectionStateStatus;
98
+ resourceInputs["enableLfs"] = state?.enableLfs;
99
+ resourceInputs["enableOci"] = state?.enableOci;
100
+ resourceInputs["githubappEnterpriseBaseUrl"] = state?.githubappEnterpriseBaseUrl;
101
+ resourceInputs["githubappId"] = state?.githubappId;
102
+ resourceInputs["githubappInstallationId"] = state?.githubappInstallationId;
103
+ resourceInputs["githubappPrivateKey"] = state?.githubappPrivateKey;
104
+ resourceInputs["inheritedCreds"] = state?.inheritedCreds;
105
+ resourceInputs["insecure"] = state?.insecure;
106
+ resourceInputs["name"] = state?.name;
107
+ resourceInputs["noProxy"] = state?.noProxy;
108
+ resourceInputs["password"] = state?.password;
109
+ resourceInputs["project"] = state?.project;
110
+ resourceInputs["proxy"] = state?.proxy;
111
+ resourceInputs["repo"] = state?.repo;
112
+ resourceInputs["sshPrivateKey"] = state?.sshPrivateKey;
113
+ resourceInputs["tlsClientCertData"] = state?.tlsClientCertData;
114
+ resourceInputs["tlsClientCertKey"] = state?.tlsClientCertKey;
115
+ resourceInputs["type"] = state?.type;
116
+ resourceInputs["useAzureWorkloadIdentity"] = state?.useAzureWorkloadIdentity;
117
+ resourceInputs["username"] = state?.username;
118
+ }
119
+ else {
120
+ const args = argsOrState;
121
+ if (args?.repo === undefined && !opts.urn) {
122
+ throw new Error("Missing required property 'repo'");
123
+ }
124
+ resourceInputs["bearerToken"] = args?.bearerToken ? pulumi.secret(args.bearerToken) : undefined;
125
+ resourceInputs["enableLfs"] = args?.enableLfs;
126
+ resourceInputs["enableOci"] = args?.enableOci;
127
+ resourceInputs["githubappEnterpriseBaseUrl"] = args?.githubappEnterpriseBaseUrl;
128
+ resourceInputs["githubappId"] = args?.githubappId;
129
+ resourceInputs["githubappInstallationId"] = args?.githubappInstallationId;
130
+ resourceInputs["githubappPrivateKey"] = args?.githubappPrivateKey ? pulumi.secret(args.githubappPrivateKey) : undefined;
131
+ resourceInputs["insecure"] = args?.insecure;
132
+ resourceInputs["name"] = args?.name;
133
+ resourceInputs["noProxy"] = args?.noProxy;
134
+ resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined;
135
+ resourceInputs["project"] = args?.project;
136
+ resourceInputs["proxy"] = args?.proxy;
137
+ resourceInputs["repo"] = args?.repo;
138
+ resourceInputs["sshPrivateKey"] = args?.sshPrivateKey ? pulumi.secret(args.sshPrivateKey) : undefined;
139
+ resourceInputs["tlsClientCertData"] = args?.tlsClientCertData;
140
+ resourceInputs["tlsClientCertKey"] = args?.tlsClientCertKey ? pulumi.secret(args.tlsClientCertKey) : undefined;
141
+ resourceInputs["type"] = args?.type;
142
+ resourceInputs["useAzureWorkloadIdentity"] = args?.useAzureWorkloadIdentity;
143
+ resourceInputs["username"] = args?.username;
144
+ resourceInputs["connectionStateStatus"] = undefined /*out*/;
145
+ resourceInputs["inheritedCreds"] = undefined /*out*/;
146
+ }
147
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
148
+ const secretOpts = { additionalSecretOutputs: ["bearerToken", "githubappPrivateKey", "password", "sshPrivateKey", "tlsClientCertKey"] };
149
+ opts = pulumi.mergeOptions(opts, secretOpts);
150
+ super(Repository.__pulumiType, name, resourceInputs, opts);
151
+ }
152
+ }
153
+ exports.Repository = Repository;
154
+ /** @internal */
155
+ Repository.__pulumiType = 'argocd:index/repository:Repository';
156
+ //# sourceMappingURL=repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * Manages [custom TLS certificates](https://argo-cd.readthedocs.io/en/stable/user-guide/private-repositories/#self-signed-untrusted-tls-certificates) used by ArgoCD for connecting Git repositories.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as argocd from "@three14/pulumi-argocd";
12
+ *
13
+ * // HTTPS certificate
14
+ * const private_git_repository_https = new argocd.RepositoryCertificate("private-git-repository-https", {https: [{
15
+ * serverName: "private-git-repository.local",
16
+ * certData: "-----BEGIN CERTIFICATE-----\\nfoo\\nbar\\n-----END CERTIFICATE-----\n",
17
+ * }]});
18
+ * // SSH certificate
19
+ * const private_git_repository_ssh = new argocd.RepositoryCertificate("private-git-repository-ssh", {sshes: [{
20
+ * serverName: "private-git-repository.local",
21
+ * certSubtype: "ssh-rsa",
22
+ * certData: "AAAAB3NzaC1yc2EAAAADAQABAAABgQCiPZAufKgxwRgxP9qy2Gtub0FI8qJGtL8Ldb7KatBeRUQQPn8QK7ZYjzYDvP1GOutFMaQT0rKIqaGImIBsztNCno...\n",
23
+ * }]});
24
+ * ```
25
+ */
26
+ export declare class RepositoryCertificate extends pulumi.CustomResource {
27
+ /**
28
+ * Get an existing RepositoryCertificate resource's state with the given name, ID, and optional extra
29
+ * properties used to qualify the lookup.
30
+ *
31
+ * @param name The _unique_ name of the resulting resource.
32
+ * @param id The _unique_ provider ID of the resource to lookup.
33
+ * @param state Any extra arguments used during the lookup.
34
+ * @param opts Optional settings to control the behavior of the CustomResource.
35
+ */
36
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RepositoryCertificateState, opts?: pulumi.CustomResourceOptions): RepositoryCertificate;
37
+ /**
38
+ * Returns true if the given object is an instance of RepositoryCertificate. This is designed to work even
39
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
40
+ */
41
+ static isInstance(obj: any): obj is RepositoryCertificate;
42
+ /**
43
+ * HTTPS certificate configuration
44
+ */
45
+ readonly https: pulumi.Output<outputs.RepositoryCertificateHttp[] | undefined>;
46
+ /**
47
+ * SSH certificate configuration
48
+ */
49
+ readonly sshes: pulumi.Output<outputs.RepositoryCertificateSsh[] | undefined>;
50
+ /**
51
+ * Create a RepositoryCertificate resource with the given unique name, arguments, and options.
52
+ *
53
+ * @param name The _unique_ name of the resource.
54
+ * @param args The arguments to use to populate this resource's properties.
55
+ * @param opts A bag of options that control this resource's behavior.
56
+ */
57
+ constructor(name: string, args?: RepositoryCertificateArgs, opts?: pulumi.CustomResourceOptions);
58
+ }
59
+ /**
60
+ * Input properties used for looking up and filtering RepositoryCertificate resources.
61
+ */
62
+ export interface RepositoryCertificateState {
63
+ /**
64
+ * HTTPS certificate configuration
65
+ */
66
+ https?: pulumi.Input<pulumi.Input<inputs.RepositoryCertificateHttp>[]>;
67
+ /**
68
+ * SSH certificate configuration
69
+ */
70
+ sshes?: pulumi.Input<pulumi.Input<inputs.RepositoryCertificateSsh>[]>;
71
+ }
72
+ /**
73
+ * The set of arguments for constructing a RepositoryCertificate resource.
74
+ */
75
+ export interface RepositoryCertificateArgs {
76
+ /**
77
+ * HTTPS certificate configuration
78
+ */
79
+ https?: pulumi.Input<pulumi.Input<inputs.RepositoryCertificateHttp>[]>;
80
+ /**
81
+ * SSH certificate configuration
82
+ */
83
+ sshes?: pulumi.Input<pulumi.Input<inputs.RepositoryCertificateSsh>[]>;
84
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.RepositoryCertificate = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Manages [custom TLS certificates](https://argo-cd.readthedocs.io/en/stable/user-guide/private-repositories/#self-signed-untrusted-tls-certificates) used by ArgoCD for connecting Git repositories.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as argocd from "@three14/pulumi-argocd";
16
+ *
17
+ * // HTTPS certificate
18
+ * const private_git_repository_https = new argocd.RepositoryCertificate("private-git-repository-https", {https: [{
19
+ * serverName: "private-git-repository.local",
20
+ * certData: "-----BEGIN CERTIFICATE-----\\nfoo\\nbar\\n-----END CERTIFICATE-----\n",
21
+ * }]});
22
+ * // SSH certificate
23
+ * const private_git_repository_ssh = new argocd.RepositoryCertificate("private-git-repository-ssh", {sshes: [{
24
+ * serverName: "private-git-repository.local",
25
+ * certSubtype: "ssh-rsa",
26
+ * certData: "AAAAB3NzaC1yc2EAAAADAQABAAABgQCiPZAufKgxwRgxP9qy2Gtub0FI8qJGtL8Ldb7KatBeRUQQPn8QK7ZYjzYDvP1GOutFMaQT0rKIqaGImIBsztNCno...\n",
27
+ * }]});
28
+ * ```
29
+ */
30
+ class RepositoryCertificate extends pulumi.CustomResource {
31
+ /**
32
+ * Get an existing RepositoryCertificate resource's state with the given name, ID, and optional extra
33
+ * properties used to qualify the lookup.
34
+ *
35
+ * @param name The _unique_ name of the resulting resource.
36
+ * @param id The _unique_ provider ID of the resource to lookup.
37
+ * @param state Any extra arguments used during the lookup.
38
+ * @param opts Optional settings to control the behavior of the CustomResource.
39
+ */
40
+ static get(name, id, state, opts) {
41
+ return new RepositoryCertificate(name, state, { ...opts, id: id });
42
+ }
43
+ /**
44
+ * Returns true if the given object is an instance of RepositoryCertificate. This is designed to work even
45
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
46
+ */
47
+ static isInstance(obj) {
48
+ if (obj === undefined || obj === null) {
49
+ return false;
50
+ }
51
+ return obj['__pulumiType'] === RepositoryCertificate.__pulumiType;
52
+ }
53
+ constructor(name, argsOrState, opts) {
54
+ let resourceInputs = {};
55
+ opts = opts || {};
56
+ if (opts.id) {
57
+ const state = argsOrState;
58
+ resourceInputs["https"] = state?.https;
59
+ resourceInputs["sshes"] = state?.sshes;
60
+ }
61
+ else {
62
+ const args = argsOrState;
63
+ resourceInputs["https"] = args?.https;
64
+ resourceInputs["sshes"] = args?.sshes;
65
+ }
66
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
67
+ super(RepositoryCertificate.__pulumiType, name, resourceInputs, opts);
68
+ }
69
+ }
70
+ exports.RepositoryCertificate = RepositoryCertificate;
71
+ /** @internal */
72
+ RepositoryCertificate.__pulumiType = 'argocd:index/repositoryCertificate:RepositoryCertificate';
73
+ //# sourceMappingURL=repositoryCertificate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositoryCertificate.js","sourceRoot":"","sources":["../repositoryCertificate.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,qBAAsB,SAAQ,MAAM,CAAC,cAAc;IAC5D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAkC,EAAE,IAAmC;QAChI,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,qBAAqB,CAAC,YAAY,CAAC;IACtE,CAAC;IAmBD,YAAY,IAAY,EAAE,WAAoE,EAAE,IAAmC;QAC/H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAqD,CAAC;YACpE,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;SAC1C;aAAM;YACH,MAAM,IAAI,GAAG,WAAoD,CAAC;YAClE,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;SACzC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;;AA3DL,sDA4DC;AA9CG,gBAAgB;AACO,kCAAY,GAAG,0DAA0D,CAAC"}