pulumi-namecheap 2.2.0

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/README.md ADDED
@@ -0,0 +1,3 @@
1
+ > This provider is a derived work of the [Terraform Provider](https://github.com/namecheap/terraform-provider-namecheap)
2
+ > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,
3
+ > please consult the source [`terraform-provider-namecheap` repo](https://github.com/namecheap/terraform-provider-namecheap/issues).
@@ -0,0 +1,37 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esm = (fn, res) => function() {
9
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
+ };
11
+ var __commonJS = (cb, mod) => function() {
12
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
13
+ };
14
+ var __export = (target, all) => {
15
+ for (var name in all) __defProp(target, name, {
16
+ get: all[name],
17
+ enumerable: true
18
+ });
19
+ };
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
22
+ key = keys[i];
23
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
24
+ get: ((k) => from[k]).bind(null, key),
25
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
26
+ });
27
+ }
28
+ return to;
29
+ };
30
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
31
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
32
+ value: mod,
33
+ enumerable: true
34
+ }) : target, mod));
35
+
36
+ //#endregion
37
+ export { __commonJS, __esm, __export, __reExport, __toESM };
@@ -0,0 +1,8 @@
1
+ import { apiKey, apiUser, clientIp, useSandbox, userName } from "./vars.mjs";
2
+
3
+ //#region config/index.d.ts
4
+ declare namespace index_d_exports {
5
+ export { apiKey, apiUser, clientIp, useSandbox, userName };
6
+ }
7
+ //#endregion
8
+ export { index_d_exports };
@@ -0,0 +1,9 @@
1
+ import { __reExport, __toESM } from "../_virtual/rolldown_runtime.mjs";
2
+ import { require_vars } from "./vars.mjs";
3
+
4
+ //#region config/index.ts
5
+ var config_exports = {};
6
+ __reExport(config_exports, /* @__PURE__ */ __toESM(require_vars()));
7
+
8
+ //#endregion
9
+ export { config_exports };
@@ -0,0 +1,23 @@
1
+ //#region config/vars.d.ts
2
+ /**
3
+ * The namecheap API key
4
+ */
5
+ declare const apiKey: string | undefined;
6
+ /**
7
+ * A registered api user for namecheap
8
+ */
9
+ declare const apiUser: string | undefined;
10
+ /**
11
+ * Client IP address
12
+ */
13
+ declare const clientIp: string | undefined;
14
+ /**
15
+ * Use sandbox API endpoints
16
+ */
17
+ declare const useSandbox: boolean | undefined;
18
+ /**
19
+ * A registered user name for namecheap
20
+ */
21
+ declare const userName: string | undefined;
22
+ //#endregion
23
+ export { apiKey, apiUser, clientIp, useSandbox, userName };
@@ -0,0 +1,42 @@
1
+ import { __commonJS } from "../_virtual/rolldown_runtime.mjs";
2
+ import * as pulumi from "@pulumi/pulumi";
3
+
4
+ //#region config/vars.ts
5
+ var require_vars = /* @__PURE__ */ __commonJS({ "config/vars.ts": ((exports) => {
6
+ const __config = new pulumi.Config("namecheap");
7
+ Object.defineProperty(exports, "apiKey", {
8
+ get() {
9
+ return __config.get("apiKey");
10
+ },
11
+ enumerable: true
12
+ });
13
+ Object.defineProperty(exports, "apiUser", {
14
+ get() {
15
+ return __config.get("apiUser");
16
+ },
17
+ enumerable: true
18
+ });
19
+ Object.defineProperty(exports, "clientIp", {
20
+ get() {
21
+ return __config.get("clientIp");
22
+ },
23
+ enumerable: true
24
+ });
25
+ Object.defineProperty(exports, "useSandbox", {
26
+ get() {
27
+ return __config.getObject("useSandbox");
28
+ },
29
+ enumerable: true
30
+ });
31
+ Object.defineProperty(exports, "userName", {
32
+ get() {
33
+ return __config.get("userName");
34
+ },
35
+ enumerable: true
36
+ });
37
+ }) });
38
+
39
+ //#endregion
40
+ export default require_vars();
41
+
42
+ export { require_vars };
@@ -0,0 +1,89 @@
1
+ import { DomainRecordsRecord } from "./types/input.mjs";
2
+ import { DomainRecordsRecord as DomainRecordsRecord$1 } from "./types/output.mjs";
3
+ import * as pulumi from "@pulumi/pulumi";
4
+
5
+ //#region domainRecords.d.ts
6
+ declare class DomainRecords extends pulumi.CustomResource {
7
+ /**
8
+ * Get an existing DomainRecords resource's state with the given name, ID, and optional extra
9
+ * properties used to qualify the lookup.
10
+ *
11
+ * @param name The _unique_ name of the resulting resource.
12
+ * @param id The _unique_ provider ID of the resource to lookup.
13
+ * @param state Any extra arguments used during the lookup.
14
+ * @param opts Optional settings to control the behavior of the CustomResource.
15
+ */
16
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DomainRecordsState, opts?: pulumi.CustomResourceOptions): DomainRecords;
17
+ /** @internal */
18
+ static readonly __pulumiType: string;
19
+ /**
20
+ * Returns true if the given object is an instance of DomainRecords. This is designed to work even
21
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
22
+ */
23
+ static isInstance(obj: any): obj is DomainRecords;
24
+ /**
25
+ * Purchased available domain name on your account
26
+ */
27
+ readonly domain!: pulumi.Output<string>;
28
+ readonly domainRecordsId!: pulumi.Output<string>;
29
+ /**
30
+ * Possible values: NONE, MXE, MX, FWD, OX, GMAIL
31
+ */
32
+ readonly emailType!: pulumi.Output<string | undefined>;
33
+ /**
34
+ * Possible values: MERGE (default), OVERWRITE
35
+ */
36
+ readonly mode!: pulumi.Output<string | undefined>;
37
+ readonly nameservers!: pulumi.Output<string[] | undefined>;
38
+ readonly records!: pulumi.Output<DomainRecordsRecord$1[] | undefined>;
39
+ /**
40
+ * Create a DomainRecords resource with the given unique name, arguments, and options.
41
+ *
42
+ * @param name The _unique_ name of the resource.
43
+ * @param args The arguments to use to populate this resource's properties.
44
+ * @param opts A bag of options that control this resource's behavior.
45
+ */
46
+ constructor(name: string, args: DomainRecordsArgs, opts?: pulumi.CustomResourceOptions);
47
+ }
48
+ /**
49
+ * Input properties used for looking up and filtering DomainRecords resources.
50
+ */
51
+ interface DomainRecordsState {
52
+ /**
53
+ * Purchased available domain name on your account
54
+ */
55
+ domain?: pulumi.Input<string>;
56
+ domainRecordsId?: pulumi.Input<string>;
57
+ /**
58
+ * Possible values: NONE, MXE, MX, FWD, OX, GMAIL
59
+ */
60
+ emailType?: pulumi.Input<string>;
61
+ /**
62
+ * Possible values: MERGE (default), OVERWRITE
63
+ */
64
+ mode?: pulumi.Input<string>;
65
+ nameservers?: pulumi.Input<pulumi.Input<string>[]>;
66
+ records?: pulumi.Input<pulumi.Input<DomainRecordsRecord>[]>;
67
+ }
68
+ /**
69
+ * The set of arguments for constructing a DomainRecords resource.
70
+ */
71
+ interface DomainRecordsArgs {
72
+ /**
73
+ * Purchased available domain name on your account
74
+ */
75
+ domain: pulumi.Input<string>;
76
+ domainRecordsId?: pulumi.Input<string>;
77
+ /**
78
+ * Possible values: NONE, MXE, MX, FWD, OX, GMAIL
79
+ */
80
+ emailType?: pulumi.Input<string>;
81
+ /**
82
+ * Possible values: MERGE (default), OVERWRITE
83
+ */
84
+ mode?: pulumi.Input<string>;
85
+ nameservers?: pulumi.Input<pulumi.Input<string>[]>;
86
+ records?: pulumi.Input<pulumi.Input<DomainRecordsRecord>[]>;
87
+ }
88
+ //#endregion
89
+ export { DomainRecords, DomainRecordsArgs, DomainRecordsState };
@@ -0,0 +1,81 @@
1
+ import { __esm, __export } from "./_virtual/rolldown_runtime.mjs";
2
+ import { getPackage, init_utilities, resourceOptsDefaults } from "./utilities.mjs";
3
+ import * as pulumi from "@pulumi/pulumi";
4
+
5
+ //#region domainRecords.ts
6
+ var domainRecords_exports = {};
7
+ __export(domainRecords_exports, { DomainRecords: () => DomainRecords });
8
+ var DomainRecords;
9
+ var init_domainRecords = __esm({ "domainRecords.ts": (() => {
10
+ init_utilities();
11
+ DomainRecords = class DomainRecords extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing DomainRecords resource's state with the given name, ID, and optional extra
14
+ * properties used to qualify the lookup.
15
+ *
16
+ * @param name The _unique_ name of the resulting resource.
17
+ * @param id The _unique_ provider ID of the resource to lookup.
18
+ * @param state Any extra arguments used during the lookup.
19
+ * @param opts Optional settings to control the behavior of the CustomResource.
20
+ */
21
+ static get(name, id, state, opts) {
22
+ return new DomainRecords(name, state, {
23
+ ...opts,
24
+ id
25
+ });
26
+ }
27
+ /** @internal */
28
+ static __pulumiType = "namecheap:index/domainRecords:DomainRecords";
29
+ /**
30
+ * Returns true if the given object is an instance of DomainRecords. This is designed to work even
31
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
32
+ */
33
+ static isInstance(obj) {
34
+ if (obj === void 0 || obj === null) return false;
35
+ return obj["__pulumiType"] === DomainRecords.__pulumiType;
36
+ }
37
+ /**
38
+ * Purchased available domain name on your account
39
+ */
40
+ domain;
41
+ domainRecordsId;
42
+ /**
43
+ * Possible values: NONE, MXE, MX, FWD, OX, GMAIL
44
+ */
45
+ emailType;
46
+ /**
47
+ * Possible values: MERGE (default), OVERWRITE
48
+ */
49
+ mode;
50
+ nameservers;
51
+ records;
52
+ constructor(name, argsOrState, opts) {
53
+ let resourceInputs = {};
54
+ opts = opts || {};
55
+ if (opts.id) {
56
+ const state = argsOrState;
57
+ resourceInputs["domain"] = state ? state.domain : void 0;
58
+ resourceInputs["domainRecordsId"] = state ? state.domainRecordsId : void 0;
59
+ resourceInputs["emailType"] = state ? state.emailType : void 0;
60
+ resourceInputs["mode"] = state ? state.mode : void 0;
61
+ resourceInputs["nameservers"] = state ? state.nameservers : void 0;
62
+ resourceInputs["records"] = state ? state.records : void 0;
63
+ } else {
64
+ const args = argsOrState;
65
+ if ((!args || args.domain === void 0) && !opts.urn) throw new Error("Missing required property 'domain'");
66
+ resourceInputs["domain"] = args ? args.domain : void 0;
67
+ resourceInputs["domainRecordsId"] = args ? args.domainRecordsId : void 0;
68
+ resourceInputs["emailType"] = args ? args.emailType : void 0;
69
+ resourceInputs["mode"] = args ? args.mode : void 0;
70
+ resourceInputs["nameservers"] = args ? args.nameservers : void 0;
71
+ resourceInputs["records"] = args ? args.records : void 0;
72
+ }
73
+ opts = pulumi.mergeOptions(resourceOptsDefaults(), opts);
74
+ super(DomainRecords.__pulumiType, name, resourceInputs, opts, false, getPackage());
75
+ }
76
+ };
77
+ }) });
78
+
79
+ //#endregion
80
+ init_domainRecords();
81
+ export { domainRecords_exports, init_domainRecords };
@@ -0,0 +1,14 @@
1
+ import { DomainRecords, DomainRecordsArgs, DomainRecordsState } from "./domainRecords.mjs";
2
+ import { Provider, ProviderArgs } from "./provider.mjs";
3
+ import { index_d_exports } from "./config/index.mjs";
4
+ import { index_d_exports as index_d_exports$1 } from "./types/index.mjs";
5
+
6
+ //#region index.d.ts
7
+ type DomainRecords$1 = DomainRecords;
8
+ declare const DomainRecords$1: typeof DomainRecords;
9
+ type Provider$1 = Provider;
10
+ declare const Provider$1: typeof Provider;
11
+ // Export sub-modules:
12
+
13
+ //#endregion
14
+ export { DomainRecords$1 as DomainRecords, DomainRecordsArgs, DomainRecordsState, Provider$1 as Provider, ProviderArgs, index_d_exports as config, index_d_exports$1 as types };
package/bin/index.mjs ADDED
@@ -0,0 +1,35 @@
1
+ import { getVersion, init_utilities, lazyLoad } from "./utilities.mjs";
2
+ import { domainRecords_exports, init_domainRecords } from "./domainRecords.mjs";
3
+ import { init_provider, provider_exports } from "./provider.mjs";
4
+ import { config_exports } from "./config/index.mjs";
5
+ import { types_exports } from "./types/index.mjs";
6
+ import * as pulumi from "@pulumi/pulumi";
7
+
8
+ //#region index.ts
9
+ init_utilities();
10
+ init_domainRecords();
11
+ init_provider();
12
+ const DomainRecords = null;
13
+ lazyLoad(exports, ["DomainRecords"], () => init_domainRecords());
14
+ const Provider = null;
15
+ lazyLoad(exports, ["Provider"], () => init_provider());
16
+ const _module = {
17
+ version: getVersion(),
18
+ construct: (name, type, urn) => {
19
+ switch (type) {
20
+ case "namecheap:index/domainRecords:DomainRecords": return new DomainRecords(name, void 0, { urn });
21
+ default: throw new Error(`unknown resource type ${type}`);
22
+ }
23
+ }
24
+ };
25
+ pulumi.runtime.registerResourceModule("namecheap", "index/domainRecords", _module);
26
+ pulumi.runtime.registerResourcePackage("namecheap", {
27
+ version: getVersion(),
28
+ constructProvider: (name, type, urn) => {
29
+ if (type !== "pulumi:providers:namecheap") throw new Error(`unknown provider type ${type}`);
30
+ return new Provider(name, void 0, { urn });
31
+ }
32
+ });
33
+
34
+ //#endregion
35
+ export { DomainRecords, DomainRecordsArgs, DomainRecordsState, Provider, ProviderArgs, config_exports as config, types_exports as types };
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "pulumi-namecheap",
3
+ "description": "A Pulumi provider dynamically bridged from namecheap.",
4
+ "version": "2.2.0",
5
+ "homepage": "https://github.com/hckhanh/pulumi-any-terraform",
6
+ "repository": "https://github.com/hckhanh/pulumi-any-terraform.git",
7
+ "private": false,
8
+ "main": "./bin/index.mjs",
9
+ "module": "./bin/index.mjs",
10
+ "types": "./bin/index.d.mts",
11
+ "exports": {
12
+ ".": "./bin/index.mjs",
13
+ "./package.json": "./package.json"
14
+ },
15
+ "dependencies": {
16
+ "async-mutex": "0.5.0"
17
+ },
18
+ "devDependencies": {
19
+ "@pulumi/pulumi": "3.188.0",
20
+ "@types/node": "22.17.1",
21
+ "@typescript/native-preview": "7.0.0-dev.20250802.1",
22
+ "tsdown": "0.13.2",
23
+ "typescript": "5.9.2"
24
+ },
25
+ "peerDependencies": {
26
+ "@pulumi/pulumi": ">=3.188.0"
27
+ },
28
+ "files": [
29
+ "bin",
30
+ "README.md"
31
+ ],
32
+ "pulumi": {
33
+ "resource": true,
34
+ "name": "terraform-provider",
35
+ "version": "0.8.0",
36
+ "parameterization": {
37
+ "name": "namecheap",
38
+ "version": "2.2.0",
39
+ "value": "eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL25hbWVjaGVhcC9uYW1lY2hlYXAiLCJ2ZXJzaW9uIjoiMi4yLjAifX0="
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,45 @@
1
+ import { __commonJS } from "./_virtual/rolldown_runtime.mjs";
2
+
3
+ //#region package.json
4
+ var require_package = /* @__PURE__ */ __commonJS({ "package.json": ((exports, module) => {
5
+ module.exports = {
6
+ "name": "pulumi-namecheap",
7
+ "description": "A Pulumi provider dynamically bridged from namecheap.",
8
+ "version": "2.2.0",
9
+ "homepage": "https://github.com/hckhanh/pulumi-any-terraform",
10
+ "repository": "https://github.com/hckhanh/pulumi-any-terraform.git",
11
+ "private": false,
12
+ "main": "./bin/index.mjs",
13
+ "module": "./bin/index.mjs",
14
+ "types": "./bin/index.d.mts",
15
+ "exports": {
16
+ ".": "./bin/index.mjs",
17
+ "./package.json": "./package.json"
18
+ },
19
+ "dependencies": { "async-mutex": "0.5.0" },
20
+ "devDependencies": {
21
+ "@pulumi/pulumi": "3.188.0",
22
+ "@types/node": "22.17.1",
23
+ "@typescript/native-preview": "7.0.0-dev.20250802.1",
24
+ "tsdown": "0.13.2",
25
+ "typescript": "5.9.2"
26
+ },
27
+ "peerDependencies": { "@pulumi/pulumi": ">=3.188.0" },
28
+ "files": ["bin", "README.md"],
29
+ "pulumi": {
30
+ "resource": true,
31
+ "name": "terraform-provider",
32
+ "version": "0.8.0",
33
+ "parameterization": {
34
+ "name": "namecheap",
35
+ "version": "2.2.0",
36
+ "value": "eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL25hbWVjaGVhcC9uYW1lY2hlYXAiLCJ2ZXJzaW9uIjoiMi4yLjAifX0="
37
+ }
38
+ }
39
+ };
40
+ }) });
41
+
42
+ //#endregion
43
+ export default require_package();
44
+
45
+ export { require_package };
@@ -0,0 +1,70 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+
3
+ //#region provider.d.ts
4
+
5
+ /**
6
+ * The provider type for the namecheap package. By default, resources use package-wide configuration
7
+ * settings, however an explicit `Provider` instance may be created and passed during resource
8
+ * construction to achieve fine-grained programmatic control over provider settings. See the
9
+ * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
10
+ */
11
+ declare class Provider extends pulumi.ProviderResource {
12
+ /** @internal */
13
+ static readonly __pulumiType: string;
14
+ /**
15
+ * Returns true if the given object is an instance of Provider. This is designed to work even
16
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
17
+ */
18
+ static isInstance(obj: any): obj is Provider;
19
+ /**
20
+ * The namecheap API key
21
+ */
22
+ readonly apiKey!: pulumi.Output<string>;
23
+ /**
24
+ * A registered api user for namecheap
25
+ */
26
+ readonly apiUser!: pulumi.Output<string>;
27
+ /**
28
+ * Client IP address
29
+ */
30
+ readonly clientIp!: pulumi.Output<string | undefined>;
31
+ /**
32
+ * A registered user name for namecheap
33
+ */
34
+ readonly userName!: pulumi.Output<string>;
35
+ /**
36
+ * Create a Provider resource with the given unique name, arguments, and options.
37
+ *
38
+ * @param name The _unique_ name of the resource.
39
+ * @param args The arguments to use to populate this resource's properties.
40
+ * @param opts A bag of options that control this resource's behavior.
41
+ */
42
+ constructor(name: string, args: ProviderArgs, opts?: pulumi.ResourceOptions);
43
+ }
44
+ /**
45
+ * The set of arguments for constructing a Provider resource.
46
+ */
47
+ interface ProviderArgs {
48
+ /**
49
+ * The namecheap API key
50
+ */
51
+ apiKey: pulumi.Input<string>;
52
+ /**
53
+ * A registered api user for namecheap
54
+ */
55
+ apiUser: pulumi.Input<string>;
56
+ /**
57
+ * Client IP address
58
+ */
59
+ clientIp?: pulumi.Input<string>;
60
+ /**
61
+ * Use sandbox API endpoints
62
+ */
63
+ useSandbox?: pulumi.Input<boolean>;
64
+ /**
65
+ * A registered user name for namecheap
66
+ */
67
+ userName: pulumi.Input<string>;
68
+ }
69
+ //#endregion
70
+ export { Provider, ProviderArgs };
@@ -0,0 +1,64 @@
1
+ import { __esm, __export } from "./_virtual/rolldown_runtime.mjs";
2
+ import { getPackage, init_utilities, resourceOptsDefaults } from "./utilities.mjs";
3
+ import * as pulumi from "@pulumi/pulumi";
4
+
5
+ //#region provider.ts
6
+ var provider_exports = {};
7
+ __export(provider_exports, { Provider: () => Provider });
8
+ var Provider;
9
+ var init_provider = __esm({ "provider.ts": (() => {
10
+ init_utilities();
11
+ Provider = class Provider extends pulumi.ProviderResource {
12
+ /** @internal */
13
+ static __pulumiType = "namecheap";
14
+ /**
15
+ * Returns true if the given object is an instance of Provider. This is designed to work even
16
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
17
+ */
18
+ static isInstance(obj) {
19
+ if (obj === void 0 || obj === null) return false;
20
+ return obj["__pulumiType"] === "pulumi:providers:" + Provider.__pulumiType;
21
+ }
22
+ /**
23
+ * The namecheap API key
24
+ */
25
+ apiKey;
26
+ /**
27
+ * A registered api user for namecheap
28
+ */
29
+ apiUser;
30
+ /**
31
+ * Client IP address
32
+ */
33
+ clientIp;
34
+ /**
35
+ * A registered user name for namecheap
36
+ */
37
+ userName;
38
+ /**
39
+ * Create a Provider resource with the given unique name, arguments, and options.
40
+ *
41
+ * @param name The _unique_ name of the resource.
42
+ * @param args The arguments to use to populate this resource's properties.
43
+ * @param opts A bag of options that control this resource's behavior.
44
+ */
45
+ constructor(name, args, opts) {
46
+ let resourceInputs = {};
47
+ opts = opts || {};
48
+ if ((!args || args.apiKey === void 0) && !opts.urn) throw new Error("Missing required property 'apiKey'");
49
+ if ((!args || args.apiUser === void 0) && !opts.urn) throw new Error("Missing required property 'apiUser'");
50
+ if ((!args || args.userName === void 0) && !opts.urn) throw new Error("Missing required property 'userName'");
51
+ resourceInputs["apiKey"] = args ? args.apiKey : void 0;
52
+ resourceInputs["apiUser"] = args ? args.apiUser : void 0;
53
+ resourceInputs["clientIp"] = args ? args.clientIp : void 0;
54
+ resourceInputs["useSandbox"] = pulumi.output(args ? args.useSandbox : void 0).apply(JSON.stringify);
55
+ resourceInputs["userName"] = args ? args.userName : void 0;
56
+ opts = pulumi.mergeOptions(resourceOptsDefaults(), opts);
57
+ super(Provider.__pulumiType, name, resourceInputs, opts, false, getPackage());
58
+ }
59
+ };
60
+ }) });
61
+
62
+ //#endregion
63
+ init_provider();
64
+ export { init_provider, provider_exports };
@@ -0,0 +1,9 @@
1
+ import { input_d_exports } from "./input.mjs";
2
+ import { output_d_exports } from "./output.mjs";
3
+
4
+ //#region types/index.d.ts
5
+ declare namespace index_d_exports {
6
+ export { input_d_exports as input, output_d_exports as output };
7
+ }
8
+ //#endregion
9
+ export { index_d_exports };
@@ -0,0 +1,13 @@
1
+ import { __export } from "../_virtual/rolldown_runtime.mjs";
2
+ import { input_exports } from "./input.mjs";
3
+ import { output_exports } from "./output.mjs";
4
+
5
+ //#region types/index.ts
6
+ var types_exports = {};
7
+ __export(types_exports, {
8
+ input: () => input_exports,
9
+ output: () => output_exports
10
+ });
11
+
12
+ //#endregion
13
+ export { types_exports };
@@ -0,0 +1,30 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+
3
+ //#region types/input.d.ts
4
+ declare namespace input_d_exports {
5
+ export { DomainRecordsRecord };
6
+ }
7
+ interface DomainRecordsRecord {
8
+ /**
9
+ * Possible values are URL or IP address. The value for this parameter is based on record type
10
+ */
11
+ address: pulumi.Input<string>;
12
+ /**
13
+ * Sub-domain/hostname to create the record for
14
+ */
15
+ hostname: pulumi.Input<string>;
16
+ /**
17
+ * MX preference for host. Applicable for MX records only
18
+ */
19
+ mxPref?: pulumi.Input<number>;
20
+ /**
21
+ * Time to live for all record types. Possible values: any value between 60 to 60000
22
+ */
23
+ ttl?: pulumi.Input<number>;
24
+ /**
25
+ * Possible values: A, AAAA, ALIAS, CAA, CNAME, MX, MXE, NS, TXT, URL, URL301, FRAME
26
+ */
27
+ type: pulumi.Input<string>;
28
+ }
29
+ //#endregion
30
+ export { DomainRecordsRecord, input_d_exports };
@@ -0,0 +1,5 @@
1
+ //#region types/input.ts
2
+ var input_exports = {};
3
+
4
+ //#endregion
5
+ export { input_exports };
@@ -0,0 +1,27 @@
1
+ declare namespace output_d_exports {
2
+ export { DomainRecordsRecord };
3
+ }
4
+ interface DomainRecordsRecord {
5
+ /**
6
+ * Possible values are URL or IP address. The value for this parameter is based on record type
7
+ */
8
+ address: string;
9
+ /**
10
+ * Sub-domain/hostname to create the record for
11
+ */
12
+ hostname: string;
13
+ /**
14
+ * MX preference for host. Applicable for MX records only
15
+ */
16
+ mxPref?: number;
17
+ /**
18
+ * Time to live for all record types. Possible values: any value between 60 to 60000
19
+ */
20
+ ttl?: number;
21
+ /**
22
+ * Possible values: A, AAAA, ALIAS, CAA, CNAME, MX, MXE, NS, TXT, URL, URL301, FRAME
23
+ */
24
+ type: string;
25
+ }
26
+ //#endregion
27
+ export { DomainRecordsRecord, output_d_exports };
@@ -0,0 +1,5 @@
1
+ //#region types/output.ts
2
+ var output_exports = {};
3
+
4
+ //#endregion
5
+ export { output_exports };
@@ -0,0 +1,61 @@
1
+ import { __esm } from "./_virtual/rolldown_runtime.mjs";
2
+ import { require_package } from "./package.mjs";
3
+ import * as resproto from "@pulumi/pulumi/proto/resource_pb";
4
+ import * as mutex from "async-mutex";
5
+ import * as runtime from "@pulumi/pulumi/runtime";
6
+
7
+ //#region utilities.ts
8
+ function getVersion() {
9
+ let version = require_package().version;
10
+ if (version.indexOf("v") === 0) version = version.slice(1);
11
+ return version;
12
+ }
13
+ /** @internal */
14
+ function resourceOptsDefaults() {
15
+ return { version: getVersion() };
16
+ }
17
+ /** @internal */
18
+ function lazyLoad(exports, props, loadModule) {
19
+ for (let property of props) Object.defineProperty(exports, property, {
20
+ enumerable: true,
21
+ get: function() {
22
+ return loadModule()[property];
23
+ }
24
+ });
25
+ }
26
+ async function getPackage() {
27
+ if (_packageRef === void 0) {
28
+ if (!runtime.supportsParameterization()) throw new Error("The Pulumi CLI does not support parameterization. Please update the Pulumi CLI");
29
+ await _packageLock.acquire();
30
+ if (_packageRef === void 0) {
31
+ const monitor = runtime.getMonitor();
32
+ const params = new resproto.Parameterization();
33
+ params.setName("namecheap");
34
+ params.setVersion("2.2.0");
35
+ params.setValue(Uint8Array.from(atob("eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL25hbWVjaGVhcC9uYW1lY2hlYXAiLCJ2ZXJzaW9uIjoiMi4yLjAifX0="), (c) => c.charCodeAt(0)));
36
+ const req = new resproto.RegisterPackageRequest();
37
+ req.setName("terraform-provider");
38
+ req.setVersion("0.8.0");
39
+ req.setDownloadUrl("");
40
+ req.setParameterization(params);
41
+ const resp = await new Promise((resolve, reject) => {
42
+ monitor.registerPackage(req, (err, resp$1) => {
43
+ if (err) reject(err);
44
+ else resolve(resp$1);
45
+ });
46
+ });
47
+ _packageRef = resp.getRef();
48
+ }
49
+ _packageLock.release();
50
+ }
51
+ return _packageRef;
52
+ }
53
+ var _packageLock, _packageRef;
54
+ var init_utilities = __esm({ "utilities.ts": (() => {
55
+ _packageLock = new mutex.Mutex();
56
+ _packageRef = void 0;
57
+ }) });
58
+
59
+ //#endregion
60
+ init_utilities();
61
+ export { getPackage, getVersion, init_utilities, lazyLoad, resourceOptsDefaults };
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "pulumi-namecheap",
3
+ "description": "A Pulumi provider dynamically bridged from namecheap.",
4
+ "version": "2.2.0",
5
+ "homepage": "https://github.com/hckhanh/pulumi-any-terraform",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/hckhanh/pulumi-any-terraform.git",
9
+ "directory": "packages/namecheap"
10
+ },
11
+ "private": false,
12
+ "main": "./bin/index.mjs",
13
+ "module": "./bin/index.mjs",
14
+ "types": "./bin/index.d.mts",
15
+ "exports": {
16
+ ".": "./bin/index.mjs",
17
+ "./package.json": "./package.json"
18
+ },
19
+ "dependencies": {
20
+ "async-mutex": "0.5.0"
21
+ },
22
+ "devDependencies": {
23
+ "@pulumi/pulumi": "3.188.0",
24
+ "@types/node": "22.17.1",
25
+ "@typescript/native-preview": "7.0.0-dev.20250802.1",
26
+ "tsdown": "0.13.2",
27
+ "typescript": "5.9.2"
28
+ },
29
+ "peerDependencies": {
30
+ "@pulumi/pulumi": ">=3.188.0"
31
+ },
32
+ "files": [
33
+ "bin",
34
+ "README.md"
35
+ ],
36
+ "pulumi": {
37
+ "resource": true,
38
+ "name": "terraform-provider",
39
+ "version": "0.8.0",
40
+ "parameterization": {
41
+ "name": "namecheap",
42
+ "version": "2.2.0",
43
+ "value": "eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL25hbWVjaGVhcC9uYW1lY2hlYXAiLCJ2ZXJzaW9uIjoiMi4yLjAifX0="
44
+ }
45
+ }
46
+ }