@ydkn/pulumi-components 0.7.8 → 0.7.10

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,194 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as random from "@pulumi/random";
3
+ import * as k8s from "@pulumi/kubernetes";
4
+ import { ComponentResource } from "../common/index.js";
5
+ import * as kubernetes from "../kubernetes/index.js";
6
+ import { SecureIngress } from "../traefik/index.js";
7
+ export class Tenant extends ComponentResource {
8
+ helmRelease;
9
+ namespace;
10
+ region;
11
+ hostname;
12
+ adminUsername;
13
+ adminPassword;
14
+ users;
15
+ /**
16
+ * Create a new MinIO tenant resource.
17
+ * @param name The name of the MinIO tenant resource.
18
+ * @param args A bag of arguments to control the MinIO tenant creation.
19
+ * @param opts A bag of options that control this resource's behavior.
20
+ */
21
+ constructor(name, args, opts) {
22
+ super("minio:tenant", name, args, opts);
23
+ const emptyOpts = this.opts();
24
+ const k8sOpts = this.opts(k8s.Provider);
25
+ if (args.region === undefined) {
26
+ args.region = "minio";
27
+ }
28
+ this.adminUsername = pulumi.secret(new random.RandomPassword(`${name}-admin-username`, { length: 24, special: false }, emptyOpts).result);
29
+ this.adminPassword = pulumi.secret(new random.RandomPassword(`${name}-admin-password`, { length: 40, special: false }, emptyOpts).result);
30
+ this.namespace = args.namespace
31
+ ? pulumi.output(args.namespace)
32
+ : new k8s.core.v1.Namespace(name, { metadata: { name } }, k8sOpts).metadata.name;
33
+ const adminCredentialsSecret = `${name}-admin-credentials`;
34
+ this.region = pulumi.output(args.region);
35
+ this.hostname = pulumi
36
+ .all([args.apiIngress, this.namespace])
37
+ .apply(([apiIngress, ns]) => apiIngress?.host ?? `${name}.${ns}.svc`);
38
+ this.users = pulumi.all([args.users]).apply(([users]) => pulumi.all(users ?? []).apply((users) => {
39
+ const usersMap = {};
40
+ for (const user of users ?? []) {
41
+ const accessKey = pulumi.secret(new random.RandomPassword(`${name}-${user.name}-username`, { length: 24, special: false }, emptyOpts)
42
+ .result);
43
+ const secretKey = pulumi.secret(new random.RandomPassword(`${name}-${user.name}-password`, { length: 48, special: false }, emptyOpts)
44
+ .result);
45
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
46
+ const secret = new kubernetes.v1.Secret(`${name}-user-${user.name}`, {
47
+ metadata: { name: `${name}-user-${user.name}`, namespace: this.namespace },
48
+ stringData: {
49
+ CONSOLE_ACCESS_KEY: accessKey,
50
+ CONSOLE_SECRET_KEY: secretKey,
51
+ },
52
+ }, k8sOpts);
53
+ usersMap[user.name] = { accessKey, secretKey };
54
+ }
55
+ return usersMap;
56
+ }));
57
+ this.helmRelease = new kubernetes.helm.v3.Release(name, {
58
+ namespace: this.namespace,
59
+ repositoryOpts: { repo: "https://operator.min.io/" },
60
+ chart: "tenant",
61
+ values: {
62
+ fullnameOverride: name,
63
+ secrets: {
64
+ name: adminCredentialsSecret,
65
+ accessKey: this.adminUsername,
66
+ secretKey: this.adminPassword,
67
+ },
68
+ tenant: {
69
+ name,
70
+ configuration: { name: adminCredentialsSecret },
71
+ env: [
72
+ { name: "MINIO_STORAGE_CLASS_STANDARD", value: args.standardStorageClass ?? "EC:2" },
73
+ { name: "MINIO_STORAGE_CLASS_RRS", value: args.reducedStorageClass ?? "EC:1" },
74
+ { name: "MINIO_BROWSER", value: "on" },
75
+ { name: "MINIO_BROWSER_LOGIN_ANIMATION", value: "off" },
76
+ { name: "MINIO_BROWSER_REDIRECT", value: "false" },
77
+ { name: "MINIO_PROMETHEUS_AUTH_TYPE", value: "public" },
78
+ { name: "MINIO_PROMETHEUS_JOB_ID", value: "minio" },
79
+ { name: "MINIO_UPDATE", value: "off" },
80
+ { name: "MINIO_REGION", value: this.region },
81
+ { name: "MINIO_SERVER_URL", value: this.hostname.apply((hostname) => `https://${hostname}/`) },
82
+ ],
83
+ logging: {
84
+ anonymous: true,
85
+ json: true,
86
+ quiet: false,
87
+ },
88
+ pools: pulumi.all([args.pools]).apply(([pools]) => {
89
+ return pools.map((pool) => {
90
+ return {
91
+ name: pool.name,
92
+ servers: pool.servers,
93
+ volumesPerServer: pool.volumesPerServer ?? 1,
94
+ size: pool.size ?? "10Gi",
95
+ storageClassName: pool.storageClassName,
96
+ resources: pool.resources ?? args.resources,
97
+ affinity: {
98
+ podAntiAffinity: {
99
+ preferredDuringSchedulingIgnoredDuringExecution: [
100
+ {
101
+ weight: 100,
102
+ podAffinityTerm: {
103
+ labelSelector: {
104
+ matchExpressions: [{ key: "v1.min.io/tenant", operator: "In", values: [name] }],
105
+ },
106
+ topologyKey: "kubernetes.io/hostname",
107
+ },
108
+ },
109
+ ],
110
+ },
111
+ },
112
+ };
113
+ });
114
+ }),
115
+ features: {
116
+ domains: {
117
+ minio: pulumi
118
+ .all([args.domains])
119
+ .apply(([domains]) => (domains ?? []).map((domain) => `https://${domain}`)),
120
+ console: pulumi
121
+ .all([args.consoleIngress, this.hostname])
122
+ .apply(([consoleIngress, hostname]) => `https://${consoleIngress?.host ?? hostname}`),
123
+ },
124
+ },
125
+ buckets: pulumi.all([args.buckets]).apply(([buckets]) => pulumi.all(buckets ?? []).apply((buckets) => {
126
+ return buckets.map((bucket) => {
127
+ return {
128
+ name: bucket.name,
129
+ objectLock: bucket.objectLock ?? false,
130
+ };
131
+ });
132
+ })),
133
+ users: pulumi.all([args.users]).apply(([users]) => pulumi.all(users ?? []).apply((users) => {
134
+ return users.map((user) => {
135
+ return {
136
+ name: `${name}-user-${user.name}`,
137
+ };
138
+ });
139
+ })),
140
+ metrics: { enabled: false },
141
+ prometheusOperator: false,
142
+ certificate: {
143
+ requestAutoCert: true,
144
+ },
145
+ },
146
+ ingress: {
147
+ api: this.ingressValues(name, "api", args.apiIngress),
148
+ console: this.ingressValues(name, "console", args.consoleIngress),
149
+ },
150
+ },
151
+ }, k8sOpts);
152
+ pulumi.all([args.bucketsIngress]).apply(([bucketsIngress]) => {
153
+ if (bucketsIngress === undefined || bucketsIngress.hosts.length === 0) {
154
+ return;
155
+ }
156
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
157
+ const bucketsSecureIngress = new SecureIngress(`${name}-buckets`, {
158
+ metadata: { name: `${name}-buckets`, namespace: this.namespace, annotations: bucketsIngress.annotations },
159
+ spec: {
160
+ ingressClassName: bucketsIngress.ingressClassName,
161
+ rules: bucketsIngress.hosts.map((host) => {
162
+ return {
163
+ host: host,
164
+ http: {
165
+ paths: [{ path: "/", pathType: "Prefix", backend: { service: { name, port: { number: 443 } } } }],
166
+ },
167
+ };
168
+ }),
169
+ },
170
+ }, k8sOpts);
171
+ });
172
+ this.registerOutputs();
173
+ }
174
+ ingressValues(name, type, args) {
175
+ return pulumi.all([args]).apply(([args]) => {
176
+ if (args === undefined || args.enabled === undefined || args.enabled === false) {
177
+ return { enabled: false, host: "", tls: [] };
178
+ }
179
+ return {
180
+ enabled: true,
181
+ ingressClassName: args.ingressClassName,
182
+ annotations: {
183
+ "traefik.ingress.kubernetes.io/router.entrypoints": "websecure",
184
+ "traefik.ingress.kubernetes.io/router.tls": "true",
185
+ "cert-manager.io/cluster-issuer": "letsencrypt",
186
+ ...args.annotations,
187
+ },
188
+ host: args.host,
189
+ tls: [{ hosts: [args.host], secretName: `${name}-${type}-tls` }],
190
+ };
191
+ });
192
+ }
193
+ }
194
+ //# sourceMappingURL=tenant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../lib/minio/tenant.ts"],"names":[],"mappings":"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"}
@@ -162,29 +162,6 @@ export class MediaServer extends ComponentResource {
162
162
  },
163
163
  spec: {
164
164
  nodeSelector: args.nodeSelector,
165
- // BEGIN - TLS workaround
166
- initContainers: [
167
- {
168
- name: "pkcs12-reencrypt",
169
- image: "ubuntu:22.04",
170
- command: ["sh", "-c"],
171
- args: [
172
- [
173
- "apt update && apt install openssl -y",
174
- "openssl pkcs12 -legacy -in /tls/keystore.p12 -passin file:/pkcs12-password/password -noenc -out /tmp/temp.pem",
175
- "openssl pkcs12 -export -out /tls-tmp/keystore.p12 -passout file:/pkcs12-password/password -in /tmp/temp.pem",
176
- "rm -f /tmp/temp.pem",
177
- "chmod 644 /tls-tmp/keystore.p12",
178
- ].join(" && "),
179
- ],
180
- volumeMounts: [
181
- { name: "tls", mountPath: "/tls" },
182
- { name: "tls-tmp", mountPath: "/tls-tmp" },
183
- { name: "pkcs12-password", mountPath: "/pkcs12-password" },
184
- ],
185
- },
186
- ],
187
- // END - TLS workaround
188
165
  containers: [
189
166
  {
190
167
  name: "plex-media-server",
@@ -220,11 +197,10 @@ export class MediaServer extends ComponentResource {
220
197
  resources: args.resources,
221
198
  volumeMounts: pulumi.all([config]).apply(([config]) => {
222
199
  return config.volumeMounts.concat([
223
- // { name: "tls", mountPath: "/tls" },
200
+ { name: "tls", mountPath: "/tls" },
224
201
  { name: "config", mountPath: "/config" },
225
202
  { name: "transcode", mountPath: "/transcode" },
226
203
  { name: "backups", mountPath: "/backups" },
227
- { name: "tls-tmp", mountPath: "/tls" }, // TLS workaround
228
204
  ]);
229
205
  }),
230
206
  },
@@ -236,9 +212,6 @@ export class MediaServer extends ComponentResource {
236
212
  { name: "config", persistentVolumeClaim: { claimName: configVolumeClaimName } },
237
213
  { name: "transcode", emptyDir: {} },
238
214
  { name: "backups", emptyDir: {} },
239
- // TLS workaround
240
- { name: "tls-tmp", emptyDir: {} },
241
- { name: "pkcs12-password", secret: { secretName: this.certificatePassword.metadata.name } },
242
215
  ]);
243
216
  }),
244
217
  },
@@ -1 +1 @@
1
- {"version":3,"file":"mediaServer.js","sourceRoot":"","sources":["../../../lib/plex/mediaServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediaServer.js","sourceRoot":"","sources":["../../../lib/plex/mediaServer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ydkn/pulumi-components",
3
- "version": "0.7.8",
3
+ "version": "0.7.10",
4
4
  "keywords": [
5
5
  "pulumi"
6
6
  ],
@@ -16,32 +16,33 @@
16
16
  "devDependencies": {
17
17
  "@types/bcrypt": "^5.0.2",
18
18
  "@types/js-yaml": "^4.0.9",
19
- "@types/node": "^20.11.20",
20
- "@types/ssh2": "^1.11.19",
19
+ "@types/node": "^20.11.28",
20
+ "@types/ssh2": "^1.15.0",
21
21
  "@types/ssh2-sftp-client": "^9.0.3",
22
- "@typescript-eslint/eslint-plugin": "^7.0.2",
23
- "@typescript-eslint/parser": "^7.0.2",
22
+ "@typescript-eslint/eslint-plugin": "^7.2.0",
23
+ "@typescript-eslint/parser": "^7.2.0",
24
24
  "bcrypt": "^5.1.1",
25
25
  "copyfiles": "^2.4.1",
26
- "eslint": "^8.56.0",
26
+ "eslint": "^8.57.0",
27
27
  "eslint-config-prettier": "^9.1.0",
28
- "eslint-plugin-functional": "^6.0.1",
28
+ "eslint-plugin-functional": "^6.1.1",
29
29
  "eslint-plugin-import": "^2.29.1",
30
30
  "eslint-plugin-promise": "^6.1.1",
31
31
  "eslint-plugin-security": "^2.1.1",
32
32
  "prettier": "^3.2.5",
33
33
  "rimraf": "^5.0.5",
34
- "typescript": "^5.3.3"
34
+ "typescript": "^5.4.2"
35
35
  },
36
36
  "dependencies": {
37
- "@pulumi/aws": "^6.23.0",
38
- "@pulumi/cloudflare": "^5.21.0",
37
+ "@pulumi/aws": "^6.25.1",
38
+ "@pulumi/cloudflare": "^5.22.0",
39
+ "@pulumi/command": "^0.9.2",
39
40
  "@pulumi/gitlab": "^6.9.0",
40
- "@pulumi/hcloud": "^1.17.0",
41
- "@pulumi/kubernetes": "^4.8.0",
41
+ "@pulumi/hcloud": "^1.17.1",
42
+ "@pulumi/kubernetes": "^4.9.1",
42
43
  "@pulumi/mailgun": "^3.5.1",
43
- "@pulumi/pulumi": "^3.107.0",
44
- "@pulumi/random": "^4.15.1",
44
+ "@pulumi/pulumi": "^3.111.1",
45
+ "@pulumi/random": "^4.16.0",
45
46
  "@pulumi/tls": "^5.0.1",
46
47
  "@ydkn/pulumi-k0s": "^0.2.1",
47
48
  "glob": "^10.3.10",
@@ -50,7 +51,7 @@
50
51
  "ssh2": "^1.15.0",
51
52
  "ssh2-sftp-client": "^10.0.3",
52
53
  "template-file": "^6.0.1",
53
- "urllib": "^3.22.4"
54
+ "urllib": "^3.23.0"
54
55
  },
55
56
  "scripts": {
56
57
  "clean": "rimraf dist",
package/lib/ssh/exec.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import { ConnectionArgs } from "./types.js";
3
- export interface ExecArgs {
4
- connection: pulumi.Input<ConnectionArgs>;
5
- command: pulumi.Input<string>;
6
- changeToken?: pulumi.Input<string>;
7
- finishDelay?: pulumi.Input<number>;
8
- }
9
- export declare class Exec extends pulumi.dynamic.Resource {
10
- readonly exitCode: pulumi.Output<number>;
11
- readonly stdout: pulumi.Output<string>;
12
- readonly stderr: pulumi.Output<string>;
13
- /**
14
- * Create a new SSH exec resource.
15
- * @param name The name of the SSH exec resource.
16
- * @param args A bag of arguments to control the SSH exec creation.
17
- * @param opts A bag of options that control this resource's behavior.
18
- */
19
- constructor(name: string, args: ExecArgs, opts?: pulumi.ComponentResourceOptions);
20
- }
package/lib/ssh/exec.js DELETED
@@ -1,115 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as crypto from "crypto";
3
- import * as ssh from "ssh2";
4
- function sshCommand(connection, cmd, finishDelay) {
5
- const connectionRetryFactor = connection.retryBackoffFactor || 1.2;
6
- const initialDelay = connection.initialDelay || 0;
7
- let connectionFailCount = connection.retries || 10;
8
- let connectionRetryDelay = connection.retryIntialBackoff || 500;
9
- return new Promise((resolve, reject) => {
10
- const sshConnection = new ssh.Client();
11
- function retryFunc() {
12
- sshConnection
13
- .on("ready", () => {
14
- sshConnection.exec(cmd, (err, stream) => {
15
- if (err) {
16
- reject(err);
17
- return;
18
- }
19
- let stdout = "";
20
- let stderr = "";
21
- stream
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
23
- .on("close", (exitCode, signal) => {
24
- sshConnection.end();
25
- if (exitCode) {
26
- reject(new Error("Command exited with " + exitCode));
27
- }
28
- else {
29
- setTimeout(function () {
30
- resolve({ exitCode, stdout, stderr });
31
- }, finishDelay || 0);
32
- }
33
- })
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
- .on("data", (data) => {
36
- stdout += data.toString("utf8");
37
- })
38
- .stderr.on("data", (data) => {
39
- stderr += data.toString("utf8");
40
- });
41
- });
42
- })
43
- .on("error", (err) => {
44
- connectionFailCount--;
45
- connectionRetryDelay *= connectionRetryFactor;
46
- if (connectionFailCount < 0) {
47
- reject(err);
48
- }
49
- else {
50
- setTimeout(retryFunc, Math.round(connectionRetryDelay));
51
- }
52
- })
53
- .connect({
54
- host: connection.host,
55
- port: connection.port ?? 22,
56
- username: connection.username,
57
- password: connection.password,
58
- privateKey: connection.privateKey,
59
- passphrase: connection.privateKeyPassphrase,
60
- });
61
- }
62
- setTimeout(retryFunc, initialDelay);
63
- });
64
- }
65
- class ExecProvider {
66
- async diff(id, olds, news) {
67
- const replaces = [];
68
- for (const [nKey, nValue] of Object.entries(news)) {
69
- if (nKey === "__provider") {
70
- continue;
71
- }
72
- let keyFound = false;
73
- for (const [oKey, oValue] of Object.entries(olds)) {
74
- if (oKey === "__provider") {
75
- continue;
76
- }
77
- if (nKey === oKey) {
78
- keyFound = true;
79
- if (JSON.stringify(nValue) !== JSON.stringify(oValue)) {
80
- replaces.push(nKey);
81
- }
82
- }
83
- }
84
- if (!keyFound) {
85
- replaces.push(nKey);
86
- }
87
- }
88
- return { changes: replaces.length > 0, replaces, deleteBeforeReplace: true };
89
- }
90
- async create(inputs) {
91
- return sshCommand(inputs.connection, inputs.command, inputs.finishDelay).then((r) => {
92
- return {
93
- id: crypto.randomUUID(),
94
- outs: r.exitCode === 0
95
- ? { exitCode: r.exitCode, stdout: "", stderr: "", ...inputs }
96
- : { exitCode: r.exitCode, stdout: r.stdout, stderr: r.stderr, ...inputs },
97
- };
98
- });
99
- }
100
- }
101
- export class Exec extends pulumi.dynamic.Resource {
102
- exitCode;
103
- stdout;
104
- stderr;
105
- /**
106
- * Create a new SSH exec resource.
107
- * @param name The name of the SSH exec resource.
108
- * @param args A bag of arguments to control the SSH exec creation.
109
- * @param opts A bag of options that control this resource's behavior.
110
- */
111
- constructor(name, args, opts) {
112
- super(new ExecProvider(), name, { exitCode: undefined, stdout: undefined, stderr: undefined, ...args }, opts);
113
- }
114
- }
115
- //# sourceMappingURL=exec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../lib/ssh/exec.ts"],"names":[],"mappings":"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"}
package/lib/ssh/file.d.ts DELETED
@@ -1,24 +0,0 @@
1
- /// <reference types="node" />
2
- import * as pulumi from "@pulumi/pulumi";
3
- import { ConnectionArgs } from "./types.js";
4
- export interface FileSourceArgs {
5
- file?: pulumi.Input<string>;
6
- data?: pulumi.Input<string | Buffer>;
7
- }
8
- export interface FileArgs {
9
- connection: pulumi.Input<ConnectionArgs>;
10
- src: pulumi.Input<FileSourceArgs>;
11
- dst: pulumi.Input<string>;
12
- changeToken?: pulumi.Input<string>;
13
- }
14
- export declare class File extends pulumi.dynamic.Resource {
15
- /**
16
- * Create a new SSH file resource.
17
- * @param name The name of the SSH file resource.
18
- * @param args A bag of arguments to control the SSH file creation.
19
- * @param opts A bag of options that control this resource's behavior.
20
- */
21
- constructor(name: string, args: FileArgs, opts?: pulumi.CustomResourceOptions);
22
- static changeToken(str: string): string;
23
- static fileChangeToken(filename: string): string;
24
- }
package/lib/ssh/file.js DELETED
@@ -1,107 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import Sftp from "ssh2-sftp-client";
3
- import * as crypto from "crypto";
4
- import * as fs from "fs";
5
- function sshFileCreate(connection, dst, srcFile, srcData) {
6
- const connectionRetryFactor = connection.retryBackoffFactor || 1.2;
7
- const initialDelay = connection.initialDelay || 0;
8
- let connectionFailCount = connection.retries || 10;
9
- let connectionRetryDelay = connection.retryIntialBackoff || 500;
10
- return new Promise((resolve, reject) => {
11
- function retryFunc() {
12
- if (srcFile === undefined && srcData === undefined) {
13
- reject(new Error("Must provide either srcFile or srcData"));
14
- }
15
- const client = new Sftp();
16
- client
17
- .connect({
18
- host: connection.host,
19
- port: connection.port ?? 22,
20
- username: connection.username,
21
- password: connection.password,
22
- privateKey: connection.privateKey,
23
- passphrase: connection.privateKeyPassphrase,
24
- })
25
- .then(() => {
26
- if (srcFile !== undefined) {
27
- return client.put(srcFile, dst);
28
- }
29
- else {
30
- if (srcData instanceof Buffer) {
31
- return client.put(srcData, dst);
32
- }
33
- return client.put(Buffer.from(srcData), dst);
34
- }
35
- })
36
- .then(() => {
37
- client.end();
38
- resolve(true);
39
- })
40
- .catch((err) => {
41
- connectionFailCount--;
42
- connectionRetryDelay *= connectionRetryFactor;
43
- if (connectionFailCount < 0) {
44
- reject(err);
45
- }
46
- else {
47
- setTimeout(retryFunc, Math.round(connectionRetryDelay));
48
- }
49
- });
50
- }
51
- setTimeout(retryFunc, initialDelay);
52
- });
53
- }
54
- class FileProvider {
55
- async diff(id, olds, news) {
56
- const replaces = [];
57
- for (const [nKey, nValue] of Object.entries(news)) {
58
- if (nKey === "__provider") {
59
- continue;
60
- }
61
- let keyFound = false;
62
- for (const [oKey, oValue] of Object.entries(olds)) {
63
- if (oKey === "__provider") {
64
- continue;
65
- }
66
- if (nKey === oKey) {
67
- keyFound = true;
68
- if (JSON.stringify(nValue) !== JSON.stringify(oValue)) {
69
- replaces.push(nKey);
70
- }
71
- }
72
- }
73
- if (!keyFound) {
74
- replaces.push(nKey);
75
- }
76
- }
77
- return { changes: replaces.length > 0, replaces, deleteBeforeReplace: true };
78
- }
79
- async create(inputs) {
80
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
81
- return sshFileCreate(inputs.connection, inputs.dst, inputs.src.file, inputs.src.data).then((r) => {
82
- return {
83
- id: crypto.randomUUID(),
84
- outs: inputs,
85
- };
86
- });
87
- }
88
- }
89
- export class File extends pulumi.dynamic.Resource {
90
- /**
91
- * Create a new SSH file resource.
92
- * @param name The name of the SSH file resource.
93
- * @param args A bag of arguments to control the SSH file creation.
94
- * @param opts A bag of options that control this resource's behavior.
95
- */
96
- constructor(name, args, opts) {
97
- super(new FileProvider(), name, args, opts);
98
- }
99
- static changeToken(str) {
100
- return crypto.createHash("sha1").update(str, "utf8").digest("hex");
101
- }
102
- static fileChangeToken(filename) {
103
- // eslint-disable-next-line security/detect-non-literal-fs-filename
104
- return this.changeToken(fs.readFileSync(filename, "utf-8"));
105
- }
106
- }
107
- //# sourceMappingURL=file.js.map