@pulumi/mongodbatlas 4.14.0-alpha.1786429681 → 4.14.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.
Files changed (89) hide show
  1. package/aiModelApiKey.d.ts +193 -0
  2. package/aiModelApiKey.d.ts.map +1 -0
  3. package/aiModelApiKey.js +149 -0
  4. package/aiModelApiKey.js.map +1 -0
  5. package/aiModelRateLimit.d.ts +171 -0
  6. package/aiModelRateLimit.d.ts.map +1 -0
  7. package/aiModelRateLimit.js +150 -0
  8. package/aiModelRateLimit.js.map +1 -0
  9. package/databaseUser.d.ts +32 -8
  10. package/databaseUser.d.ts.map +1 -1
  11. package/databaseUser.js +7 -6
  12. package/databaseUser.js.map +1 -1
  13. package/getAiModelApiKey.d.ts +143 -0
  14. package/getAiModelApiKey.d.ts.map +1 -0
  15. package/getAiModelApiKey.js +111 -0
  16. package/getAiModelApiKey.js.map +1 -0
  17. package/getAiModelApiKeys.d.ts +100 -0
  18. package/getAiModelApiKeys.d.ts.map +1 -0
  19. package/getAiModelApiKeys.js +109 -0
  20. package/getAiModelApiKeys.js.map +1 -0
  21. package/getAiModelOrgApiKey.d.ts +121 -0
  22. package/getAiModelOrgApiKey.d.ts.map +1 -0
  23. package/getAiModelOrgApiKey.js +85 -0
  24. package/getAiModelOrgApiKey.js.map +1 -0
  25. package/getAiModelOrgApiKeys.d.ts +72 -0
  26. package/getAiModelOrgApiKeys.d.ts.map +1 -0
  27. package/getAiModelOrgApiKeys.js +81 -0
  28. package/getAiModelOrgApiKeys.js.map +1 -0
  29. package/getAiModelOrgRateLimit.d.ts +125 -0
  30. package/getAiModelOrgRateLimit.d.ts.map +1 -0
  31. package/getAiModelOrgRateLimit.js +93 -0
  32. package/getAiModelOrgRateLimit.js.map +1 -0
  33. package/getAiModelOrgRateLimits.d.ts +72 -0
  34. package/getAiModelOrgRateLimits.d.ts.map +1 -0
  35. package/getAiModelOrgRateLimits.js +81 -0
  36. package/getAiModelOrgRateLimits.js.map +1 -0
  37. package/getAiModelRateLimit.d.ts +151 -0
  38. package/getAiModelRateLimit.d.ts.map +1 -0
  39. package/getAiModelRateLimit.js +119 -0
  40. package/getAiModelRateLimit.js.map +1 -0
  41. package/getAiModelRateLimits.d.ts +104 -0
  42. package/getAiModelRateLimits.d.ts.map +1 -0
  43. package/getAiModelRateLimits.js +113 -0
  44. package/getAiModelRateLimits.js.map +1 -0
  45. package/getMetricIntegration.d.ts +156 -0
  46. package/getMetricIntegration.d.ts.map +1 -0
  47. package/getMetricIntegration.js +131 -0
  48. package/getMetricIntegration.js.map +1 -0
  49. package/getMetricIntegrations.d.ts +148 -0
  50. package/getMetricIntegrations.d.ts.map +1 -0
  51. package/getMetricIntegrations.js +137 -0
  52. package/getMetricIntegrations.js.map +1 -0
  53. package/getStreamConnectionFailover.d.ts +3 -3
  54. package/getStreamProcessor.d.ts +33 -99
  55. package/getStreamProcessor.d.ts.map +1 -1
  56. package/getStreamProcessor.js +32 -98
  57. package/getStreamProcessor.js.map +1 -1
  58. package/getStreamProcessors.d.ts +32 -98
  59. package/getStreamProcessors.d.ts.map +1 -1
  60. package/getStreamProcessors.js +32 -98
  61. package/getStreamProcessors.js.map +1 -1
  62. package/index.d.ts +39 -0
  63. package/index.d.ts.map +1 -1
  64. package/index.js +53 -7
  65. package/index.js.map +1 -1
  66. package/metricIntegration.d.ts +205 -0
  67. package/metricIntegration.d.ts.map +1 -0
  68. package/metricIntegration.js +165 -0
  69. package/metricIntegration.js.map +1 -0
  70. package/package.json +2 -2
  71. package/project.d.ts +12 -12
  72. package/searchIndex.d.ts +32 -3
  73. package/searchIndex.d.ts.map +1 -1
  74. package/searchIndex.js +29 -0
  75. package/searchIndex.js.map +1 -1
  76. package/streamConnection.d.ts +32 -0
  77. package/streamConnection.d.ts.map +1 -1
  78. package/streamConnection.js +32 -0
  79. package/streamConnection.js.map +1 -1
  80. package/streamConnectionFailover.d.ts +14 -14
  81. package/streamPrivatelinkEndpoint.d.ts +6 -6
  82. package/streamProcessor.d.ts +23 -52
  83. package/streamProcessor.d.ts.map +1 -1
  84. package/streamProcessor.js +20 -49
  85. package/streamProcessor.js.map +1 -1
  86. package/types/input.d.ts +22 -1
  87. package/types/input.d.ts.map +1 -1
  88. package/types/output.d.ts +238 -11
  89. package/types/output.d.ts.map +1 -1
@@ -0,0 +1,193 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `mongodbatlas.AiModelApiKey` provides an AI Model API Key resource. The resource lets you create, update, delete, and import an AI Model API Key for the specified Project. This API Key is used to authenticate requests to AI embedding and reranking services.
4
+ *
5
+ * > **IMPORTANT WARNING:** Managing AI Model API Keys with Terraform will expose sensitive secrets in Terraform's state file. The `secret` attribute contains the full API key and is persisted in Terraform state after creation. We recommend following Terraform's best practices for sensitive data. Consider using remote state with encryption enabled.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ### S
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as mongodbatlas from "@pulumi/mongodbatlas";
14
+ *
15
+ * const thisAiModelApiKey = new mongodbatlas.AiModelApiKey("this", {
16
+ * projectId: projectId,
17
+ * name: "example-ai-model-key",
18
+ * cloud: "ANY",
19
+ * geography: "ANY",
20
+ * });
21
+ * const _this = mongodbatlas.getAiModelApiKeyOutput({
22
+ * projectId: projectId,
23
+ * apiKeyId: thisAiModelApiKey.apiKeyId,
24
+ * });
25
+ * const thisGetAiModelApiKeys = mongodbatlas.getAiModelApiKeys({
26
+ * projectId: projectId,
27
+ * });
28
+ * export const aiModelApiKeyId = thisAiModelApiKey.apiKeyId;
29
+ * export const aiModelApiKeySecret = thisAiModelApiKey.secret;
30
+ * export const aiModelApiKeyName = _this.name;
31
+ * export const aiModelApiKeyEndpoint = _this.endpoint;
32
+ * export const aiModelApiKeysResults = thisGetAiModelApiKeys.then(thisGetAiModelApiKeys => thisGetAiModelApiKeys.results);
33
+ * ```
34
+ *
35
+ * ## Import
36
+ *
37
+ * Import the AI Model API Key resource by using the Project ID and API Key ID in the format `PROJECT_ID/API_KEY_ID`, e.g.
38
+ * ```sh
39
+ * $ pulumi import mongodbatlas:index/aiModelApiKey:AiModelApiKey example 1112222b3bf99403840e8934/6117ac2fe2a3d04ed27a987v
40
+ * ```
41
+ *
42
+ * > **NOTE:** When importing an existing AI Model API Key, the `secret` attribute will be null because the secret is only returned by the API at creation time. If you need the secret value, you must create a new API key through Terraform.
43
+ *
44
+ * For more information, see [Manage AI Model API Keys](https://www.mongodb.com/docs/voyageai/management/api-keys/).
45
+ */
46
+ export declare class AiModelApiKey extends pulumi.CustomResource {
47
+ /**
48
+ * Get an existing AiModelApiKey resource's state with the given name, ID, and optional extra
49
+ * properties used to qualify the lookup.
50
+ *
51
+ * @param name The _unique_ name of the resulting resource.
52
+ * @param id The _unique_ provider ID of the resource to lookup.
53
+ * @param state Any extra arguments used during the lookup.
54
+ * @param opts Optional settings to control the behavior of the CustomResource.
55
+ */
56
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AiModelApiKeyState, opts?: pulumi.CustomResourceOptions): AiModelApiKey;
57
+ /**
58
+ * Returns true if the given object is an instance of AiModelApiKey. This is designed to work even
59
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
60
+ */
61
+ static isInstance(obj: any): obj is AiModelApiKey;
62
+ /**
63
+ * Identifier used to reference this API key in admin API calls.
64
+ */
65
+ readonly apiKeyId: pulumi.Output<string>;
66
+ /**
67
+ * Cloud provider scope for this API key. Must be "ANY". Additional cloud values will be supported in future API versions.
68
+ */
69
+ readonly cloud: pulumi.Output<string>;
70
+ /**
71
+ * UTC date when the API key was created. This parameter is formatted as an ISO 8601 timestamp.
72
+ */
73
+ readonly createdAt: pulumi.Output<string>;
74
+ /**
75
+ * Name of the user that created this API key. If no user name is available, the user ID is returned.
76
+ */
77
+ readonly createdBy: pulumi.Output<string>;
78
+ /**
79
+ * Server-computed endpoint hostname derived from `cloud` and `geography`. This field is read-only and must not be supplied in request bodies.
80
+ */
81
+ readonly endpoint: pulumi.Output<string>;
82
+ /**
83
+ * Geography scope for this API key. Must be "ANY". Additional geography values will be supported in future API versions.
84
+ */
85
+ readonly geography: pulumi.Output<string>;
86
+ /**
87
+ * UTC date when the API key was last used. This parameter is formatted as an ISO 8601 timestamp.
88
+ */
89
+ readonly lastUsedAt: pulumi.Output<string>;
90
+ /**
91
+ * A partially obfuscated version of the API key secret returned when the API key was created.
92
+ */
93
+ readonly maskedSecret: pulumi.Output<string>;
94
+ /**
95
+ * A name for the new API key that will be created.
96
+ */
97
+ readonly name: pulumi.Output<string>;
98
+ /**
99
+ * Unique 24-hexadecimal digit string that identifies your project, also known as `groupId` in the official documentation.
100
+ */
101
+ readonly projectId: pulumi.Output<string>;
102
+ /**
103
+ * The full API key secret used for interacting with the embedding / reranking service. Note: this will only be fully populated in the response to a create API key request. Responses to get, list, and update requests will not include the secret.
104
+ */
105
+ readonly secret: pulumi.Output<string>;
106
+ /**
107
+ * A string describing the current status of the API key.
108
+ */
109
+ readonly status: pulumi.Output<string>;
110
+ /**
111
+ * Create a AiModelApiKey resource with the given unique name, arguments, and options.
112
+ *
113
+ * @param name The _unique_ name of the resource.
114
+ * @param args The arguments to use to populate this resource's properties.
115
+ * @param opts A bag of options that control this resource's behavior.
116
+ */
117
+ constructor(name: string, args: AiModelApiKeyArgs, opts?: pulumi.CustomResourceOptions);
118
+ }
119
+ /**
120
+ * Input properties used for looking up and filtering AiModelApiKey resources.
121
+ */
122
+ export interface AiModelApiKeyState {
123
+ /**
124
+ * Identifier used to reference this API key in admin API calls.
125
+ */
126
+ apiKeyId?: pulumi.Input<string | undefined>;
127
+ /**
128
+ * Cloud provider scope for this API key. Must be "ANY". Additional cloud values will be supported in future API versions.
129
+ */
130
+ cloud?: pulumi.Input<string | undefined>;
131
+ /**
132
+ * UTC date when the API key was created. This parameter is formatted as an ISO 8601 timestamp.
133
+ */
134
+ createdAt?: pulumi.Input<string | undefined>;
135
+ /**
136
+ * Name of the user that created this API key. If no user name is available, the user ID is returned.
137
+ */
138
+ createdBy?: pulumi.Input<string | undefined>;
139
+ /**
140
+ * Server-computed endpoint hostname derived from `cloud` and `geography`. This field is read-only and must not be supplied in request bodies.
141
+ */
142
+ endpoint?: pulumi.Input<string | undefined>;
143
+ /**
144
+ * Geography scope for this API key. Must be "ANY". Additional geography values will be supported in future API versions.
145
+ */
146
+ geography?: pulumi.Input<string | undefined>;
147
+ /**
148
+ * UTC date when the API key was last used. This parameter is formatted as an ISO 8601 timestamp.
149
+ */
150
+ lastUsedAt?: pulumi.Input<string | undefined>;
151
+ /**
152
+ * A partially obfuscated version of the API key secret returned when the API key was created.
153
+ */
154
+ maskedSecret?: pulumi.Input<string | undefined>;
155
+ /**
156
+ * A name for the new API key that will be created.
157
+ */
158
+ name?: pulumi.Input<string | undefined>;
159
+ /**
160
+ * Unique 24-hexadecimal digit string that identifies your project, also known as `groupId` in the official documentation.
161
+ */
162
+ projectId?: pulumi.Input<string | undefined>;
163
+ /**
164
+ * The full API key secret used for interacting with the embedding / reranking service. Note: this will only be fully populated in the response to a create API key request. Responses to get, list, and update requests will not include the secret.
165
+ */
166
+ secret?: pulumi.Input<string | undefined>;
167
+ /**
168
+ * A string describing the current status of the API key.
169
+ */
170
+ status?: pulumi.Input<string | undefined>;
171
+ }
172
+ /**
173
+ * The set of arguments for constructing a AiModelApiKey resource.
174
+ */
175
+ export interface AiModelApiKeyArgs {
176
+ /**
177
+ * Cloud provider scope for this API key. Must be "ANY". Additional cloud values will be supported in future API versions.
178
+ */
179
+ cloud: pulumi.Input<string>;
180
+ /**
181
+ * Geography scope for this API key. Must be "ANY". Additional geography values will be supported in future API versions.
182
+ */
183
+ geography: pulumi.Input<string>;
184
+ /**
185
+ * A name for the new API key that will be created.
186
+ */
187
+ name?: pulumi.Input<string | undefined>;
188
+ /**
189
+ * Unique 24-hexadecimal digit string that identifies your project, also known as `groupId` in the official documentation.
190
+ */
191
+ projectId: pulumi.Input<string>;
192
+ }
193
+ //# sourceMappingURL=aiModelApiKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiModelApiKey.d.ts","sourceRoot":"","sources":["../aiModelApiKey.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
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
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.AiModelApiKey = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * `mongodbatlas.AiModelApiKey` provides an AI Model API Key resource. The resource lets you create, update, delete, and import an AI Model API Key for the specified Project. This API Key is used to authenticate requests to AI embedding and reranking services.
33
+ *
34
+ * > **IMPORTANT WARNING:** Managing AI Model API Keys with Terraform will expose sensitive secrets in Terraform's state file. The `secret` attribute contains the full API key and is persisted in Terraform state after creation. We recommend following Terraform's best practices for sensitive data. Consider using remote state with encryption enabled.
35
+ *
36
+ * ## Example Usage
37
+ *
38
+ * ### S
39
+ *
40
+ * ```typescript
41
+ * import * as pulumi from "@pulumi/pulumi";
42
+ * import * as mongodbatlas from "@pulumi/mongodbatlas";
43
+ *
44
+ * const thisAiModelApiKey = new mongodbatlas.AiModelApiKey("this", {
45
+ * projectId: projectId,
46
+ * name: "example-ai-model-key",
47
+ * cloud: "ANY",
48
+ * geography: "ANY",
49
+ * });
50
+ * const _this = mongodbatlas.getAiModelApiKeyOutput({
51
+ * projectId: projectId,
52
+ * apiKeyId: thisAiModelApiKey.apiKeyId,
53
+ * });
54
+ * const thisGetAiModelApiKeys = mongodbatlas.getAiModelApiKeys({
55
+ * projectId: projectId,
56
+ * });
57
+ * export const aiModelApiKeyId = thisAiModelApiKey.apiKeyId;
58
+ * export const aiModelApiKeySecret = thisAiModelApiKey.secret;
59
+ * export const aiModelApiKeyName = _this.name;
60
+ * export const aiModelApiKeyEndpoint = _this.endpoint;
61
+ * export const aiModelApiKeysResults = thisGetAiModelApiKeys.then(thisGetAiModelApiKeys => thisGetAiModelApiKeys.results);
62
+ * ```
63
+ *
64
+ * ## Import
65
+ *
66
+ * Import the AI Model API Key resource by using the Project ID and API Key ID in the format `PROJECT_ID/API_KEY_ID`, e.g.
67
+ * ```sh
68
+ * $ pulumi import mongodbatlas:index/aiModelApiKey:AiModelApiKey example 1112222b3bf99403840e8934/6117ac2fe2a3d04ed27a987v
69
+ * ```
70
+ *
71
+ * > **NOTE:** When importing an existing AI Model API Key, the `secret` attribute will be null because the secret is only returned by the API at creation time. If you need the secret value, you must create a new API key through Terraform.
72
+ *
73
+ * For more information, see [Manage AI Model API Keys](https://www.mongodb.com/docs/voyageai/management/api-keys/).
74
+ */
75
+ class AiModelApiKey extends pulumi.CustomResource {
76
+ /**
77
+ * Get an existing AiModelApiKey resource's state with the given name, ID, and optional extra
78
+ * properties used to qualify the lookup.
79
+ *
80
+ * @param name The _unique_ name of the resulting resource.
81
+ * @param id The _unique_ provider ID of the resource to lookup.
82
+ * @param state Any extra arguments used during the lookup.
83
+ * @param opts Optional settings to control the behavior of the CustomResource.
84
+ */
85
+ static get(name, id, state, opts) {
86
+ return new AiModelApiKey(name, state, { ...opts, id: id });
87
+ }
88
+ /** @internal */
89
+ static __pulumiType = 'mongodbatlas:index/aiModelApiKey:AiModelApiKey';
90
+ /**
91
+ * Returns true if the given object is an instance of AiModelApiKey. This is designed to work even
92
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
93
+ */
94
+ static isInstance(obj) {
95
+ if (obj === undefined || obj === null) {
96
+ return false;
97
+ }
98
+ return obj['__pulumiType'] === AiModelApiKey.__pulumiType;
99
+ }
100
+ constructor(name, argsOrState, opts) {
101
+ let resourceInputs = {};
102
+ opts = opts || {};
103
+ if (opts.id) {
104
+ const state = argsOrState;
105
+ resourceInputs["apiKeyId"] = state?.apiKeyId;
106
+ resourceInputs["cloud"] = state?.cloud;
107
+ resourceInputs["createdAt"] = state?.createdAt;
108
+ resourceInputs["createdBy"] = state?.createdBy;
109
+ resourceInputs["endpoint"] = state?.endpoint;
110
+ resourceInputs["geography"] = state?.geography;
111
+ resourceInputs["lastUsedAt"] = state?.lastUsedAt;
112
+ resourceInputs["maskedSecret"] = state?.maskedSecret;
113
+ resourceInputs["name"] = state?.name;
114
+ resourceInputs["projectId"] = state?.projectId;
115
+ resourceInputs["secret"] = state?.secret;
116
+ resourceInputs["status"] = state?.status;
117
+ }
118
+ else {
119
+ const args = argsOrState;
120
+ if (args?.cloud === undefined && !opts.urn) {
121
+ throw new Error("Missing required property 'cloud'");
122
+ }
123
+ if (args?.geography === undefined && !opts.urn) {
124
+ throw new Error("Missing required property 'geography'");
125
+ }
126
+ if (args?.projectId === undefined && !opts.urn) {
127
+ throw new Error("Missing required property 'projectId'");
128
+ }
129
+ resourceInputs["cloud"] = args?.cloud;
130
+ resourceInputs["geography"] = args?.geography;
131
+ resourceInputs["name"] = args?.name;
132
+ resourceInputs["projectId"] = args?.projectId;
133
+ resourceInputs["apiKeyId"] = undefined /*out*/;
134
+ resourceInputs["createdAt"] = undefined /*out*/;
135
+ resourceInputs["createdBy"] = undefined /*out*/;
136
+ resourceInputs["endpoint"] = undefined /*out*/;
137
+ resourceInputs["lastUsedAt"] = undefined /*out*/;
138
+ resourceInputs["maskedSecret"] = undefined /*out*/;
139
+ resourceInputs["secret"] = undefined /*out*/;
140
+ resourceInputs["status"] = undefined /*out*/;
141
+ }
142
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
143
+ const secretOpts = { additionalSecretOutputs: ["secret"] };
144
+ opts = pulumi.mergeOptions(opts, secretOpts);
145
+ super(AiModelApiKey.__pulumiType, name, resourceInputs, opts);
146
+ }
147
+ }
148
+ exports.AiModelApiKey = AiModelApiKey;
149
+ //# sourceMappingURL=aiModelApiKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiModelApiKey.js","sourceRoot":"","sources":["../aiModelApiKey.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAa,aAAc,SAAQ,MAAM,CAAC,cAAc;IACpD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA0B,EAAE,IAAmC;QACxH,OAAO,IAAI,aAAa,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,gDAAgD,CAAC;IAEvF;;;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,aAAa,CAAC,YAAY,CAAC;IAC9D,CAAC;IA2DD,YAAY,IAAY,EAAE,WAAoD,EAAE,IAAmC;QAC/G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA6C,CAAC;YAC5D,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAA4C,CAAC;YAC1D,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACnD,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7C,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAChD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;;AAlIL,sCAmIC"}
@@ -0,0 +1,171 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `mongodbatlas.AiModelRateLimit` provides an AI Model Rate Limit resource. The resource lets you configure AI Model Rate Limits for the specified Project. Each model group has one rate limit configuration that controls the number of requests and tokens per minute allowed for AI embedding and reranking services.
4
+ *
5
+ * > **NOTE:** Project-level rate limits cannot exceed the organization-level limits. Organization-level limits are determined by your organization's tier and represent the maximum allowed values for any project within that organization.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ### S
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as mongodbatlas from "@pulumi/mongodbatlas";
14
+ *
15
+ * const thisAiModelRateLimit = new mongodbatlas.AiModelRateLimit("this", {
16
+ * projectId: projectId,
17
+ * cloud: "ANY",
18
+ * geography: "ANY",
19
+ * modelGroupName: "embed_large",
20
+ * requestsPerMinuteLimit: 100,
21
+ * tokensPerMinuteLimit: 10000,
22
+ * });
23
+ * const _this = mongodbatlas.getAiModelRateLimitOutput({
24
+ * projectId: projectId,
25
+ * cloud: "ANY",
26
+ * geography: "ANY",
27
+ * modelGroupName: thisAiModelRateLimit.modelGroupName,
28
+ * });
29
+ * const thisGetAiModelRateLimits = mongodbatlas.getAiModelRateLimits({
30
+ * projectId: projectId,
31
+ * });
32
+ * export const aiModelRateLimitRequestsPerMinute = thisAiModelRateLimit.requestsPerMinuteLimit;
33
+ * export const aiModelRateLimitTokensPerMinute = thisAiModelRateLimit.tokensPerMinuteLimit;
34
+ * export const aiModelRateLimitModelNames = _this.modelNames;
35
+ * export const aiModelRateLimitEndpoint = _this.endpoint;
36
+ * export const aiModelRateLimitsResults = thisGetAiModelRateLimits.then(thisGetAiModelRateLimits => thisGetAiModelRateLimits.results);
37
+ * ```
38
+ *
39
+ * ## Import
40
+ *
41
+ * Import the AI Model Rate Limit resource by using the Project ID, Cloud, Geography, and Model Group Name in the format `PROJECT_ID/CLOUD/GEOGRAPHY/MODEL_GROUP_NAME`, e.g.
42
+ * ```sh
43
+ * $ pulumi import mongodbatlas:index/aiModelRateLimit:AiModelRateLimit example 1112222b3bf99403840e8934/ANY/ANY/embed_large
44
+ * ```
45
+ *
46
+ * For more information, see [Manage AI Model Rate Limits](https://www.mongodb.com/docs/voyageai/management/rate-limits/).
47
+ */
48
+ export declare class AiModelRateLimit extends pulumi.CustomResource {
49
+ /**
50
+ * Get an existing AiModelRateLimit resource's state with the given name, ID, and optional extra
51
+ * properties used to qualify the lookup.
52
+ *
53
+ * @param name The _unique_ name of the resulting resource.
54
+ * @param id The _unique_ provider ID of the resource to lookup.
55
+ * @param state Any extra arguments used during the lookup.
56
+ * @param opts Optional settings to control the behavior of the CustomResource.
57
+ */
58
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AiModelRateLimitState, opts?: pulumi.CustomResourceOptions): AiModelRateLimit;
59
+ /**
60
+ * Returns true if the given object is an instance of AiModelRateLimit. This is designed to work even
61
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
62
+ */
63
+ static isInstance(obj: any): obj is AiModelRateLimit;
64
+ /**
65
+ * Cloud provider scope. Must be "ANY". Additional values will be supported in future API versions.
66
+ */
67
+ readonly cloud: pulumi.Output<string>;
68
+ /**
69
+ * Server-computed endpoint hostname derived from `cloud` and `geography`. This field is read-only and must not be supplied in request bodies.
70
+ */
71
+ readonly endpoint: pulumi.Output<string>;
72
+ /**
73
+ * Geography scope. Must be "ANY". Additional values will be supported in future API versions.
74
+ */
75
+ readonly geography: pulumi.Output<string>;
76
+ /**
77
+ * The name of the model group to be updated.
78
+ */
79
+ readonly modelGroupName: pulumi.Output<string>;
80
+ /**
81
+ * List of embedding model names included in this model group.
82
+ */
83
+ readonly modelNames: pulumi.Output<string[]>;
84
+ /**
85
+ * Unique 24-hexadecimal digit string that identifies your project, also known as `groupId` in the official documentation.
86
+ */
87
+ readonly projectId: pulumi.Output<string>;
88
+ /**
89
+ * The number of requests per minute allowed for this model group. Must be a positive integer. Cannot be more than the organization level limit for this group model.
90
+ */
91
+ readonly requestsPerMinuteLimit: pulumi.Output<number>;
92
+ /**
93
+ * The number of tokens per minute allowed for this model group. Must be a positive integer. Cannot be more than the organization level limit for this group model.
94
+ */
95
+ readonly tokensPerMinuteLimit: pulumi.Output<number>;
96
+ /**
97
+ * Create a AiModelRateLimit resource with the given unique name, arguments, and options.
98
+ *
99
+ * @param name The _unique_ name of the resource.
100
+ * @param args The arguments to use to populate this resource's properties.
101
+ * @param opts A bag of options that control this resource's behavior.
102
+ */
103
+ constructor(name: string, args: AiModelRateLimitArgs, opts?: pulumi.CustomResourceOptions);
104
+ }
105
+ /**
106
+ * Input properties used for looking up and filtering AiModelRateLimit resources.
107
+ */
108
+ export interface AiModelRateLimitState {
109
+ /**
110
+ * Cloud provider scope. Must be "ANY". Additional values will be supported in future API versions.
111
+ */
112
+ cloud?: pulumi.Input<string | undefined>;
113
+ /**
114
+ * Server-computed endpoint hostname derived from `cloud` and `geography`. This field is read-only and must not be supplied in request bodies.
115
+ */
116
+ endpoint?: pulumi.Input<string | undefined>;
117
+ /**
118
+ * Geography scope. Must be "ANY". Additional values will be supported in future API versions.
119
+ */
120
+ geography?: pulumi.Input<string | undefined>;
121
+ /**
122
+ * The name of the model group to be updated.
123
+ */
124
+ modelGroupName?: pulumi.Input<string | undefined>;
125
+ /**
126
+ * List of embedding model names included in this model group.
127
+ */
128
+ modelNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
129
+ /**
130
+ * Unique 24-hexadecimal digit string that identifies your project, also known as `groupId` in the official documentation.
131
+ */
132
+ projectId?: pulumi.Input<string | undefined>;
133
+ /**
134
+ * The number of requests per minute allowed for this model group. Must be a positive integer. Cannot be more than the organization level limit for this group model.
135
+ */
136
+ requestsPerMinuteLimit?: pulumi.Input<number | undefined>;
137
+ /**
138
+ * The number of tokens per minute allowed for this model group. Must be a positive integer. Cannot be more than the organization level limit for this group model.
139
+ */
140
+ tokensPerMinuteLimit?: pulumi.Input<number | undefined>;
141
+ }
142
+ /**
143
+ * The set of arguments for constructing a AiModelRateLimit resource.
144
+ */
145
+ export interface AiModelRateLimitArgs {
146
+ /**
147
+ * Cloud provider scope. Must be "ANY". Additional values will be supported in future API versions.
148
+ */
149
+ cloud: pulumi.Input<string>;
150
+ /**
151
+ * Geography scope. Must be "ANY". Additional values will be supported in future API versions.
152
+ */
153
+ geography: pulumi.Input<string>;
154
+ /**
155
+ * The name of the model group to be updated.
156
+ */
157
+ modelGroupName: pulumi.Input<string>;
158
+ /**
159
+ * Unique 24-hexadecimal digit string that identifies your project, also known as `groupId` in the official documentation.
160
+ */
161
+ projectId: pulumi.Input<string>;
162
+ /**
163
+ * The number of requests per minute allowed for this model group. Must be a positive integer. Cannot be more than the organization level limit for this group model.
164
+ */
165
+ requestsPerMinuteLimit: pulumi.Input<number>;
166
+ /**
167
+ * The number of tokens per minute allowed for this model group. Must be a positive integer. Cannot be more than the organization level limit for this group model.
168
+ */
169
+ tokensPerMinuteLimit: pulumi.Input<number>;
170
+ }
171
+ //# sourceMappingURL=aiModelRateLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiModelRateLimit.d.ts","sourceRoot":"","sources":["../aiModelRateLimit.ts"],"names":[],"mappings":"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"}