// AUTO-GENERATED by scripts/generate.ts from .generated-specs (specs/distilled-spec-mongodb-atlas). Do not edit. import * as S from "@distilled.cloud/core/schema"; import * as Redacted from "effect/Redacted"; import * as API from "@distilled.cloud/core/api"; import * as C from "@distilled.cloud/core/category"; import * as T from "../traits.ts"; import { MongodbAtlasProtocol, type MongodbAtlasOpError, type MongodbAtlasOpContext, } from "../protocol.ts"; import { UnknownMongodbAtlasError } from "../errors.ts"; import * as Retry from "../retry.ts"; export type { MongodbAtlasOpError, MongodbAtlasOpContext }; export class BadRequest extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("BadRequest", { code: S.Number, message: S.String, }).pipe(C.withBadRequestError), [{ status: 400 }], ) {} export class Conflict extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("Conflict", { code: S.Number, message: S.String, }).pipe(C.withConflictError), [{ status: 409 }], ) {} export class Forbidden extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("Forbidden", { code: S.Number, message: S.String, }).pipe(C.withAuthError), [{ status: 403 }], ) {} export class NotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("NotFound", { code: S.Number, message: S.String, }).pipe(C.withBadRequestError), [{ status: 404 }], ) {} export class PaymentRequired extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("PaymentRequired", { code: S.Number, message: S.String, }).pipe(C.withQuotaError), [{ status: 402 }], ) {} export interface AcceptGroupStreamVpcPeeringConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The VPC Peering Connection id. */ id: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** The AWS requester account ID. */ requesterAccountId?: string; /** The AWS requester VPC ID. */ requesterVpcId?: string; } export const AcceptGroupStreamVpcPeeringConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), requesterAccountId: S.optional(S.String), requesterVpcId: S.optional(S.String), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams/vpcPeeringConnections/{id}:accept", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "AcceptGroupStreamVpcPeeringConnectionRequest", }) as any as S.Schema; export interface AcceptGroupStreamVpcPeeringConnectionResponse {} export const AcceptGroupStreamVpcPeeringConnectionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "AcceptGroupStreamVpcPeeringConnectionResponse", }) as any as S.Schema; export interface AcknowledgeGroupAlertRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the alert. */ alertId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Date and time until which this alert has been acknowledged. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if a MongoDB User previously acknowledged this alert. */ acknowledgedUntil?: string; /** Comment that a MongoDB Cloud user submitted when acknowledging the alert. */ acknowledgementComment?: string; /** Flag that indicates to unacknowledge a previously acknowledged alert. By default this value is set to false. If set to true, it will override the `acknowledgedUntil` parameter. */ unacknowledgeAlert?: boolean; } export const AcknowledgeGroupAlertRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), alertId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), acknowledgedUntil: S.optional(S.String), acknowledgementComment: S.optional(S.String), unacknowledgeAlert: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/alerts/{alertId}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "AcknowledgeGroupAlertRequest", }) as any as S.Schema; /** Incident that triggered this alert. */ export type AppServiceEventTypeViewAlertable = | "URL_CONFIRMATION" | "SUCCESSFUL_DEPLOY" | "DEPLOYMENT_FAILURE" | "DEPLOYMENT_MODEL_CHANGE_SUCCESS" | "DEPLOYMENT_MODEL_CHANGE_FAILURE" | "REQUEST_RATE_LIMIT" | "LOG_FORWARDER_FAILURE" | "OUTSIDE_REALM_METRIC_THRESHOLD" | "SYNC_FAILURE" | "TRIGGER_FAILURE" | "TRIGGER_AUTO_RESUMED"; export const AppServiceEventTypeViewAlertable = S.String; export interface Link { /** Uniform Resource Locator (URL) that points another API resource to which this response has some relationship. This URL often begins with `https://cloud.mongodb.com/api/atlas`. */ href?: string; /** Uniform Resource Locator (URL) that defines the semantic relationship between this resource and another API resource. This URL often begins with `https://cloud.mongodb.com/api/atlas`. */ rel?: string; } export const Link = /*@__PURE__*/ S.suspend(() => S.Struct({ href: S.optional(S.String), rel: S.optional(S.String), }), ).annotate({ identifier: "Link" }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AppServiceAlertViewLinksList = Array; export const AppServiceAlertViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ export type AppServiceAlertViewStatus = | "CANCELLED" | "CLOSED" | "OPEN" | "TRACKING"; export const AppServiceAlertViewStatus = S.String; /** App Services alert notifies different activities about a BAAS application. */ export interface AppServiceAlertView { /** Date and time until which this alert has been acknowledged. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if a MongoDB User previously acknowledged this alert. - To acknowledge this alert forever, set the parameter value to 100 years in the future. - To unacknowledge a previously acknowledged alert, do not set this parameter value. */ acknowledgedUntil?: string; /** Comment that a MongoDB Cloud user submitted when acknowledging the alert. */ acknowledgementComment?: string; /** MongoDB Cloud username of the person who acknowledged the alert. The response returns this parameter if a MongoDB Cloud user previously acknowledged this alert. */ acknowledgingUsername?: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration that sets this alert. */ alertConfigId: string; /** Date and time when MongoDB Cloud created this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: AppServiceEventTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert. */ id: string; /** Date and time that any notifications were last sent for this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if MongoDB Cloud has sent notifications for this alert. */ lastNotified?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AppServiceAlertViewLinksList; /** Unique 24-hexadecimal character string that identifies the organization that owns the project to which this alert applies. */ orgId?: string; /** Date and time that this alert changed to `"status" : "CLOSED"`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter once `"status" : "CLOSED"`. */ resolved?: string; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ status: AppServiceAlertViewStatus; /** Date and time when someone last updated this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated: string; } export const AppServiceAlertView = /*@__PURE__*/ S.suspend(() => S.Struct({ acknowledgedUntil: S.optional(S.String), acknowledgementComment: S.optional(S.String), acknowledgingUsername: S.optional(S.String), alertConfigId: S.String, created: S.String, eventTypeName: AppServiceEventTypeViewAlertable, groupId: S.optional(S.String), id: S.String, lastNotified: S.optional(S.String), links: S.optional(AppServiceAlertViewLinksList), orgId: S.optional(S.String), resolved: S.optional(S.String), status: AppServiceAlertViewStatus, updated: S.String, }), ).annotate({ identifier: "AppServiceAlertView", }) as any as S.Schema; /** Event type that triggers an alert. */ export type ClusterEventTypeViewForNdsGroupAlertable = "CLUSTER_MONGOS_IS_MISSING"; export const ClusterEventTypeViewForNdsGroupAlertable = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ClusterAlertViewForNdsGroupLinksList = Array; export const ClusterAlertViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ export type ClusterAlertViewForNdsGroupStatus = | "CANCELLED" | "CLOSED" | "OPEN" | "TRACKING"; export const ClusterAlertViewForNdsGroupStatus = S.String; /** Cluster alert notifies different activities and conditions about cluster of mongod hosts. */ export interface ClusterAlertViewForNdsGroup { /** Date and time until which this alert has been acknowledged. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if a MongoDB User previously acknowledged this alert. - To acknowledge this alert forever, set the parameter value to 100 years in the future. - To unacknowledge a previously acknowledged alert, do not set this parameter value. */ acknowledgedUntil?: string; /** Comment that a MongoDB Cloud user submitted when acknowledging the alert. */ acknowledgementComment?: string; /** MongoDB Cloud username of the person who acknowledged the alert. The response returns this parameter if a MongoDB Cloud user previously acknowledged this alert. */ acknowledgingUsername?: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration that sets this alert. */ alertConfigId: string; /** Human-readable label that identifies the cluster to which this alert applies. This resource returns this parameter for alerts of events impacting backups, replica sets, or sharded clusters. */ clusterName?: string; /** Date and time when MongoDB Cloud created this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: ClusterEventTypeViewForNdsGroupAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert. */ id: string; /** Date and time that any notifications were last sent for this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if MongoDB Cloud has sent notifications for this alert. */ lastNotified?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ClusterAlertViewForNdsGroupLinksList; /** Unique 24-hexadecimal character string that identifies the organization that owns the project to which this alert applies. */ orgId?: string; /** Date and time that this alert changed to `"status" : "CLOSED"`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter once `"status" : "CLOSED"`. */ resolved?: string; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ status: ClusterAlertViewForNdsGroupStatus; /** Date and time when someone last updated this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated: string; } export const ClusterAlertViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ acknowledgedUntil: S.optional(S.String), acknowledgementComment: S.optional(S.String), acknowledgingUsername: S.optional(S.String), alertConfigId: S.String, clusterName: S.optional(S.String), created: S.String, eventTypeName: ClusterEventTypeViewForNdsGroupAlertable, groupId: S.optional(S.String), id: S.String, lastNotified: S.optional(S.String), links: S.optional(ClusterAlertViewForNdsGroupLinksList), orgId: S.optional(S.String), resolved: S.optional(S.String), status: ClusterAlertViewForNdsGroupStatus, updated: S.String, }), ).annotate({ identifier: "ClusterAlertViewForNdsGroup", }) as any as S.Schema; /** Event type that triggers an alert. */ export type HostEventTypeViewForNdsGroupAlertable = | "HOST_DOWN" | "HOST_HAS_INDEX_SUGGESTIONS" | "HOST_MONGOT_CRASHING_OOM" | "HOST_MONGOT_STOP_REPLICATION" | "HOST_MONGOT_APPROACHING_STOP_REPLICATION" | "HOST_MONGOT_PAUSE_INITIAL_SYNC" | "HOST_SEARCH_NODE_INDEX_FAILED" | "HOST_SEARCH_PROCESS_THROTTLING" | "HOST_EXTERNAL_LOG_SINK_EXPORT_DOWN" | "HOST_NOT_ENOUGH_DISK_SPACE" | "SSH_KEY_NDS_HOST_ACCESS_REQUESTED" | "SSH_KEY_NDS_HOST_ACCESS_REFRESHED" | "PUSH_BASED_LOG_EXPORT_STOPPED" | "PUSH_BASED_LOG_EXPORT_DROPPED_LOG" | "HOST_VERSION_BEHIND" | "VERSION_BEHIND" | "HOST_EXPOSED" | "HOST_SSL_CERTIFICATE_STALE" | "HOST_SECURITY_CHECKUP_NOT_MET" | "ALERT_HOST_SSH_SESSION_STARTED" | "PROFILER_CONFIGURED_TOO_WIDELY"; export const HostEventTypeViewForNdsGroupAlertable = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type HostAlertViewForNdsGroupLinksList = Array; export const HostAlertViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ export type HostAlertViewForNdsGroupStatus = | "CANCELLED" | "CLOSED" | "OPEN" | "TRACKING"; export const HostAlertViewForNdsGroupStatus = S.String; /** Host alert notifies about activities on mongod host. */ export interface HostAlertViewForNdsGroup { /** Date and time until which this alert has been acknowledged. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if a MongoDB User previously acknowledged this alert. - To acknowledge this alert forever, set the parameter value to 100 years in the future. - To unacknowledge a previously acknowledged alert, do not set this parameter value. */ acknowledgedUntil?: string; /** Comment that a MongoDB Cloud user submitted when acknowledging the alert. */ acknowledgementComment?: string; /** MongoDB Cloud username of the person who acknowledged the alert. The response returns this parameter if a MongoDB Cloud user previously acknowledged this alert. */ acknowledgingUsername?: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration that sets this alert. */ alertConfigId: string; /** Human-readable label that identifies the cluster to which this alert applies. This resource returns this parameter for alerts of events impacting backups, replica sets, or sharded clusters. */ clusterName?: string; /** Date and time when MongoDB Cloud created this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: HostEventTypeViewForNdsGroupAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert. */ groupId?: string; /** Hostname and port of the host to which this alert applies. The resource returns this parameter for alerts of events impacting hosts or replica sets. */ hostnameAndPort?: string; /** Unique 24-hexadecimal digit string that identifies this alert. */ id: string; /** Date and time that any notifications were last sent for this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if MongoDB Cloud has sent notifications for this alert. */ lastNotified?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: HostAlertViewForNdsGroupLinksList; /** Unique 24-hexadecimal character string that identifies the organization that owns the project to which this alert applies. */ orgId?: string; /** Name of the replica set to which this alert applies. The response returns this parameter for alerts of events impacting backups, hosts, or replica sets. */ replicaSetName?: string; /** Date and time that this alert changed to `"status" : "CLOSED"`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter once `"status" : "CLOSED"`. */ resolved?: string; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ status: HostAlertViewForNdsGroupStatus; /** Date and time when someone last updated this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated: string; } export const HostAlertViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ acknowledgedUntil: S.optional(S.String), acknowledgementComment: S.optional(S.String), acknowledgingUsername: S.optional(S.String), alertConfigId: S.String, clusterName: S.optional(S.String), created: S.String, eventTypeName: HostEventTypeViewForNdsGroupAlertable, groupId: S.optional(S.String), hostnameAndPort: S.optional(S.String), id: S.String, lastNotified: S.optional(S.String), links: S.optional(HostAlertViewForNdsGroupLinksList), orgId: S.optional(S.String), replicaSetName: S.optional(S.String), resolved: S.optional(S.String), status: HostAlertViewForNdsGroupStatus, updated: S.String, }), ).annotate({ identifier: "HostAlertViewForNdsGroup", }) as any as S.Schema; /** Element used to express the quantity in `currentValue.number`. This can be an element of time, storage capacity, and the like. This metric triggered the alert. */ export type HostMetricValueUnits = | "bits" | "Kbits" | "Mbits" | "Gbits" | "bytes" | "KB" | "MB" | "GB" | "TB" | "PB" | "nsec" | "msec" | "sec" | "min" | "hours" | "million minutes" | "days" | "requests" | "1000 requests" | "tokens" | "million tokens" | "pixels" | "billion pixels" | "GB seconds" | "GB hours" | "GB days" | "RPU" | "thousand RPU" | "million RPU" | "WPU" | "thousand WPU" | "million WPU" | "count" | "thousand" | "million" | "billion"; export const HostMetricValueUnits = S.String; /** Value of the metric that triggered the alert. The resource returns this parameter for alerts of events impacting hosts. */ export interface HostMetricValue { /** Amount of the `metricName` recorded at the time of the event. This value triggered the alert. */ number?: number; /** Element used to express the quantity in `currentValue.number`. This can be an element of time, storage capacity, and the like. This metric triggered the alert. */ units?: HostMetricValueUnits; } export const HostMetricValue = /*@__PURE__*/ S.suspend(() => S.Struct({ number: S.optional(S.Number), units: S.optional(HostMetricValueUnits), }), ).annotate({ identifier: "HostMetricValue", }) as any as S.Schema; /** Event type that triggers an alert. */ export type FlexMetricEventTypeViewAlertable = "OUTSIDE_FLEX_METRIC_THRESHOLD"; export const FlexMetricEventTypeViewAlertable = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type FlexMetricAlertLinksList = Array; export const FlexMetricAlertLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ export type FlexMetricAlertStatus = | "CANCELLED" | "CLOSED" | "OPEN" | "TRACKING"; export const FlexMetricAlertStatus = S.String; /** Flex Metric Alert notifies about changes of measurements or metrics for a Flex cluster. */ export interface FlexMetricAlert { /** Date and time until which this alert has been acknowledged. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if a MongoDB User previously acknowledged this alert. - To acknowledge this alert forever, set the parameter value to 100 years in the future. - To unacknowledge a previously acknowledged alert, do not set this parameter value. */ acknowledgedUntil?: string; /** Comment that a MongoDB Cloud user submitted when acknowledging the alert. */ acknowledgementComment?: string; /** MongoDB Cloud username of the person who acknowledged the alert. The response returns this parameter if a MongoDB Cloud user previously acknowledged this alert. */ acknowledgingUsername?: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration that sets this alert. */ alertConfigId: string; /** Human-readable label that identifies the cluster to which this alert applies. */ clusterName: string; /** Date and time when MongoDB Cloud created this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; currentValue?: HostMetricValue; eventTypeName: FlexMetricEventTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert. */ id: string; /** Date and time that any notifications were last sent for this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if MongoDB Cloud has sent notifications for this alert. */ lastNotified?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: FlexMetricAlertLinksList; /** Name of the metric against which Atlas checks the configured alert condition. */ metricName?: string; /** Unique 24-hexadecimal character string that identifies the organization that owns the project to which this alert applies. */ orgId?: string; /** Date and time that this alert changed to `"status" : "CLOSED"`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter once `"status" : "CLOSED"`. */ resolved?: string; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ status: FlexMetricAlertStatus; /** Date and time when someone last updated this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated: string; } export const FlexMetricAlert = /*@__PURE__*/ S.suspend(() => S.Struct({ acknowledgedUntil: S.optional(S.String), acknowledgementComment: S.optional(S.String), acknowledgingUsername: S.optional(S.String), alertConfigId: S.String, clusterName: S.String, created: S.String, currentValue: S.optional(HostMetricValue), eventTypeName: FlexMetricEventTypeViewAlertable, groupId: S.optional(S.String), id: S.String, lastNotified: S.optional(S.String), links: S.optional(FlexMetricAlertLinksList), metricName: S.optional(S.String), orgId: S.optional(S.String), resolved: S.optional(S.String), status: FlexMetricAlertStatus, updated: S.String, }), ).annotate({ identifier: "FlexMetricAlert", }) as any as S.Schema; /** Event type that triggers an alert. */ export type HostMetricEventTypeViewAlertable = "OUTSIDE_METRIC_THRESHOLD"; export const HostMetricEventTypeViewAlertable = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type HostMetricAlertLinksList = Array; export const HostMetricAlertLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ export type HostMetricAlertStatus = | "CANCELLED" | "CLOSED" | "OPEN" | "TRACKING"; export const HostMetricAlertStatus = S.String; /** Host Metric Alert notifies about changes of measurements or metrics for mongod host. */ export interface HostMetricAlert { /** Date and time until which this alert has been acknowledged. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if a MongoDB User previously acknowledged this alert. - To acknowledge this alert forever, set the parameter value to 100 years in the future. - To unacknowledge a previously acknowledged alert, do not set this parameter value. */ acknowledgedUntil?: string; /** Comment that a MongoDB Cloud user submitted when acknowledging the alert. */ acknowledgementComment?: string; /** MongoDB Cloud username of the person who acknowledged the alert. The response returns this parameter if a MongoDB Cloud user previously acknowledged this alert. */ acknowledgingUsername?: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration that sets this alert. */ alertConfigId: string; /** Human-readable label that identifies the cluster to which this alert applies. This resource returns this parameter for alerts of events impacting backups, replica sets, or sharded clusters. */ clusterName?: string; /** Date and time when MongoDB Cloud created this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; currentValue?: HostMetricValue; eventTypeName: HostMetricEventTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert. */ groupId?: string; /** Hostname and port of the host to which this alert applies. The resource returns this parameter for alerts of events impacting hosts or replica sets. */ hostnameAndPort?: string; /** Unique 24-hexadecimal digit string that identifies this alert. */ id: string; /** Date and time that any notifications were last sent for this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if MongoDB Cloud has sent notifications for this alert. */ lastNotified?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: HostMetricAlertLinksList; /** Name of the metric against which Atlas checks the configured `metricThreshold.threshold`. To learn more about the available metrics, see Host Metrics. **NOTE**: If you set `eventTypeName` to `OUTSIDE_SERVERLESS_METRIC_THRESHOLD`, you can specify only metrics available for serverless. To learn more, see Serverless Measurements. */ metricName?: string; /** Unique 24-hexadecimal character string that identifies the organization that owns the project to which this alert applies. */ orgId?: string; /** Name of the replica set to which this alert applies. The response returns this parameter for alerts of events impacting backups, hosts, or replica sets. */ replicaSetName?: string; /** Date and time that this alert changed to `"status" : "CLOSED"`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter once `"status" : "CLOSED"`. */ resolved?: string; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ status: HostMetricAlertStatus; /** Date and time when someone last updated this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated: string; } export const HostMetricAlert = /*@__PURE__*/ S.suspend(() => S.Struct({ acknowledgedUntil: S.optional(S.String), acknowledgementComment: S.optional(S.String), acknowledgingUsername: S.optional(S.String), alertConfigId: S.String, clusterName: S.optional(S.String), created: S.String, currentValue: S.optional(HostMetricValue), eventTypeName: HostMetricEventTypeViewAlertable, groupId: S.optional(S.String), hostnameAndPort: S.optional(S.String), id: S.String, lastNotified: S.optional(S.String), links: S.optional(HostMetricAlertLinksList), metricName: S.optional(S.String), orgId: S.optional(S.String), replicaSetName: S.optional(S.String), resolved: S.optional(S.String), status: HostMetricAlertStatus, updated: S.String, }), ).annotate({ identifier: "HostMetricAlert", }) as any as S.Schema; /** Incident that triggered this alert. */ export type ReplicaSetEventTypeViewForNdsGroupAlertable = | "REPLICATION_OPLOG_WINDOW_RUNNING_OUT" | "NO_PRIMARY" | "PRIMARY_ELECTED" | "TOO_MANY_ELECTIONS" | "TOO_FEW_HEALTHY_MEMBERS" | "TOO_MANY_UNHEALTHY_MEMBERS"; export const ReplicaSetEventTypeViewForNdsGroupAlertable = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ReplicaSetAlertViewForNdsGroupLinksList = Array; export const ReplicaSetAlertViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of unique 24-hexadecimal character strings that identify the replica set members that are not in PRIMARY nor SECONDARY state. */ export type ReplicaSetAlertViewForNdsGroupNonRunningHostIdsList = Array; export const ReplicaSetAlertViewForNdsGroupNonRunningHostIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ export type ReplicaSetAlertViewForNdsGroupStatus = | "CANCELLED" | "CLOSED" | "OPEN" | "TRACKING"; export const ReplicaSetAlertViewForNdsGroupStatus = S.String; /** Replica Set alert notifies about different activities on replica set of mongod instances. */ export interface ReplicaSetAlertViewForNdsGroup { /** Date and time until which this alert has been acknowledged. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if a MongoDB User previously acknowledged this alert. - To acknowledge this alert forever, set the parameter value to 100 years in the future. - To unacknowledge a previously acknowledged alert, do not set this parameter value. */ acknowledgedUntil?: string; /** Comment that a MongoDB Cloud user submitted when acknowledging the alert. */ acknowledgementComment?: string; /** MongoDB Cloud username of the person who acknowledged the alert. The response returns this parameter if a MongoDB Cloud user previously acknowledged this alert. */ acknowledgingUsername?: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration that sets this alert. */ alertConfigId: string; /** Human-readable label that identifies the cluster to which this alert applies. This resource returns this parameter for alerts of events impacting backups, replica sets, or sharded clusters. */ clusterName?: string; /** Date and time when MongoDB Cloud created this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: ReplicaSetEventTypeViewForNdsGroupAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert. */ groupId?: string; /** Hostname and port of the host to which this alert applies. The resource returns this parameter for alerts of events impacting hosts or replica sets. */ hostnameAndPort?: string; /** Unique 24-hexadecimal digit string that identifies this alert. */ id: string; /** Date and time that any notifications were last sent for this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if MongoDB Cloud has sent notifications for this alert. */ lastNotified?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ReplicaSetAlertViewForNdsGroupLinksList; /** List of unique 24-hexadecimal character strings that identify the replica set members that are not in PRIMARY nor SECONDARY state. */ nonRunningHostIds?: ReplicaSetAlertViewForNdsGroupNonRunningHostIdsList; /** Unique 24-hexadecimal character string that identifies the organization that owns the project to which this alert applies. */ orgId?: string; /** Unique 24-hexadecimal character string that identifies the parent cluster to which this alert applies. The parent cluster contains the sharded nodes. MongoDB Cloud returns this parameter only for alerts of events impacting sharded clusters. */ parentClusterId?: string; /** Name of the replica set to which this alert applies. The response returns this parameter for alerts of events impacting backups, hosts, or replica sets. */ replicaSetName?: string; /** Date and time that this alert changed to `"status" : "CLOSED"`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter once `"status" : "CLOSED"`. */ resolved?: string; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ status: ReplicaSetAlertViewForNdsGroupStatus; /** Date and time when someone last updated this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated: string; } export const ReplicaSetAlertViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ acknowledgedUntil: S.optional(S.String), acknowledgementComment: S.optional(S.String), acknowledgingUsername: S.optional(S.String), alertConfigId: S.String, clusterName: S.optional(S.String), created: S.String, eventTypeName: ReplicaSetEventTypeViewForNdsGroupAlertable, groupId: S.optional(S.String), hostnameAndPort: S.optional(S.String), id: S.String, lastNotified: S.optional(S.String), links: S.optional(ReplicaSetAlertViewForNdsGroupLinksList), nonRunningHostIds: S.optional( ReplicaSetAlertViewForNdsGroupNonRunningHostIdsList, ), orgId: S.optional(S.String), parentClusterId: S.optional(S.String), replicaSetName: S.optional(S.String), resolved: S.optional(S.String), status: ReplicaSetAlertViewForNdsGroupStatus, updated: S.String, }), ).annotate({ identifier: "ReplicaSetAlertViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamProcessorAlertViewForNdsGroupLinksList = Array; export const StreamProcessorAlertViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ export type StreamProcessorAlertViewForNdsGroupStatus = | "CANCELLED" | "CLOSED" | "OPEN" | "TRACKING"; export const StreamProcessorAlertViewForNdsGroupStatus = S.String; /** Stream Processor alert notifies about activities on Stream Processor in Atlas Streams. */ export interface StreamProcessorAlertViewForNdsGroup { /** Date and time until which this alert has been acknowledged. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if a MongoDB User previously acknowledged this alert. - To acknowledge this alert forever, set the parameter value to 100 years in the future. - To unacknowledge a previously acknowledged alert, do not set this parameter value. */ acknowledgedUntil?: string; /** Comment that a MongoDB Cloud user submitted when acknowledging the alert. */ acknowledgementComment?: string; /** MongoDB Cloud username of the person who acknowledged the alert. The response returns this parameter if a MongoDB Cloud user previously acknowledged this alert. */ acknowledgingUsername?: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration that sets this alert. */ alertConfigId: string; /** Date and time when MongoDB Cloud created this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: HostEventTypeViewForNdsGroupAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert. */ id: string; /** The name of the Stream Processing Workspace to which this alert applies. The resource returns this parameter for alerts of events impacting Stream Processing Workspaces. */ instanceName?: string; /** Date and time that any notifications were last sent for this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if MongoDB Cloud has sent notifications for this alert. */ lastNotified?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamProcessorAlertViewForNdsGroupLinksList; /** Unique 24-hexadecimal character string that identifies the organization that owns the project to which this alert applies. */ orgId?: string; /** The error message associated with the Stream Processor to which this alert applies. */ processorErrorMsg?: string; /** The name of the Stream Processor to which this alert applies. The resource returns this parameter for alerts of events impacting Stream Processors. */ processorName?: string; /** The state of the Stream Processor to which this alert applies. The resource returns this parameter for alerts of events impacting Stream Processors. */ processorState?: string; /** Date and time that this alert changed to `"status" : "CLOSED"`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter once `"status" : "CLOSED"`. */ resolved?: string; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ status: StreamProcessorAlertViewForNdsGroupStatus; /** Date and time when someone last updated this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated: string; } export const StreamProcessorAlertViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ acknowledgedUntil: S.optional(S.String), acknowledgementComment: S.optional(S.String), acknowledgingUsername: S.optional(S.String), alertConfigId: S.String, created: S.String, eventTypeName: HostEventTypeViewForNdsGroupAlertable, groupId: S.optional(S.String), id: S.String, instanceName: S.optional(S.String), lastNotified: S.optional(S.String), links: S.optional(StreamProcessorAlertViewForNdsGroupLinksList), orgId: S.optional(S.String), processorErrorMsg: S.optional(S.String), processorName: S.optional(S.String), processorState: S.optional(S.String), resolved: S.optional(S.String), status: StreamProcessorAlertViewForNdsGroupStatus, updated: S.String, }), ).annotate({ identifier: "StreamProcessorAlertViewForNdsGroup", }) as any as S.Schema; export type DefaultAlertViewForNdsGroupEventTypeNameCase0 = | "CREDIT_CARD_ABOUT_TO_EXPIRE" | "PENDING_INVOICE_OVER_THRESHOLD" | "DAILY_BILL_OVER_THRESHOLD" | "DAILY_BILLING_CHANGE_OVER_THRESHOLD" | "WEEKLY_BILLING_CHANGE_OVER_THRESHOLD" | "MONTHLY_BILLING_CHANGE_OVER_THRESHOLD"; export const DefaultAlertViewForNdsGroupEventTypeNameCase0 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase1 = | "CPS_SNAPSHOT_STARTED" | "CPS_SNAPSHOT_SUCCESSFUL" | "CPS_SNAPSHOT_FAILED" | "CPS_CONCURRENT_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_SNAPSHOT_BEHIND" | "CPS_COPY_SNAPSHOT_STARTED" | "CPS_COPY_SNAPSHOT_FAILED" | "CPS_COPY_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_COPY_SNAPSHOT_SUCCESSFUL" | "CPS_PREV_SNAPSHOT_OLD" | "CPS_SNAPSHOT_FALLBACK_SUCCESSFUL" | "CPS_SNAPSHOT_FALLBACK_FAILED" | "CPS_RESTORE_SUCCESSFUL" | "CPS_EXPORT_SUCCESSFUL" | "CPS_RESTORE_FAILED" | "CPS_EXPORT_FAILED" | "CPS_COLLECTION_RESTORE_SUCCESSFUL" | "CPS_COLLECTION_RESTORE_FAILED" | "CPS_COLLECTION_RESTORE_PARTIAL_SUCCESS" | "CPS_COLLECTION_RESTORE_CANCELED" | "CPS_AUTO_EXPORT_FAILED" | "CPS_SNAPSHOT_DOWNLOAD_REQUEST_FAILED" | "CPS_OPLOG_BEHIND" | "CPS_OPLOG_CAUGHT_UP"; export const DefaultAlertViewForNdsGroupEventTypeNameCase1 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase2 = | "AWS_ENCRYPTION_KEY_NEEDS_ROTATION" | "AZURE_ENCRYPTION_KEY_NEEDS_ROTATION" | "GCP_ENCRYPTION_KEY_NEEDS_ROTATION" | "AWS_ENCRYPTION_KEY_INVALID" | "AZURE_ENCRYPTION_KEY_INVALID" | "GCP_ENCRYPTION_KEY_INVALID"; export const DefaultAlertViewForNdsGroupEventTypeNameCase2 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase3 = | "FTS_INDEX_DELETION_FAILED" | "FTS_INDEX_BUILD_COMPLETE" | "FTS_INDEX_BUILD_FAILED" | "FTS_INDEX_CLEANED_UP" | "FTS_INDEX_STALE" | "FTS_INDEXES_RESTORE_FAILED" | "FTS_INDEXES_SYNONYM_MAPPING_INVALID"; export const DefaultAlertViewForNdsGroupEventTypeNameCase3 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase4 = | "USERS_WITHOUT_MULTI_FACTOR_AUTH" | "ENCRYPTION_AT_REST_KMS_NETWORK_ACCESS_DENIED" | "ENCRYPTION_AT_REST_CONFIG_NO_LONGER_VALID" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRING" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRED" | "ACTIVE_LEGACY_TLS_CONNECTIONS" | "WEBHOOK_TEMPLATE_RENDER_FAILED"; export const DefaultAlertViewForNdsGroupEventTypeNameCase4 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase5 = "MONGOTUNE_ALERT"; export const DefaultAlertViewForNdsGroupEventTypeNameCase5 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase6 = | "CLUSTER_INSTANCE_STOP_START" | "CLUSTER_INSTANCE_RESYNC_REQUESTED" | "CLUSTER_INSTANCE_UPDATE_REQUESTED" | "SAMPLE_DATASET_LOAD_REQUESTED" | "TENANT_UPGRADE_TO_SERVERLESS_SUCCESSFUL" | "TENANT_UPGRADE_TO_SERVERLESS_FAILED" | "NETWORK_PERMISSION_ENTRY_ADDED" | "NETWORK_PERMISSION_ENTRY_REMOVED" | "NETWORK_PERMISSION_ENTRY_UPDATED" | "CLUSTER_BLOCK_WRITE" | "CLUSTER_UNBLOCK_WRITE" | "LOG_STREAMING_EXPORT_FAILED_NONRETRYABLE" | "LOG_STREAMING_EXPORT_FAILED_RETRIES_EXHAUSTED" | "LOG_STREAMING_REPLAY_FAILED"; export const DefaultAlertViewForNdsGroupEventTypeNameCase6 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase7 = | "MAINTENANCE_IN_ADVANCED" | "MAINTENANCE_AUTO_DEFERRED" | "MAINTENANCE_STARTED" | "MAINTENANCE_COMPLETED" | "MAINTENANCE_NO_LONGER_NEEDED"; export const DefaultAlertViewForNdsGroupEventTypeNameCase7 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase8 = | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CA_EXPIRATION_CHECK" | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CRL_EXPIRATION_CHECK" | "NDS_X509_USER_AUTHENTICATION_MANAGED_USER_CERTS_EXPIRATION_CHECK"; export const DefaultAlertViewForNdsGroupEventTypeNameCase8 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase9 = | "ONLINE_ARCHIVE_INSUFFICIENT_INDEXES_CHECK" | "ONLINE_ARCHIVE_MAX_CONSECUTIVE_OFFLOAD_WINDOWS_CHECK"; export const DefaultAlertViewForNdsGroupEventTypeNameCase9 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase10 = "OUTSIDE_SERVERLESS_METRIC_THRESHOLD"; export const DefaultAlertViewForNdsGroupEventTypeNameCase10 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase11 = "OUTSIDE_FLEX_METRIC_THRESHOLD"; export const DefaultAlertViewForNdsGroupEventTypeNameCase11 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase12 = | "JOINED_GROUP" | "REMOVED_FROM_GROUP" | "USER_ROLES_CHANGED_AUDIT"; export const DefaultAlertViewForNdsGroupEventTypeNameCase12 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase13 = | "TAGS_MODIFIED" | "CLUSTER_TAGS_MODIFIED" | "GROUP_TAGS_MODIFIED"; export const DefaultAlertViewForNdsGroupEventTypeNameCase13 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase14 = | "STREAM_PROCESSOR_STATE_IS_FAILED" | "STREAM_PROCESSOR_AUTOSCALE_INITIATED" | "OUTSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD"; export const DefaultAlertViewForNdsGroupEventTypeNameCase14 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase15 = | "COMPUTE_AUTO_SCALE_INITIATED_BASE" | "COMPUTE_AUTO_SCALE_INITIATED_ANALYTICS" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_BASE" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_ANALYTICS" | "DISK_AUTO_SCALE_INITIATED" | "DISK_AUTO_SCALE_MAX_DISK_SIZE_FAIL" | "DISK_AUTO_SCALE_OPLOG_FAIL" | "PREDICTIVE_COMPUTE_AUTO_SCALE_INITIATED_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "CLUSTER_AUTO_SHARDING_INITIATED" | "CLUSTER_RESHARDING_COMPLETED" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_BASE" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_ANALYTICS"; export const DefaultAlertViewForNdsGroupEventTypeNameCase15 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase16 = | "CPS_DATA_PROTECTION_ENABLE_REQUESTED" | "CPS_DATA_PROTECTION_ENABLED" | "CPS_DATA_PROTECTION_UPDATE_REQUESTED" | "CPS_DATA_PROTECTION_UPDATED" | "CPS_DATA_PROTECTION_DISABLE_REQUESTED" | "CPS_DATA_PROTECTION_DISABLED" | "CPS_DATA_PROTECTION_APPROVED_FOR_DISABLEMENT"; export const DefaultAlertViewForNdsGroupEventTypeNameCase16 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase17 = "RESOURCE_POLICY_VIOLATED"; export const DefaultAlertViewForNdsGroupEventTypeNameCase17 = S.String; export type DefaultAlertViewForNdsGroupEventTypeNameCase18 = | "HOST_DOWN" | "HOST_HAS_INDEX_SUGGESTIONS" | "HOST_MONGOT_CRASHING_OOM" | "HOST_MONGOT_STOP_REPLICATION" | "HOST_MONGOT_APPROACHING_STOP_REPLICATION" | "HOST_MONGOT_PAUSE_INITIAL_SYNC" | "HOST_SEARCH_NODE_INDEX_FAILED" | "HOST_SEARCH_PROCESS_THROTTLING" | "HOST_EXTERNAL_LOG_SINK_EXPORT_DOWN" | "HOST_NOT_ENOUGH_DISK_SPACE" | "SSH_KEY_NDS_HOST_ACCESS_REQUESTED" | "SSH_KEY_NDS_HOST_ACCESS_REFRESHED" | "PUSH_BASED_LOG_EXPORT_STOPPED" | "PUSH_BASED_LOG_EXPORT_DROPPED_LOG" | "HOST_VERSION_BEHIND" | "VERSION_BEHIND" | "HOST_EXPOSED" | "HOST_SSL_CERTIFICATE_STALE" | "HOST_SECURITY_CHECKUP_NOT_MET" | "ALERT_HOST_SSH_SESSION_STARTED" | "PROFILER_CONFIGURED_TOO_WIDELY"; export const DefaultAlertViewForNdsGroupEventTypeNameCase18 = S.String; /** Incident that triggered this alert. */ export type DefaultAlertViewForNdsGroupEventTypeName = | DefaultAlertViewForNdsGroupEventTypeNameCase0 | DefaultAlertViewForNdsGroupEventTypeNameCase1 | DefaultAlertViewForNdsGroupEventTypeNameCase2 | DefaultAlertViewForNdsGroupEventTypeNameCase3 | DefaultAlertViewForNdsGroupEventTypeNameCase4 | DefaultAlertViewForNdsGroupEventTypeNameCase5 | DefaultAlertViewForNdsGroupEventTypeNameCase6 | DefaultAlertViewForNdsGroupEventTypeNameCase7 | DefaultAlertViewForNdsGroupEventTypeNameCase8 | DefaultAlertViewForNdsGroupEventTypeNameCase9 | DefaultAlertViewForNdsGroupEventTypeNameCase10 | DefaultAlertViewForNdsGroupEventTypeNameCase11 | DefaultAlertViewForNdsGroupEventTypeNameCase12 | DefaultAlertViewForNdsGroupEventTypeNameCase13 | DefaultAlertViewForNdsGroupEventTypeNameCase14 | DefaultAlertViewForNdsGroupEventTypeNameCase15 | DefaultAlertViewForNdsGroupEventTypeNameCase16 | DefaultAlertViewForNdsGroupEventTypeNameCase17 | DefaultAlertViewForNdsGroupEventTypeNameCase18; export const DefaultAlertViewForNdsGroupEventTypeName = S.Unknown as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DefaultAlertViewForNdsGroupLinksList = Array; export const DefaultAlertViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ export type DefaultAlertViewForNdsGroupStatus = | "CANCELLED" | "CLOSED" | "OPEN" | "TRACKING"; export const DefaultAlertViewForNdsGroupStatus = S.String; /** Other alerts which don't have extra details beside of basic one. */ export interface DefaultAlertViewForNdsGroup { /** Date and time until which this alert has been acknowledged. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if a MongoDB User previously acknowledged this alert. - To acknowledge this alert forever, set the parameter value to 100 years in the future. - To unacknowledge a previously acknowledged alert, do not set this parameter value. */ acknowledgedUntil?: string; /** Comment that a MongoDB Cloud user submitted when acknowledging the alert. */ acknowledgementComment?: string; /** MongoDB Cloud username of the person who acknowledged the alert. The response returns this parameter if a MongoDB Cloud user previously acknowledged this alert. */ acknowledgingUsername?: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration that sets this alert. */ alertConfigId: string; /** Date and time when MongoDB Cloud created this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; /** Incident that triggered this alert. */ eventTypeName: DefaultAlertViewForNdsGroupEventTypeName; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert. */ id: string; /** Date and time that any notifications were last sent for this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter if MongoDB Cloud has sent notifications for this alert. */ lastNotified?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DefaultAlertViewForNdsGroupLinksList; /** Unique 24-hexadecimal character string that identifies the organization that owns the project to which this alert applies. */ orgId?: string; /** Date and time that this alert changed to `"status" : "CLOSED"`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. The resource returns this parameter once `"status" : "CLOSED"`. */ resolved?: string; /** State of this alert at the time you requested its details. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ status: DefaultAlertViewForNdsGroupStatus; /** Date and time when someone last updated this alert. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated: string; } export const DefaultAlertViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ acknowledgedUntil: S.optional(S.String), acknowledgementComment: S.optional(S.String), acknowledgingUsername: S.optional(S.String), alertConfigId: S.String, created: S.String, eventTypeName: DefaultAlertViewForNdsGroupEventTypeName, groupId: S.optional(S.String), id: S.String, lastNotified: S.optional(S.String), links: S.optional(DefaultAlertViewForNdsGroupLinksList), orgId: S.optional(S.String), resolved: S.optional(S.String), status: DefaultAlertViewForNdsGroupStatus, updated: S.String, }), ).annotate({ identifier: "DefaultAlertViewForNdsGroup", }) as any as S.Schema; export type AlertViewForNdsGroup = | AppServiceAlertView | ClusterAlertViewForNdsGroup | HostAlertViewForNdsGroup | FlexMetricAlert | HostMetricAlert | ReplicaSetAlertViewForNdsGroup | StreamProcessorAlertViewForNdsGroup | DefaultAlertViewForNdsGroup; export const AlertViewForNdsGroup = S.Unknown as any as S.Schema; export type AcknowledgeGroupAlertResponse = AlertViewForNdsGroup; export const AcknowledgeGroupAlertResponse = /*@__PURE__*/ S.suspend(() => AlertViewForNdsGroup.pipe(T.RawResponseRoot()), ).annotate({ identifier: "AcknowledgeGroupAlertResponse", }) as any as S.Schema; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this project. */ export type UserAccessRoleAssignmentInputRolesList = Array; export const UserAccessRoleAssignmentInputRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UserAccessRoleAssignmentInput { /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this project. */ roles?: UserAccessRoleAssignmentInputRolesList; } export const UserAccessRoleAssignmentInput = /*@__PURE__*/ S.suspend(() => S.Struct({ roles: S.optional(UserAccessRoleAssignmentInputRolesList), }), ).annotate({ identifier: "UserAccessRoleAssignmentInput", }) as any as S.Schema; /** Explanatory text that describes this API key, the list of roles to grant this API key, or both. */ export type AddGroupApiKeyRequestBodyList = Array; export const AddGroupApiKeyRequestBodyList = /*@__PURE__*/ S.Array( UserAccessRoleAssignmentInput, ) as any as S.Schema; export interface AddGroupApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project. */ apiUserId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; body: AddGroupApiKeyRequestBodyList; } export const AddGroupApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), body: AddGroupApiKeyRequestBodyList.pipe(T.HttpBody()), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/apiKeys/{apiUserId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "AddGroupApiKeyRequest", }) as any as S.Schema; export interface AddGroupApiKeyResponse {} export const AddGroupApiKeyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "AddGroupApiKeyResponse", }) as any as S.Schema; /** One or more project-level roles to assign to the team. */ export type TeamRoleInputRoleNamesList = Array; export const TeamRoleInputRoleNamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TeamRoleInput { /** One or more project-level roles to assign to the team. */ roleNames: TeamRoleInputRoleNamesList; /** Unique 24-hexadecimal character string that identifies the team. */ teamId: string; } export const TeamRoleInput = /*@__PURE__*/ S.suspend(() => S.Struct({ roleNames: TeamRoleInputRoleNamesList, teamId: S.String, }), ).annotate({ identifier: "TeamRoleInput" }) as any as S.Schema; export type AddGroupTeamsRequestBodyList = Array; export const AddGroupTeamsRequestBodyList = /*@__PURE__*/ S.Array( TeamRoleInput, ) as any as S.Schema; export interface AddGroupTeamsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; body: AddGroupTeamsRequestBodyList; } export const AddGroupTeamsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), body: AddGroupTeamsRequestBodyList.pipe(T.HttpBody()), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/teams", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "AddGroupTeamsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedTeamRoleViewLinksList = Array; export const PaginatedTeamRoleViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type TeamRoleLinksList = Array; export const TeamRoleLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** One or more project-level roles to assign to the team. */ export type TeamRoleRoleNamesList = Array; export const TeamRoleRoleNamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TeamRole { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: TeamRoleLinksList; /** One or more project-level roles to assign to the team. */ roleNames: TeamRoleRoleNamesList; /** Unique 24-hexadecimal character string that identifies the team. */ teamId: string; } export const TeamRole = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(TeamRoleLinksList), roleNames: TeamRoleRoleNamesList, teamId: S.String, }), ).annotate({ identifier: "TeamRole" }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedTeamRoleViewResultsList = Array; export const PaginatedTeamRoleViewResultsList = /*@__PURE__*/ S.Array( TeamRole, ) as any as S.Schema; export interface PaginatedTeamRoleView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedTeamRoleViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedTeamRoleViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedTeamRoleView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedTeamRoleViewLinksList), results: PaginatedTeamRoleViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedTeamRoleView", }) as any as S.Schema; export interface AddGroupUserRoleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the pending or active user in the project. If you need to lookup a user's `userId` or verify a user's status in the organization, use the Return All MongoDB Cloud Users in One Project resource and filter by `username`. */ userId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Project-level role to assign to or remove from the MongoDB Cloud user. */ groupRole: string; } export const AddGroupUserRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), userId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), groupRole: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/users/{userId}:addRole", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "AddGroupUserRoleRequest", }) as any as S.Schema; /** String enum that indicates the user's organization membership status: ACTIVE (member), PENDING (invited), `INVITATION_EXPIRED` (invitation expired), or `INVITATION_REJECTED` (invitation declined). */ export type GroupPendingUserResponseOrgMembershipStatus = | "PENDING" | "ACTIVE" | "INVITATION_EXPIRED" | "INVITATION_REJECTED"; export const GroupPendingUserResponseOrgMembershipStatus = S.String; /** One or more project-level roles assigned to the MongoDB Cloud user. */ export type GroupPendingUserResponseRolesList = Array; export const GroupPendingUserResponseRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface GroupPendingUserResponse { /** Two-character alphabetical string that identifies the MongoDB Cloud user's geographic location. This parameter uses the ISO 3166-1a2 code format. */ country?: string; /** Date and time when MongoDB Cloud created the current account. This value is in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** First or given name that belongs to the MongoDB Cloud user. */ firstName?: string; /** Date and time when the current account last authenticated. This value is in the ISO 8601 timestamp format in UTC. */ lastAuth?: string; /** Last name, family name, or surname that belongs to the MongoDB Cloud user. */ lastName?: string; /** Mobile phone number that belongs to the MongoDB Cloud user. */ mobileNumber?: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user. */ id: string; /** String enum that indicates the user's organization membership status: ACTIVE (member), PENDING (invited), `INVITATION_EXPIRED` (invitation expired), or `INVITATION_REJECTED` (invitation declined). */ orgMembershipStatus: GroupPendingUserResponseOrgMembershipStatus; /** One or more project-level roles assigned to the MongoDB Cloud user. */ roles: GroupPendingUserResponseRolesList; /** Email address that represents the username of the MongoDB Cloud user. */ username: string; /** Date and time when MongoDB Cloud sent the invitation. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users. */ invitationCreatedAt: string; /** Date and time when the invitation from MongoDB Cloud expires. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users and null for rejected invitations. */ invitationExpiresAt?: string | null; /** Username of the MongoDB Cloud user who sent the invitation to join the organization. */ inviterUsername: string; } export const GroupPendingUserResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ country: S.optional(S.String), createdAt: S.optional(S.String), firstName: S.optional(S.String), lastAuth: S.optional(S.String), lastName: S.optional(S.String), mobileNumber: S.optional(S.String), id: S.String, orgMembershipStatus: GroupPendingUserResponseOrgMembershipStatus, roles: GroupPendingUserResponseRolesList, username: S.String, invitationCreatedAt: S.String, invitationExpiresAt: S.optional(S.NullOr(S.String)), inviterUsername: S.String, }), ).annotate({ identifier: "GroupPendingUserResponse", }) as any as S.Schema; /** String enum that indicates the user's organization membership status: ACTIVE (member), PENDING (invited), `INVITATION_EXPIRED` (invitation expired), or `INVITATION_REJECTED` (invitation declined). */ export type GroupActiveUserResponseOrgMembershipStatus = | "PENDING" | "ACTIVE" | "INVITATION_EXPIRED" | "INVITATION_REJECTED"; export const GroupActiveUserResponseOrgMembershipStatus = S.String; /** One or more project-level roles assigned to the MongoDB Cloud user. */ export type GroupActiveUserResponseRolesList = Array; export const GroupActiveUserResponseRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface GroupActiveUserResponse { /** Two-character alphabetical string that identifies the MongoDB Cloud user's geographic location. This parameter uses the ISO 3166-1a2 code format. */ country?: string; /** Date and time when MongoDB Cloud created the current account. This value is in the ISO 8601 timestamp format in UTC. */ createdAt: string; /** First or given name that belongs to the MongoDB Cloud user. */ firstName: string; /** Date and time when the current account last authenticated. This value is in the ISO 8601 timestamp format in UTC. */ lastAuth?: string; /** Last name, family name, or surname that belongs to the MongoDB Cloud user. */ lastName: string; /** Mobile phone number that belongs to the MongoDB Cloud user. */ mobileNumber?: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user. */ id: string; /** String enum that indicates the user's organization membership status: ACTIVE (member), PENDING (invited), `INVITATION_EXPIRED` (invitation expired), or `INVITATION_REJECTED` (invitation declined). */ orgMembershipStatus: GroupActiveUserResponseOrgMembershipStatus; /** One or more project-level roles assigned to the MongoDB Cloud user. */ roles: GroupActiveUserResponseRolesList; /** Email address that represents the username of the MongoDB Cloud user. */ username: string; /** Date and time when MongoDB Cloud sent the invitation. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users. */ invitationCreatedAt?: string; /** Date and time when the invitation from MongoDB Cloud expires. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users and null for rejected invitations. */ invitationExpiresAt?: string | null; /** Username of the MongoDB Cloud user who sent the invitation to join the organization. */ inviterUsername?: string; } export const GroupActiveUserResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ country: S.optional(S.String), createdAt: S.String, firstName: S.String, lastAuth: S.optional(S.String), lastName: S.String, mobileNumber: S.optional(S.String), id: S.String, orgMembershipStatus: GroupActiveUserResponseOrgMembershipStatus, roles: GroupActiveUserResponseRolesList, username: S.String, invitationCreatedAt: S.optional(S.String), invitationExpiresAt: S.optional(S.NullOr(S.String)), inviterUsername: S.optional(S.String), }), ).annotate({ identifier: "GroupActiveUserResponse", }) as any as S.Schema; export type GroupUserResponse = | GroupPendingUserResponse | GroupActiveUserResponse; export const GroupUserResponse = S.Unknown as any as S.Schema; /** One or more project-level roles to assign the MongoDB Cloud user. */ export type AddGroupUsersRequestRolesList = Array; export const AddGroupUsersRequestRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AddGroupUsersRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** One or more project-level roles to assign the MongoDB Cloud user. */ roles: AddGroupUsersRequestRolesList; /** Email address that represents the username of the MongoDB Cloud user. */ username: string; } export const AddGroupUsersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), roles: AddGroupUsersRequestRolesList, username: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/users", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "AddGroupUsersRequest", }) as any as S.Schema; export interface AddOrgTeamUserRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the team to add the MongoDB Cloud user to. */ teamId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user. */ id: string; } export const AddOrgTeamUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), teamId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), id: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/teams/{teamId}:addUser", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "AddOrgTeamUserRequest", }) as any as S.Schema; /** String enum that indicates the user's organization membership status: ACTIVE (member), PENDING (invited), `INVITATION_EXPIRED` (invitation expired), or `INVITATION_REJECTED` (invitation declined). */ export type OrgPendingUserResponseOrgMembershipStatus = | "PENDING" | "ACTIVE" | "INVITATION_EXPIRED" | "INVITATION_REJECTED"; export const OrgPendingUserResponseOrgMembershipStatus = S.String; /** One or more project-level roles assigned to the MongoDB Cloud user. */ export type GroupRoleAssignmentGroupRolesList = Array; export const GroupRoleAssignmentGroupRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface GroupRoleAssignment { /** Unique 24-hexadecimal digit string that identifies the project to which these roles belong. */ groupId?: string; /** One or more project-level roles assigned to the MongoDB Cloud user. */ groupRoles?: GroupRoleAssignmentGroupRolesList; } export const GroupRoleAssignment = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.optional(S.String), groupRoles: S.optional(GroupRoleAssignmentGroupRolesList), }), ).annotate({ identifier: "GroupRoleAssignment", }) as any as S.Schema; /** List of project-level role assignments assigned to the MongoDB Cloud user. */ export type OrgUserRolesResponseGroupRoleAssignmentsList = Array; export const OrgUserRolesResponseGroupRoleAssignmentsList = /*@__PURE__*/ S.Array( GroupRoleAssignment, ) as any as S.Schema; /** Organization-level role. */ export type OrgUserRolesResponseOrgRolesItem = | "ORG_OWNER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_READ_ONLY" | "ORG_MEMBER"; export const OrgUserRolesResponseOrgRolesItem = S.String; /** One or more organization-level roles assigned to the MongoDB Cloud user. */ export type OrgUserRolesResponseOrgRolesList = Array; export const OrgUserRolesResponseOrgRolesList = /*@__PURE__*/ S.Array( OrgUserRolesResponseOrgRolesItem, ) as any as S.Schema; /** Organization- and project-level roles assigned to one MongoDB Cloud user within one organization. */ export interface OrgUserRolesResponse { /** List of project-level role assignments assigned to the MongoDB Cloud user. */ groupRoleAssignments?: OrgUserRolesResponseGroupRoleAssignmentsList; /** One or more organization-level roles assigned to the MongoDB Cloud user. */ orgRoles?: OrgUserRolesResponseOrgRolesList; } export const OrgUserRolesResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ groupRoleAssignments: S.optional( OrgUserRolesResponseGroupRoleAssignmentsList, ), orgRoles: S.optional(OrgUserRolesResponseOrgRolesList), }), ).annotate({ identifier: "OrgUserRolesResponse", }) as any as S.Schema; /** List of unique 24-hexadecimal digit strings that identifies the teams to which this MongoDB Cloud user belongs. */ export type OrgPendingUserResponseTeamIdsList = Array; export const OrgPendingUserResponseTeamIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OrgPendingUserResponse { /** Two-character alphabetical string that identifies the MongoDB Cloud user's geographic location. This parameter uses the ISO 3166-1a2 code format. */ country?: string; /** Date and time when MongoDB Cloud created the current account. This value is in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** First or given name that belongs to the MongoDB Cloud user. */ firstName?: string; /** Date and time when the current account last authenticated. This value is in the ISO 8601 timestamp format in UTC. */ lastAuth?: string; /** Last name, family name, or surname that belongs to the MongoDB Cloud user. */ lastName?: string; /** Mobile phone number that belongs to the MongoDB Cloud user. */ mobileNumber?: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user. */ id: string; /** String enum that indicates the user's organization membership status: ACTIVE (member), PENDING (invited), `INVITATION_EXPIRED` (invitation expired), or `INVITATION_REJECTED` (invitation declined). */ orgMembershipStatus: OrgPendingUserResponseOrgMembershipStatus; roles: OrgUserRolesResponse; /** List of unique 24-hexadecimal digit strings that identifies the teams to which this MongoDB Cloud user belongs. */ teamIds?: OrgPendingUserResponseTeamIdsList; /** Email address that represents the username of the MongoDB Cloud user. */ username: string; /** Date and time when MongoDB Cloud sent the invitation. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users. */ invitationCreatedAt: string; /** Date and time when the invitation from MongoDB Cloud expires. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users and null for rejected invitations. */ invitationExpiresAt?: string | null; /** Username of the MongoDB Cloud user who sent the invitation to join the organization. */ inviterUsername: string; } export const OrgPendingUserResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ country: S.optional(S.String), createdAt: S.optional(S.String), firstName: S.optional(S.String), lastAuth: S.optional(S.String), lastName: S.optional(S.String), mobileNumber: S.optional(S.String), id: S.String, orgMembershipStatus: OrgPendingUserResponseOrgMembershipStatus, roles: OrgUserRolesResponse, teamIds: S.optional(OrgPendingUserResponseTeamIdsList), username: S.String, invitationCreatedAt: S.String, invitationExpiresAt: S.optional(S.NullOr(S.String)), inviterUsername: S.String, }), ).annotate({ identifier: "OrgPendingUserResponse", }) as any as S.Schema; /** String enum that indicates the user's organization membership status: ACTIVE (member), PENDING (invited), `INVITATION_EXPIRED` (invitation expired), or `INVITATION_REJECTED` (invitation declined). */ export type OrgActiveUserResponseOrgMembershipStatus = | "PENDING" | "ACTIVE" | "INVITATION_EXPIRED" | "INVITATION_REJECTED"; export const OrgActiveUserResponseOrgMembershipStatus = S.String; /** List of unique 24-hexadecimal digit strings that identifies the teams to which this MongoDB Cloud user belongs. */ export type OrgActiveUserResponseTeamIdsList = Array; export const OrgActiveUserResponseTeamIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OrgActiveUserResponse { /** Two-character alphabetical string that identifies the MongoDB Cloud user's geographic location. This parameter uses the ISO 3166-1a2 code format. */ country?: string; /** Date and time when MongoDB Cloud created the current account. This value is in the ISO 8601 timestamp format in UTC. */ createdAt: string; /** First or given name that belongs to the MongoDB Cloud user. */ firstName: string; /** Date and time when the current account last authenticated. This value is in the ISO 8601 timestamp format in UTC. */ lastAuth?: string; /** Last name, family name, or surname that belongs to the MongoDB Cloud user. */ lastName: string; /** Mobile phone number that belongs to the MongoDB Cloud user. */ mobileNumber?: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user. */ id: string; /** String enum that indicates the user's organization membership status: ACTIVE (member), PENDING (invited), `INVITATION_EXPIRED` (invitation expired), or `INVITATION_REJECTED` (invitation declined). */ orgMembershipStatus: OrgActiveUserResponseOrgMembershipStatus; roles: OrgUserRolesResponse; /** List of unique 24-hexadecimal digit strings that identifies the teams to which this MongoDB Cloud user belongs. */ teamIds?: OrgActiveUserResponseTeamIdsList; /** Email address that represents the username of the MongoDB Cloud user. */ username: string; /** Date and time when MongoDB Cloud sent the invitation. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users. */ invitationCreatedAt?: string; /** Date and time when the invitation from MongoDB Cloud expires. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users and null for rejected invitations. */ invitationExpiresAt?: string | null; /** Username of the MongoDB Cloud user who sent the invitation to join the organization. */ inviterUsername?: string; } export const OrgActiveUserResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ country: S.optional(S.String), createdAt: S.String, firstName: S.String, lastAuth: S.optional(S.String), lastName: S.String, mobileNumber: S.optional(S.String), id: S.String, orgMembershipStatus: OrgActiveUserResponseOrgMembershipStatus, roles: OrgUserRolesResponse, teamIds: S.optional(OrgActiveUserResponseTeamIdsList), username: S.String, invitationCreatedAt: S.optional(S.String), invitationExpiresAt: S.optional(S.NullOr(S.String)), inviterUsername: S.optional(S.String), }), ).annotate({ identifier: "OrgActiveUserResponse", }) as any as S.Schema; export type OrgUserResponse = OrgPendingUserResponse | OrgActiveUserResponse; export const OrgUserResponse = S.Unknown as any as S.Schema; /** Organization-level role. */ export type AddOrgUserRoleRequestOrgRole = | "ORG_OWNER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_READ_ONLY" | "ORG_MEMBER"; export const AddOrgUserRoleRequestOrgRole = S.String; export interface AddOrgUserRoleRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the pending or active user in the organization. If you need to lookup a user's `userId` or verify a user's status in the organization, use the Return All MongoDB Cloud Users in One Organization resource and filter by `username`. */ userId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Organization-level role. */ orgRole: AddOrgUserRoleRequestOrgRole | (string & {}); } export const AddOrgUserRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), userId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), orgRole: AddOrgUserRoleRequestOrgRole, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/users/{userId}:addRole", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "AddOrgUserRoleRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider of the role. */ export type AuthorizeGroupCloudProviderAccessRoleRequestProviderName = | "AWS" | "AZURE" | "GCP"; export const AuthorizeGroupCloudProviderAccessRoleRequestProviderName = S.String; export interface AuthorizeGroupCloudProviderAccessRoleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the role. Amazon Web Services (AWS) IAM roles and Google Service Accounts return this value as `roleId`. Azure Service Principals return it as `_id`. */ roleId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the cloud provider of the role. */ providerName: | AuthorizeGroupCloudProviderAccessRoleRequestProviderName | (string & {}); } export const AuthorizeGroupCloudProviderAccessRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), roleId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), providerName: AuthorizeGroupCloudProviderAccessRoleRequestProviderName, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/cloudProviderAccess/{roleId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "AuthorizeGroupCloudProviderAccessRoleRequest", }) as any as S.Schema; /** Human-readable label that describes one MongoDB Cloud feature linked to this Amazon Web Services (AWS) Identity and Access Management (IAM) role. */ export type CloudProviderAccessFeatureUsageFeatureType = | "ATLAS_DATA_LAKE" | "ENCRYPTION_AT_REST" | "EXPORT_SNAPSHOT" | "PUSH_BASED_LOG_EXPORT" | "ATLAS_LOG_INTEGRATION"; export const CloudProviderAccessFeatureUsageFeatureType = S.String; /** MongoDB Cloud features associated with this Amazon Web Services (AWS) Identity and Access Management (IAM) role. */ export interface CloudProviderAccessFeatureUsage { /** Human-readable label that describes one MongoDB Cloud feature linked to this Amazon Web Services (AWS) Identity and Access Management (IAM) role. */ featureType?: CloudProviderAccessFeatureUsageFeatureType; } export const CloudProviderAccessFeatureUsage = /*@__PURE__*/ S.suspend(() => S.Struct({ featureType: S.optional(CloudProviderAccessFeatureUsageFeatureType), }), ).annotate({ identifier: "CloudProviderAccessFeatureUsage", }) as any as S.Schema; /** List that contains application features associated with this Azure Service Principal. */ export type CloudProviderAccessAWSIAMRoleFeatureUsagesList = Array; export const CloudProviderAccessAWSIAMRoleFeatureUsagesList = /*@__PURE__*/ S.Array( CloudProviderAccessFeatureUsage, ) as any as S.Schema; /** Provision status of the service account. */ export type CloudProviderAccessAWSIAMRoleStatus = | "IN_PROGRESS" | "COMPLETE" | "FAILED" | "NOT_INITIATED"; export const CloudProviderAccessAWSIAMRoleStatus = S.String; /** Human-readable label that identifies the cloud provider of the role. */ export type CloudProviderAccessAWSIAMRoleProviderName = "AWS" | "AZURE" | "GCP"; export const CloudProviderAccessAWSIAMRoleProviderName = S.String; /** Details that describe the features linked to the Amazon Web Services (AWS) Identity and Access Management (IAM) role. */ export interface CloudProviderAccessAWSIAMRole { /** Unique 24-hexadecimal digit string that identifies the role. Pass this value as the `roleId` path parameter when you request, update, or remove this Azure Service Principal. Azure Service Principals return this identifier as `_id`, while Amazon Web Services (AWS) IAM roles and Google Service Accounts return it as `roleId`. */ _id?: string; /** Azure Active Directory Application ID of Atlas. This field is optional and will be derived from the Azure subscription if not provided. */ atlasAzureAppId?: string; /** Date and time when this Azure Service Principal was created. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdDate?: string; /** List that contains application features associated with this Azure Service Principal. */ featureUsages?: CloudProviderAccessAWSIAMRoleFeatureUsagesList; /** Date and time when this Azure Service Principal was last updated. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ lastUpdatedDate?: string; /** UUID string that identifies the Azure Service Principal. */ servicePrincipalId?: string; /** UUID String that identifies the Azure Active Directory Tenant ID. */ tenantId?: string; /** Email address for the Google Service Account created by Atlas. */ gcpServiceAccountForAtlas?: string; /** Unique 24-hexadecimal digit string that identifies the role. */ roleId?: string; /** Provision status of the service account. */ status?: CloudProviderAccessAWSIAMRoleStatus; /** Human-readable label that identifies the cloud provider of the role. */ providerName: CloudProviderAccessAWSIAMRoleProviderName; /** Amazon Resource Name that identifies the Amazon Web Services (AWS) user account that MongoDB Cloud uses when it assumes the Identity and Access Management (IAM) role. */ atlasAWSAccountArn?: string; /** Unique external ID that MongoDB Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account. */ atlasAssumedRoleExternalId?: string; /** Date and time when someone authorized this role for the specified cloud service provider. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ authorizedDate?: string; /** Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) Identity and Access Management (IAM) role that MongoDB Cloud assumes when it accesses resources in your AWS account. */ iamAssumedRoleArn?: string; } export const CloudProviderAccessAWSIAMRole = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.String), atlasAzureAppId: S.optional(S.String), createdDate: S.optional(S.String), featureUsages: S.optional(CloudProviderAccessAWSIAMRoleFeatureUsagesList), lastUpdatedDate: S.optional(S.String), servicePrincipalId: S.optional(S.String), tenantId: S.optional(S.String), gcpServiceAccountForAtlas: S.optional(S.String), roleId: S.optional(S.String), status: S.optional(CloudProviderAccessAWSIAMRoleStatus), providerName: CloudProviderAccessAWSIAMRoleProviderName, atlasAWSAccountArn: S.optional(S.String), atlasAssumedRoleExternalId: S.optional(S.String), authorizedDate: S.optional(S.String), iamAssumedRoleArn: S.optional(S.String), }), ).annotate({ identifier: "CloudProviderAccessAWSIAMRole", }) as any as S.Schema; /** List that contains application features associated with this Azure Service Principal. */ export type CloudProviderAccessAzureServicePrincipalFeatureUsagesList = Array; export const CloudProviderAccessAzureServicePrincipalFeatureUsagesList = /*@__PURE__*/ S.Array( CloudProviderAccessFeatureUsage, ) as any as S.Schema; /** Provision status of the service account. */ export type CloudProviderAccessAzureServicePrincipalStatus = | "IN_PROGRESS" | "COMPLETE" | "FAILED" | "NOT_INITIATED"; export const CloudProviderAccessAzureServicePrincipalStatus = S.String; /** Human-readable label that identifies the cloud provider of the role. */ export type CloudProviderAccessAzureServicePrincipalProviderName = | "AWS" | "AZURE" | "GCP"; export const CloudProviderAccessAzureServicePrincipalProviderName = S.String; /** Details that describe the features linked to the Azure Service Principal. */ export interface CloudProviderAccessAzureServicePrincipal { /** Unique 24-hexadecimal digit string that identifies the role. Pass this value as the `roleId` path parameter when you request, update, or remove this Azure Service Principal. Azure Service Principals return this identifier as `_id`, while Amazon Web Services (AWS) IAM roles and Google Service Accounts return it as `roleId`. */ _id?: string; /** Azure Active Directory Application ID of Atlas. This field is optional and will be derived from the Azure subscription if not provided. */ atlasAzureAppId?: string; /** Date and time when this Azure Service Principal was created. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdDate?: string; /** List that contains application features associated with this Azure Service Principal. */ featureUsages?: CloudProviderAccessAzureServicePrincipalFeatureUsagesList; /** Date and time when this Azure Service Principal was last updated. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ lastUpdatedDate?: string; /** UUID string that identifies the Azure Service Principal. */ servicePrincipalId?: string; /** UUID String that identifies the Azure Active Directory Tenant ID. */ tenantId?: string; /** Email address for the Google Service Account created by Atlas. */ gcpServiceAccountForAtlas?: string; /** Unique 24-hexadecimal digit string that identifies the role. */ roleId?: string; /** Provision status of the service account. */ status?: CloudProviderAccessAzureServicePrincipalStatus; /** Human-readable label that identifies the cloud provider of the role. */ providerName: CloudProviderAccessAzureServicePrincipalProviderName; /** Amazon Resource Name that identifies the Amazon Web Services (AWS) user account that MongoDB Cloud uses when it assumes the Identity and Access Management (IAM) role. */ atlasAWSAccountArn?: string; /** Unique external ID that MongoDB Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account. */ atlasAssumedRoleExternalId?: string; /** Date and time when someone authorized this role for the specified cloud service provider. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ authorizedDate?: string; /** Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) Identity and Access Management (IAM) role that MongoDB Cloud assumes when it accesses resources in your AWS account. */ iamAssumedRoleArn?: string; } export const CloudProviderAccessAzureServicePrincipal = /*@__PURE__*/ S.suspend( () => S.Struct({ _id: S.optional(S.String), atlasAzureAppId: S.optional(S.String), createdDate: S.optional(S.String), featureUsages: S.optional( CloudProviderAccessAzureServicePrincipalFeatureUsagesList, ), lastUpdatedDate: S.optional(S.String), servicePrincipalId: S.optional(S.String), tenantId: S.optional(S.String), gcpServiceAccountForAtlas: S.optional(S.String), roleId: S.optional(S.String), status: S.optional(CloudProviderAccessAzureServicePrincipalStatus), providerName: CloudProviderAccessAzureServicePrincipalProviderName, atlasAWSAccountArn: S.optional(S.String), atlasAssumedRoleExternalId: S.optional(S.String), authorizedDate: S.optional(S.String), iamAssumedRoleArn: S.optional(S.String), }), ).annotate({ identifier: "CloudProviderAccessAzureServicePrincipal", }) as any as S.Schema; /** List that contains application features associated with this Azure Service Principal. */ export type CloudProviderAccessGCPServiceAccountFeatureUsagesList = Array; export const CloudProviderAccessGCPServiceAccountFeatureUsagesList = /*@__PURE__*/ S.Array( CloudProviderAccessFeatureUsage, ) as any as S.Schema; /** Provision status of the service account. */ export type CloudProviderAccessGCPServiceAccountStatus = | "IN_PROGRESS" | "COMPLETE" | "FAILED" | "NOT_INITIATED"; export const CloudProviderAccessGCPServiceAccountStatus = S.String; /** Human-readable label that identifies the cloud provider of the role. */ export type CloudProviderAccessGCPServiceAccountProviderName = | "AWS" | "AZURE" | "GCP"; export const CloudProviderAccessGCPServiceAccountProviderName = S.String; /** Details that describe the features linked to the GCP Service Account. */ export interface CloudProviderAccessGCPServiceAccount { /** Unique 24-hexadecimal digit string that identifies the role. Pass this value as the `roleId` path parameter when you request, update, or remove this Azure Service Principal. Azure Service Principals return this identifier as `_id`, while Amazon Web Services (AWS) IAM roles and Google Service Accounts return it as `roleId`. */ _id?: string; /** Azure Active Directory Application ID of Atlas. This field is optional and will be derived from the Azure subscription if not provided. */ atlasAzureAppId?: string; /** Date and time when this Azure Service Principal was created. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdDate?: string; /** List that contains application features associated with this Azure Service Principal. */ featureUsages?: CloudProviderAccessGCPServiceAccountFeatureUsagesList; /** Date and time when this Azure Service Principal was last updated. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ lastUpdatedDate?: string; /** UUID string that identifies the Azure Service Principal. */ servicePrincipalId?: string; /** UUID String that identifies the Azure Active Directory Tenant ID. */ tenantId?: string; /** Email address for the Google Service Account created by Atlas. */ gcpServiceAccountForAtlas?: string; /** Unique 24-hexadecimal digit string that identifies the role. */ roleId?: string; /** Provision status of the service account. */ status?: CloudProviderAccessGCPServiceAccountStatus; /** Human-readable label that identifies the cloud provider of the role. */ providerName: CloudProviderAccessGCPServiceAccountProviderName; /** Amazon Resource Name that identifies the Amazon Web Services (AWS) user account that MongoDB Cloud uses when it assumes the Identity and Access Management (IAM) role. */ atlasAWSAccountArn?: string; /** Unique external ID that MongoDB Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account. */ atlasAssumedRoleExternalId?: string; /** Date and time when someone authorized this role for the specified cloud service provider. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ authorizedDate?: string; /** Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) Identity and Access Management (IAM) role that MongoDB Cloud assumes when it accesses resources in your AWS account. */ iamAssumedRoleArn?: string; } export const CloudProviderAccessGCPServiceAccount = /*@__PURE__*/ S.suspend( () => S.Struct({ _id: S.optional(S.String), atlasAzureAppId: S.optional(S.String), createdDate: S.optional(S.String), featureUsages: S.optional( CloudProviderAccessGCPServiceAccountFeatureUsagesList, ), lastUpdatedDate: S.optional(S.String), servicePrincipalId: S.optional(S.String), tenantId: S.optional(S.String), gcpServiceAccountForAtlas: S.optional(S.String), roleId: S.optional(S.String), status: S.optional(CloudProviderAccessGCPServiceAccountStatus), providerName: CloudProviderAccessGCPServiceAccountProviderName, atlasAWSAccountArn: S.optional(S.String), atlasAssumedRoleExternalId: S.optional(S.String), authorizedDate: S.optional(S.String), iamAssumedRoleArn: S.optional(S.String), }), ).annotate({ identifier: "CloudProviderAccessGCPServiceAccount", }) as any as S.Schema; /** Cloud provider access role. */ export type CloudProviderAccessRole = | CloudProviderAccessAWSIAMRole | CloudProviderAccessAzureServicePrincipal | CloudProviderAccessGCPServiceAccount; export const CloudProviderAccessRole = S.Unknown as any as S.Schema; export interface CancelGroupClusterBackupRestoreJobRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the restore job to remove. */ restoreJobId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const CancelGroupClusterBackupRestoreJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), restoreJobId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs/{restoreJobId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CancelGroupClusterBackupRestoreJobRequest", }) as any as S.Schema; export interface CancelGroupClusterBackupRestoreJobResponse {} export const CancelGroupClusterBackupRestoreJobResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "CancelGroupClusterBackupRestoreJobResponse", }) as any as S.Schema; export interface ConnectedOrgConfigRoleAssignment { /** Unique 24-hexadecimal digit string that identifies the project to which this role belongs. Each element within `roleAssignments` can have a value for `groupId` or `orgId`, but not both. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the organization to which this role belongs. Each element within `roleAssignments` can have a value for `orgId` or `groupId`, but not both. */ orgId?: string; /** Human-readable label that identifies the collection of privileges that MongoDB Cloud grants a specific API key, MongoDB Cloud user, or MongoDB Cloud team. These roles include organization- and project-level roles. */ role?: string; } export const ConnectedOrgConfigRoleAssignment = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.optional(S.String), orgId: S.optional(S.String), role: S.optional(S.String), }), ).annotate({ identifier: "ConnectedOrgConfigRoleAssignment", }) as any as S.Schema; /** Atlas roles and the unique identifiers of the groups and organizations associated with each role. The array must include at least one element with an Organization role and its respective `orgId`. Each element in the array can have a value for `orgId` or `groupId`, but not both. */ export type CreateFederationSettingConnectedOrgConfigRoleMappingRequestRoleAssignmentsList = Array; export const CreateFederationSettingConnectedOrgConfigRoleMappingRequestRoleAssignmentsList = /*@__PURE__*/ S.Array( ConnectedOrgConfigRoleAssignment, ) as any as S.Schema; export interface CreateFederationSettingConnectedOrgConfigRoleMappingRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Unique human-readable label that identifies the identity provider group to which this role mapping applies. */ externalGroupName: string; /** Atlas roles and the unique identifiers of the groups and organizations associated with each role. The array must include at least one element with an Organization role and its respective `orgId`. Each element in the array can have a value for `orgId` or `groupId`, but not both. */ roleAssignments: CreateFederationSettingConnectedOrgConfigRoleMappingRequestRoleAssignmentsList; } export const CreateFederationSettingConnectedOrgConfigRoleMappingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), externalGroupName: S.String, roleAssignments: CreateFederationSettingConnectedOrgConfigRoleMappingRequestRoleAssignmentsList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateFederationSettingConnectedOrgConfigRoleMappingRequest", }) as any as S.Schema; /** Atlas roles and the unique identifiers of the groups and organizations associated with each role. The array must include at least one element with an Organization role and its respective `orgId`. Each element in the array can have a value for `orgId` or `groupId`, but not both. */ export type AuthFederationRoleMappingRoleAssignmentsList = Array; export const AuthFederationRoleMappingRoleAssignmentsList = /*@__PURE__*/ S.Array( ConnectedOrgConfigRoleAssignment, ) as any as S.Schema; /** Mapping settings that link one IdP and MongoDB Cloud. */ export interface AuthFederationRoleMapping { /** Unique human-readable label that identifies the identity provider group to which this role mapping applies. */ externalGroupName: string; /** Unique 24-hexadecimal digit string that identifies this role mapping. */ id?: string; /** Atlas roles and the unique identifiers of the groups and organizations associated with each role. The array must include at least one element with an Organization role and its respective `orgId`. Each element in the array can have a value for `orgId` or `groupId`, but not both. */ roleAssignments: AuthFederationRoleMappingRoleAssignmentsList; } export const AuthFederationRoleMapping = /*@__PURE__*/ S.suspend(() => S.Struct({ externalGroupName: S.String, id: S.optional(S.String), roleAssignments: AuthFederationRoleMappingRoleAssignmentsList, }), ).annotate({ identifier: "AuthFederationRoleMapping", }) as any as S.Schema; /** Indicates whether authorization is granted based on group membership or user ID. */ export type CreateFederationSettingIdentityProviderRequestAuthorizationType = | "GROUP" | "USER"; export const CreateFederationSettingIdentityProviderRequestAuthorizationType = S.String; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ export type CreateFederationSettingIdentityProviderRequestIdpType = | "WORKFORCE" | "WORKLOAD"; export const CreateFederationSettingIdentityProviderRequestIdpType = S.String; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ export type CreateFederationSettingIdentityProviderRequestProtocol = | "SAML" | "OIDC"; export const CreateFederationSettingIdentityProviderRequestProtocol = S.String; export interface CreateFederationSettingIdentityProviderRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Identifier of the intended recipient of the token. */ audience?: string; /** Indicates whether authorization is granted based on group membership or user ID. */ authorizationType?: | CreateFederationSettingIdentityProviderRequestAuthorizationType | (string & {}); /** The description of the identity provider. */ description?: string | null; /** Human-readable label that identifies the identity provider. */ displayName?: string; /** Identifier of the claim which contains IdP Group IDs in the token. */ groupsClaim?: string; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ idpType?: | CreateFederationSettingIdentityProviderRequestIdpType | (string & {}); /** Unique string that identifies the issuer of the SAML Assertion or OIDC metadata/discovery document URL. */ issuerUri?: string; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ protocol?: | CreateFederationSettingIdentityProviderRequestProtocol | (string & {}); /** Identifier of the claim which contains the user ID in the token. */ userClaim?: string; } export const CreateFederationSettingIdentityProviderRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), audience: S.optional(S.String), authorizationType: S.optional( CreateFederationSettingIdentityProviderRequestAuthorizationType, ), description: S.optional(S.NullOr(S.String)), displayName: S.optional(S.String), groupsClaim: S.optional(S.String), idpType: S.optional( CreateFederationSettingIdentityProviderRequestIdpType, ), issuerUri: S.optional(S.String), protocol: S.optional( CreateFederationSettingIdentityProviderRequestProtocol, ), userClaim: S.optional(S.String), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "CreateFederationSettingIdentityProviderRequest", }) as any as S.Schema; /** List that contains the domains associated with the identity provider. */ export type FederationOidcWorkforceIdentityProviderAssociatedDomainsList = Array; export const FederationOidcWorkforceIdentityProviderAssociatedDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** The collection of unique ids representing the identity providers that can be used for data access in this organization. */ export type ConnectedOrgConfigDataAccessIdentityProviderIdsList = Array; export const ConnectedOrgConfigDataAccessIdentityProviderIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Approved domains that restrict users who can join the organization based on their email address. */ export type ConnectedOrgConfigDomainAllowListList = Array; export const ConnectedOrgConfigDomainAllowListList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type ConnectedOrgConfigPostAuthRoleGrantsItem = | "ORG_OWNER" | "ORG_MEMBER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_READ_ONLY"; export const ConnectedOrgConfigPostAuthRoleGrantsItem = S.String; /** Atlas roles that are granted to a user in this organization after authenticating. Roles are a human-readable label that identifies the collection of privileges that MongoDB Cloud grants a specific MongoDB Cloud user. These roles can only be organization specific roles. */ export type ConnectedOrgConfigPostAuthRoleGrantsList = Array; export const ConnectedOrgConfigPostAuthRoleGrantsList = /*@__PURE__*/ S.Array( S.NullOr(ConnectedOrgConfigPostAuthRoleGrantsItem), ) as any as S.Schema; /** Role mappings that are configured in this organization. */ export type ConnectedOrgConfigRoleMappingsList = Array; export const ConnectedOrgConfigRoleMappingsList = /*@__PURE__*/ S.Array( AuthFederationRoleMapping, ) as any as S.Schema; /** MongoDB Cloud user linked to this federated authentication. */ export interface FederatedUser { /** Email address of the MongoDB Cloud user linked to the federated organization. */ emailAddress: string; /** Unique 24-hexadecimal digit string that identifies the federation to which this MongoDB Cloud user belongs. */ federationSettingsId: string; /** First or given name that belongs to the MongoDB Cloud user. */ firstName: string; /** Last name, family name, or surname that belongs to the MongoDB Cloud user. */ lastName: string; /** Unique 24-hexadecimal digit string that identifies this user. */ userId?: string; } export const FederatedUser = /*@__PURE__*/ S.suspend(() => S.Struct({ emailAddress: S.String, federationSettingsId: S.String, firstName: S.String, lastName: S.String, userId: S.optional(S.String), }), ).annotate({ identifier: "FederatedUser" }) as any as S.Schema; /** List that contains the users who have an email address that doesn't match any domain on the allowed list. */ export type ConnectedOrgConfigUserConflictsList = Array; export const ConnectedOrgConfigUserConflictsList = /*@__PURE__*/ S.Array( FederatedUser, ) as any as S.Schema; export interface ConnectedOrgConfig { /** The collection of unique ids representing the identity providers that can be used for data access in this organization. */ dataAccessIdentityProviderIds?: ConnectedOrgConfigDataAccessIdentityProviderIdsList; /** Approved domains that restrict users who can join the organization based on their email address. */ domainAllowList?: ConnectedOrgConfigDomainAllowListList; /** Value that indicates whether domain restriction is enabled for this connected organization. */ domainRestrictionEnabled: boolean; /** Legacy 20-hexadecimal digit string that identifies the UI access identity provider that this connected organization configuration is associated with. This id can be found within the Federation Management Console > Identity Providers tab by clicking the info icon in the IdP ID row of a configured identity provider. */ identityProviderId?: string | null; /** Flag that indicates whether instant user provisioning is disabled for this connected organization. */ instantUserProvisioningDisabled?: boolean | null; /** Unique 24-hexadecimal digit string that identifies the connected organization configuration. */ orgId: string; /** Atlas roles that are granted to a user in this organization after authenticating. Roles are a human-readable label that identifies the collection of privileges that MongoDB Cloud grants a specific MongoDB Cloud user. These roles can only be organization specific roles. */ postAuthRoleGrants?: ConnectedOrgConfigPostAuthRoleGrantsList; /** Role mappings that are configured in this organization. */ roleMappings?: ConnectedOrgConfigRoleMappingsList; /** List that contains the users who have an email address that doesn't match any domain on the allowed list. */ userConflicts?: ConnectedOrgConfigUserConflictsList; } export const ConnectedOrgConfig = /*@__PURE__*/ S.suspend(() => S.Struct({ dataAccessIdentityProviderIds: S.optional( ConnectedOrgConfigDataAccessIdentityProviderIdsList, ), domainAllowList: S.optional(ConnectedOrgConfigDomainAllowListList), domainRestrictionEnabled: S.Boolean, identityProviderId: S.optional(S.NullOr(S.String)), instantUserProvisioningDisabled: S.optional(S.NullOr(S.Boolean)), orgId: S.String, postAuthRoleGrants: S.optional(ConnectedOrgConfigPostAuthRoleGrantsList), roleMappings: S.optional(ConnectedOrgConfigRoleMappingsList), userConflicts: S.optional(ConnectedOrgConfigUserConflictsList), }), ).annotate({ identifier: "ConnectedOrgConfig", }) as any as S.Schema; /** List that contains the connected organization configurations associated with the identity provider. */ export type FederationOidcWorkforceIdentityProviderAssociatedOrgsList = Array; export const FederationOidcWorkforceIdentityProviderAssociatedOrgsList = /*@__PURE__*/ S.Array( ConnectedOrgConfig, ) as any as S.Schema; /** Indicates whether authorization is granted based on group membership or user ID. */ export type FederationOidcWorkforceIdentityProviderAuthorizationType = | "GROUP" | "USER"; export const FederationOidcWorkforceIdentityProviderAuthorizationType = S.String; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ export type FederationOidcWorkforceIdentityProviderIdpType = | "WORKFORCE" | "WORKLOAD"; export const FederationOidcWorkforceIdentityProviderIdpType = S.String; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ export type FederationOidcWorkforceIdentityProviderProtocol = "SAML" | "OIDC"; export const FederationOidcWorkforceIdentityProviderProtocol = S.String; /** Scopes that MongoDB applications will request from the authorization endpoint. */ export type FederationOidcWorkforceIdentityProviderRequestedScopesList = Array; export const FederationOidcWorkforceIdentityProviderRequestedScopesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface FederationOidcWorkforceIdentityProvider { /** List that contains the domains associated with the identity provider. */ associatedDomains?: FederationOidcWorkforceIdentityProviderAssociatedDomainsList; /** List that contains the connected organization configurations associated with the identity provider. */ associatedOrgs?: FederationOidcWorkforceIdentityProviderAssociatedOrgsList; /** Identifier of the intended recipient of the token. */ audience?: string | null; /** Indicates whether authorization is granted based on group membership or user ID. */ authorizationType?: FederationOidcWorkforceIdentityProviderAuthorizationType; /** Client identifier that is assigned to an application by the Identity Provider. */ clientId?: string | null; /** Date that the identity provider was created on. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** The description of the identity provider. */ description?: string | null; /** Human-readable label that identifies the identity provider. */ displayName?: string; /** Identifier of the claim which contains IdP Group IDs in the token. */ groupsClaim?: string | null; /** Unique 24-hexadecimal digit string that identifies the identity provider. */ id: string; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ idpType?: FederationOidcWorkforceIdentityProviderIdpType; /** Unique string that identifies the issuer of the SAML Assertion or OIDC metadata/discovery document URL. */ issuerUri?: string; /** Legacy 20-hexadecimal digit string that identifies the identity provider. */ oktaIdpId: string | null; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ protocol?: FederationOidcWorkforceIdentityProviderProtocol; /** Scopes that MongoDB applications will request from the authorization endpoint. */ requestedScopes?: FederationOidcWorkforceIdentityProviderRequestedScopesList; /** Date that the identity provider was last updated on. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updatedAt?: string | null; /** Identifier of the claim which contains the user ID in the token. */ userClaim?: string; } export const FederationOidcWorkforceIdentityProvider = /*@__PURE__*/ S.suspend( () => S.Struct({ associatedDomains: S.optional( FederationOidcWorkforceIdentityProviderAssociatedDomainsList, ), associatedOrgs: S.optional( FederationOidcWorkforceIdentityProviderAssociatedOrgsList, ), audience: S.optional(S.NullOr(S.String)), authorizationType: S.optional( FederationOidcWorkforceIdentityProviderAuthorizationType, ), clientId: S.optional(S.NullOr(S.String)), createdAt: S.optional(S.String), description: S.optional(S.NullOr(S.String)), displayName: S.optional(S.String), groupsClaim: S.optional(S.NullOr(S.String)), id: S.String, idpType: S.optional(FederationOidcWorkforceIdentityProviderIdpType), issuerUri: S.optional(S.String), oktaIdpId: S.NullOr(S.String), protocol: S.optional(FederationOidcWorkforceIdentityProviderProtocol), requestedScopes: S.optional( FederationOidcWorkforceIdentityProviderRequestedScopesList, ), updatedAt: S.optional(S.NullOr(S.String)), userClaim: S.optional(S.String), }), ).annotate({ identifier: "FederationOidcWorkforceIdentityProvider", }) as any as S.Schema; /** List that contains the connected organization configurations associated with the identity provider. */ export type FederationOidcWorkloadIdentityProviderAssociatedOrgsList = Array; export const FederationOidcWorkloadIdentityProviderAssociatedOrgsList = /*@__PURE__*/ S.Array( ConnectedOrgConfig, ) as any as S.Schema; /** Indicates whether authorization is granted based on group membership or user ID. */ export type FederationOidcWorkloadIdentityProviderAuthorizationType = | "GROUP" | "USER"; export const FederationOidcWorkloadIdentityProviderAuthorizationType = S.String; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ export type FederationOidcWorkloadIdentityProviderIdpType = | "WORKFORCE" | "WORKLOAD"; export const FederationOidcWorkloadIdentityProviderIdpType = S.String; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ export type FederationOidcWorkloadIdentityProviderProtocol = "SAML" | "OIDC"; export const FederationOidcWorkloadIdentityProviderProtocol = S.String; export interface FederationOidcWorkloadIdentityProvider { /** List that contains the connected organization configurations associated with the identity provider. */ associatedOrgs?: FederationOidcWorkloadIdentityProviderAssociatedOrgsList; /** Identifier of the intended recipient of the token. */ audience?: string | null; /** Indicates whether authorization is granted based on group membership or user ID. */ authorizationType?: FederationOidcWorkloadIdentityProviderAuthorizationType; /** Date that the identity provider was created on. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** The description of the identity provider. */ description?: string | null; /** Human-readable label that identifies the identity provider. */ displayName?: string; /** Identifier of the claim which contains IdP Group IDs in the token. */ groupsClaim?: string | null; /** Unique 24-hexadecimal digit string that identifies the identity provider. */ id: string; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ idpType?: FederationOidcWorkloadIdentityProviderIdpType; /** Unique string that identifies the issuer of the SAML Assertion or OIDC metadata/discovery document URL. */ issuerUri?: string; /** Legacy 20-hexadecimal digit string that identifies the identity provider. */ oktaIdpId: string | null; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ protocol?: FederationOidcWorkloadIdentityProviderProtocol; /** Date that the identity provider was last updated on. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updatedAt?: string | null; /** Identifier of the claim which contains the user ID in the token. */ userClaim?: string; } export const FederationOidcWorkloadIdentityProvider = /*@__PURE__*/ S.suspend( () => S.Struct({ associatedOrgs: S.optional( FederationOidcWorkloadIdentityProviderAssociatedOrgsList, ), audience: S.optional(S.NullOr(S.String)), authorizationType: S.optional( FederationOidcWorkloadIdentityProviderAuthorizationType, ), createdAt: S.optional(S.String), description: S.optional(S.NullOr(S.String)), displayName: S.optional(S.String), groupsClaim: S.optional(S.NullOr(S.String)), id: S.String, idpType: S.optional(FederationOidcWorkloadIdentityProviderIdpType), issuerUri: S.optional(S.String), oktaIdpId: S.NullOr(S.String), protocol: S.optional(FederationOidcWorkloadIdentityProviderProtocol), updatedAt: S.optional(S.NullOr(S.String)), userClaim: S.optional(S.String), }), ).annotate({ identifier: "FederationOidcWorkloadIdentityProvider", }) as any as S.Schema; export type FederationOidcIdentityProvider = | FederationOidcWorkforceIdentityProvider | FederationOidcWorkloadIdentityProvider; export const FederationOidcIdentityProvider = S.Unknown as any as S.Schema; /** Applies to Atlas for Government only. In Commercial Atlas, this field will be rejected in requests and missing in responses. This field sets restrictions on available regions in the project. `COMMERCIAL_FEDRAMP_REGIONS_ONLY`: Only allows deployments in FedRAMP Moderate regions. `GOV_REGIONS_ONLY`: Only allows deployments in GovCloud regions. */ export type CreateGroupRequestRegionUsageRestrictions = | "COMMERCIAL_FEDRAMP_REGIONS_ONLY" | "GOV_REGIONS_ONLY"; export const CreateGroupRequestRegionUsageRestrictions = S.String; /** Key-value pair that tags and categorizes a MongoDB Cloud organization, project, or cluster. For example, `environment : production`. */ export interface ResourceTag { /** Constant that defines the set of the tag. For example, `environment` in the `environment : production` tag. */ key: string; /** Variable that belongs to the set of the tag. For example, `production` in the `environment : production` tag. */ value: string; } export const ResourceTag = /*@__PURE__*/ S.suspend(() => S.Struct({ key: S.String, value: S.String, }), ).annotate({ identifier: "ResourceTag" }) as any as S.Schema; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the project. */ export type CreateGroupRequestTagsList = Array; export const CreateGroupRequestTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; export interface CreateGroupRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user to whom to grant the Project Owner role on the specified project. If you set this parameter, it overrides the default value of the oldest Organization Owner. */ projectOwnerId?: string; /** Human-readable label that identifies the project included in the MongoDB Cloud organization. */ name: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud organization to which the project belongs. */ orgId: string; /** Applies to Atlas for Government only. In Commercial Atlas, this field will be rejected in requests and missing in responses. This field sets restrictions on available regions in the project. `COMMERCIAL_FEDRAMP_REGIONS_ONLY`: Only allows deployments in FedRAMP Moderate regions. `GOV_REGIONS_ONLY`: Only allows deployments in GovCloud regions. */ regionUsageRestrictions?: | CreateGroupRequestRegionUsageRestrictions | (string & {}); /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the project. */ tags?: CreateGroupRequestTagsList; /** Flag that indicates whether to create the project with default alert settings. */ withDefaultAlertsSettings?: boolean; } export const CreateGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), projectOwnerId: S.optional(S.String.pipe(T.Query())), name: S.String, orgId: S.String, regionUsageRestrictions: S.optional( CreateGroupRequestRegionUsageRestrictions, ), tags: S.optional(CreateGroupRequestTagsList), withDefaultAlertsSettings: S.optional(S.Boolean), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type GroupLinksList = Array; export const GroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Applies to Atlas for Government only. In Commercial Atlas, this field will be rejected in requests and missing in responses. This field sets restrictions on available regions in the project. `COMMERCIAL_FEDRAMP_REGIONS_ONLY`: Only allows deployments in FedRAMP Moderate regions. `GOV_REGIONS_ONLY`: Only allows deployments in GovCloud regions. */ export type GroupRegionUsageRestrictions = | "COMMERCIAL_FEDRAMP_REGIONS_ONLY" | "GOV_REGIONS_ONLY"; export const GroupRegionUsageRestrictions = S.String; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the project. */ export type GroupTagsList = Array; export const GroupTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; export interface Group { /** Quantity of MongoDB Cloud clusters deployed in this project. */ clusterCount: number; /** Date and time when MongoDB Cloud created this project. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud project. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: GroupLinksList; /** Human-readable label that identifies the project included in the MongoDB Cloud organization. */ name: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud organization to which the project belongs. */ orgId: string; /** Applies to Atlas for Government only. In Commercial Atlas, this field will be rejected in requests and missing in responses. This field sets restrictions on available regions in the project. `COMMERCIAL_FEDRAMP_REGIONS_ONLY`: Only allows deployments in FedRAMP Moderate regions. `GOV_REGIONS_ONLY`: Only allows deployments in GovCloud regions. */ regionUsageRestrictions?: GroupRegionUsageRestrictions; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the project. */ tags?: GroupTagsList; /** Flag that indicates whether to create the project with default alert settings. */ withDefaultAlertsSettings?: boolean; } export const Group = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterCount: S.Number, created: S.String, id: S.optional(S.String), links: S.optional(GroupLinksList), name: S.String, orgId: S.String, regionUsageRestrictions: S.optional(GroupRegionUsageRestrictions), tags: S.optional(GroupTagsList), withDefaultAlertsSettings: S.optional(S.Boolean), }), ).annotate({ identifier: "Group" }) as any as S.Schema; export interface NetworkPermissionEntryInput { /** Unique string of the Amazon Web Services (AWS) security group that you want to add to the project's IP access list. Your IP access list entry can be one `awsSecurityGroup`, one `cidrBlock`, or one `ipAddress`. You must configure Virtual Private Connection (VPC) peering for your project before you can add an AWS security group to an IP access list. You cannot set AWS security groups as temporary access list entries. Don't set this parameter if you set `cidrBlock` or `ipAddress`. */ awsSecurityGroup?: string; /** Range of IP addresses in Classless Inter-Domain Routing (CIDR) notation that you want to add to the project's IP access list. Your IP access list entry can be one `awsSecurityGroup`, one `cidrBlock`, or one `ipAddress`. Don't set this parameter if you set `awsSecurityGroup` or `ipAddress`. */ cidrBlock?: string; /** Remark that explains the purpose or scope of this IP access list entry. */ comment?: string; /** Date and time after which MongoDB Cloud deletes the temporary access list entry. This parameter expresses its value in the ISO 8601 timestamp format in UTC and can include the time zone designation. The date must be later than the current date but no later than one week after you submit this request. The resource returns this parameter if you specified an expiration date when creating this IP access list entry. */ deleteAfterDate?: string; /** IP address that you want to add to the project's IP access list. Your IP access list entry can be one `awsSecurityGroup`, one `cidrBlock`, or one `ipAddress`. Don't set this parameter if you set `awsSecurityGroup` or `cidrBlock`. */ ipAddress?: string; } export const NetworkPermissionEntryInput = /*@__PURE__*/ S.suspend(() => S.Struct({ awsSecurityGroup: S.optional(S.String), cidrBlock: S.optional(S.String), comment: S.optional(S.String), deleteAfterDate: S.optional(S.String), ipAddress: S.optional(S.String), }), ).annotate({ identifier: "NetworkPermissionEntryInput", }) as any as S.Schema; export type CreateGroupAccessListEntryRequestBodyList = Array; export const CreateGroupAccessListEntryRequestBodyList = /*@__PURE__*/ S.Array( NetworkPermissionEntryInput, ) as any as S.Schema; export interface CreateGroupAccessListEntryRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; body: CreateGroupAccessListEntryRequestBodyList; } export const CreateGroupAccessListEntryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), body: CreateGroupAccessListEntryRequestBodyList.pipe(T.HttpBody()), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/accessList", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupAccessListEntryRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedNetworkAccessViewLinksList = Array; export const PaginatedNetworkAccessViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type NetworkPermissionEntryLinksList = Array; export const NetworkPermissionEntryLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface NetworkPermissionEntry { /** Unique string of the Amazon Web Services (AWS) security group that you want to add to the project's IP access list. Your IP access list entry can be one `awsSecurityGroup`, one `cidrBlock`, or one `ipAddress`. You must configure Virtual Private Connection (VPC) peering for your project before you can add an AWS security group to an IP access list. You cannot set AWS security groups as temporary access list entries. Don't set this parameter if you set `cidrBlock` or `ipAddress`. */ awsSecurityGroup?: string; /** Range of IP addresses in Classless Inter-Domain Routing (CIDR) notation that you want to add to the project's IP access list. Your IP access list entry can be one `awsSecurityGroup`, one `cidrBlock`, or one `ipAddress`. Don't set this parameter if you set `awsSecurityGroup` or `ipAddress`. */ cidrBlock?: string; /** Remark that explains the purpose or scope of this IP access list entry. */ comment?: string; /** Date and time after which MongoDB Cloud deletes the temporary access list entry. This parameter expresses its value in the ISO 8601 timestamp format in UTC and can include the time zone designation. The date must be later than the current date but no later than one week after you submit this request. The resource returns this parameter if you specified an expiration date when creating this IP access list entry. */ deleteAfterDate?: string; /** Unique 24-hexadecimal digit string that identifies the project that contains the IP access list to which you want to add one or more entries. */ groupId?: string; /** IP address that you want to add to the project's IP access list. Your IP access list entry can be one `awsSecurityGroup`, one `cidrBlock`, or one `ipAddress`. Don't set this parameter if you set `awsSecurityGroup` or `cidrBlock`. */ ipAddress?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: NetworkPermissionEntryLinksList; } export const NetworkPermissionEntry = /*@__PURE__*/ S.suspend(() => S.Struct({ awsSecurityGroup: S.optional(S.String), cidrBlock: S.optional(S.String), comment: S.optional(S.String), deleteAfterDate: S.optional(S.String), groupId: S.optional(S.String), ipAddress: S.optional(S.String), links: S.optional(NetworkPermissionEntryLinksList), }), ).annotate({ identifier: "NetworkPermissionEntry", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedNetworkAccessViewResultsList = Array; export const PaginatedNetworkAccessViewResultsList = /*@__PURE__*/ S.Array( NetworkPermissionEntry, ) as any as S.Schema; export interface PaginatedNetworkAccessView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedNetworkAccessViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedNetworkAccessViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedNetworkAccessView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedNetworkAccessViewLinksList), results: PaginatedNetworkAccessViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedNetworkAccessView", }) as any as S.Schema; /** Cloud provider scope for this API key. Use "ANY" for a cloud-agnostic scope. Additional cloud values will be supported in future API versions. */ export type CreateGroupAiModelApiKeyRequestCloud = "ANY"; export const CreateGroupAiModelApiKeyRequestCloud = S.String; /** Geography scope for this API key. Use "ANY" for a geography-agnostic scope. Additional geography values will be supported in future API versions. */ export type CreateGroupAiModelApiKeyRequestGeography = "ANY"; export const CreateGroupAiModelApiKeyRequestGeography = S.String; export interface CreateGroupAiModelApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Cloud provider scope for this API key. Use "ANY" for a cloud-agnostic scope. Additional cloud values will be supported in future API versions. */ cloud: CreateGroupAiModelApiKeyRequestCloud | (string & {}); /** Geography scope for this API key. Use "ANY" for a geography-agnostic scope. Additional geography values will be supported in future API versions. */ geography: CreateGroupAiModelApiKeyRequestGeography | (string & {}); /** A name for the new API key that will be created. */ name: string; } export const CreateGroupAiModelApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), cloud: CreateGroupAiModelApiKeyRequestCloud, geography: CreateGroupAiModelApiKeyRequestGeography, name: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiKeys", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateGroupAiModelApiKeyRequest", }) as any as S.Schema; export interface AiModelApiKeyResponse { /** Identifier used to reference this API key in admin API calls. */ apiKeyId?: string; /** Cloud provider scope for this API key. Use "ANY" for cloud-agnostic scope. */ cloud?: string; /** UTC date when the API key was created. This parameter is formatted as an ISO 8601 timestamp. */ createdAt?: string; /** Name of the user that created this API key. If no user name is available, the user ID is returned. */ createdBy?: string; /** Server-computed endpoint hostname derived from `cloud` and `geography`. This field is read-only and must not be supplied in request bodies. */ endpoint?: string; /** Geography scope for this API key. Use "ANY" for geography-agnostic scope. */ geography?: string; /** ID of the Atlas group this API key belongs to. */ groupId?: string; /** UTC date when the API key was last used. This parameter is formatted as an ISO 8601 timestamp. */ lastUsedAt?: string | null; /** A partially obfuscated version of the API key secret returned when the API key was created. */ maskedSecret?: string; /** Arbitrary string identifier assigned to this API key for convenient identification. */ name?: string; /** 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. */ secret?: string | Redacted.Redacted | null; /** A string describing the current status of the API key. */ status?: string; } export const AiModelApiKeyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), cloud: S.optional(S.String), createdAt: S.optional(S.String), createdBy: S.optional(S.String), endpoint: S.optional(S.String), geography: S.optional(S.String), groupId: S.optional(S.String), lastUsedAt: S.optional(S.NullOr(S.String)), maskedSecret: S.optional(S.String), name: S.optional(S.String), secret: S.optional(S.NullOr(S.String).pipe(T.SensitiveValue({}))), status: S.optional(S.String), }), ).annotate({ identifier: "AiModelApiKeyResponse", }) as any as S.Schema; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase0 = "CREDIT_CARD_ABOUT_TO_EXPIRE"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase0 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase1 = | "CPS_SNAPSHOT_STARTED" | "CPS_SNAPSHOT_SUCCESSFUL" | "CPS_SNAPSHOT_FAILED" | "CPS_CONCURRENT_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_SNAPSHOT_FALLBACK_SUCCESSFUL" | "CPS_SNAPSHOT_FALLBACK_FAILED" | "CPS_COPY_SNAPSHOT_STARTED" | "CPS_COPY_SNAPSHOT_FAILED" | "CPS_COPY_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_COPY_SNAPSHOT_SUCCESSFUL" | "CPS_RESTORE_SUCCESSFUL" | "CPS_EXPORT_SUCCESSFUL" | "CPS_RESTORE_FAILED" | "CPS_EXPORT_FAILED" | "CPS_COLLECTION_RESTORE_SUCCESSFUL" | "CPS_COLLECTION_RESTORE_FAILED" | "CPS_COLLECTION_RESTORE_PARTIAL_SUCCESS" | "CPS_COLLECTION_RESTORE_CANCELED" | "CPS_AUTO_EXPORT_FAILED" | "CPS_SNAPSHOT_DOWNLOAD_REQUEST_FAILED" | "CPS_OPLOG_CAUGHT_UP"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase1 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase2 = | "CPS_DATA_PROTECTION_ENABLE_REQUESTED" | "CPS_DATA_PROTECTION_ENABLED" | "CPS_DATA_PROTECTION_UPDATE_REQUESTED" | "CPS_DATA_PROTECTION_UPDATED" | "CPS_DATA_PROTECTION_DISABLE_REQUESTED" | "CPS_DATA_PROTECTION_DISABLED" | "CPS_DATA_PROTECTION_APPROVED_FOR_DISABLEMENT"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase2 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase3 = | "FTS_INDEX_DELETION_FAILED" | "FTS_INDEX_BUILD_COMPLETE" | "FTS_INDEX_BUILD_FAILED" | "FTS_INDEX_CLEANED_UP" | "FTS_INDEX_STALE" | "FTS_INDEXES_RESTORE_FAILED" | "FTS_INDEXES_SYNONYM_MAPPING_INVALID"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase3 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase4 = | "USERS_WITHOUT_MULTI_FACTOR_AUTH" | "ENCRYPTION_AT_REST_KMS_NETWORK_ACCESS_DENIED" | "ENCRYPTION_AT_REST_CONFIG_NO_LONGER_VALID" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRING" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRED" | "ACTIVE_LEGACY_TLS_CONNECTIONS" | "WEBHOOK_TEMPLATE_RENDER_FAILED"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase4 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase5 = "MONGOTUNE_ALERT"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase5 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase6 = | "CLUSTER_INSTANCE_STOP_START" | "CLUSTER_INSTANCE_RESYNC_REQUESTED" | "CLUSTER_INSTANCE_UPDATE_REQUESTED" | "SAMPLE_DATASET_LOAD_REQUESTED" | "TENANT_UPGRADE_TO_SERVERLESS_SUCCESSFUL" | "TENANT_UPGRADE_TO_SERVERLESS_FAILED" | "NETWORK_PERMISSION_ENTRY_ADDED" | "NETWORK_PERMISSION_ENTRY_REMOVED" | "NETWORK_PERMISSION_ENTRY_UPDATED" | "CLUSTER_BLOCK_WRITE" | "CLUSTER_UNBLOCK_WRITE" | "LOG_STREAMING_EXPORT_FAILED_NONRETRYABLE" | "LOG_STREAMING_EXPORT_FAILED_RETRIES_EXHAUSTED" | "LOG_STREAMING_REPLAY_FAILED"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase6 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase7 = | "MAINTENANCE_IN_ADVANCED" | "MAINTENANCE_AUTO_DEFERRED" | "MAINTENANCE_STARTED" | "MAINTENANCE_COMPLETED" | "MAINTENANCE_NO_LONGER_NEEDED"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase7 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase8 = | "ONLINE_ARCHIVE_INSUFFICIENT_INDEXES_CHECK" | "ONLINE_ARCHIVE_MAX_CONSECUTIVE_OFFLOAD_WINDOWS_CHECK"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase8 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase9 = | "JOINED_GROUP" | "REMOVED_FROM_GROUP" | "USER_ROLES_CHANGED_AUDIT"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase9 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase10 = | "TAGS_MODIFIED" | "CLUSTER_TAGS_MODIFIED" | "GROUP_TAGS_MODIFIED"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase10 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase11 = | "STREAM_PROCESSOR_STATE_IS_FAILED" | "STREAM_PROCESSOR_AUTOSCALE_INITIATED" | "OUTSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase11 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase12 = | "COMPUTE_AUTO_SCALE_INITIATED_BASE" | "COMPUTE_AUTO_SCALE_INITIATED_ANALYTICS" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_BASE" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_BASE" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_ANALYTICS" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_ANALYTICS" | "DISK_AUTO_SCALE_INITIATED" | "DISK_AUTO_SCALE_MAX_DISK_SIZE_FAIL" | "DISK_AUTO_SCALE_OPLOG_FAIL" | "PREDICTIVE_COMPUTE_AUTO_SCALE_INITIATED_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "CLUSTER_AUTO_SHARDING_INITIATED" | "CLUSTER_RESHARDING_COMPLETED"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase12 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase13 = "RESOURCE_POLICY_VIOLATED"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase13 = S.String; export type DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase14 = | "HOST_DOWN" | "HOST_HAS_INDEX_SUGGESTIONS" | "HOST_MONGOT_CRASHING_OOM" | "HOST_MONGOT_STOP_REPLICATION" | "HOST_MONGOT_APPROACHING_STOP_REPLICATION" | "HOST_MONGOT_PAUSE_INITIAL_SYNC" | "HOST_SEARCH_NODE_INDEX_FAILED" | "HOST_SEARCH_PROCESS_THROTTLING" | "HOST_EXTERNAL_LOG_SINK_EXPORT_DOWN" | "HOST_NOT_ENOUGH_DISK_SPACE" | "SSH_KEY_NDS_HOST_ACCESS_REQUESTED" | "SSH_KEY_NDS_HOST_ACCESS_REFRESHED" | "PUSH_BASED_LOG_EXPORT_STOPPED" | "PUSH_BASED_LOG_EXPORT_DROPPED_LOG" | "HOST_VERSION_BEHIND" | "VERSION_BEHIND" | "HOST_EXPOSED" | "HOST_SSL_CERTIFICATE_STALE" | "HOST_SECURITY_CHECKUP_NOT_MET" | "ALERT_HOST_SSH_SESSION_STARTED" | "PROFILER_CONFIGURED_TOO_WIDELY"; export const DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase14 = S.String; /** Incident that triggered this alert. */ export type DefaultAlertConfigViewForNdsGroupInputEventTypeName = | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase0 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase1 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase2 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase3 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase4 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase5 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase6 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase7 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase8 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase9 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase10 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase11 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase12 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase13 | DefaultAlertConfigViewForNdsGroupInputEventTypeNameCase14; export const DefaultAlertConfigViewForNdsGroupInputEventTypeName = S.Unknown as any as S.Schema; /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ export type AlertMatcherOperator = | "EQUALS" | "CONTAINS" | "STARTS_WITH" | "ENDS_WITH" | "NOT_EQUALS" | "NOT_CONTAINS" | "REGEX"; export const AlertMatcherOperator = S.String; /** Rules to apply when comparing an target instance against this alert configuration. */ export interface AlertMatcher { /** Name of the parameter in the target object that MongoDB Cloud checks. The parameter must match all rules for MongoDB Cloud to check for alert configurations. */ fieldName: string; /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ operator: AlertMatcherOperator | (string & {}); /** Value to match or exceed using the specified `matchers.operator`. */ value: string; } export const AlertMatcher = /*@__PURE__*/ S.suspend(() => S.Struct({ fieldName: S.String, operator: AlertMatcherOperator, value: S.String, }), ).annotate({ identifier: "AlertMatcher" }) as any as S.Schema; /** Matching conditions for target resources. */ export type DefaultAlertConfigViewForNdsGroupInputMatchersList = Array; export const DefaultAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** Datadog region that indicates which API Uniform Resource Locator (URL) to use. The resource requires this parameter when `"notifications.[n].typeName" : "DATADOG"`. */ export type DatadogNotificationDatadogRegion = | "US" | "EU" | "US3" | "US5" | "AP1" | "US1_FED"; export const DatadogNotificationDatadogRegion = S.String; /** Human-readable label that displays the alert notification type. */ export type DatadogNotificationTypeName = "DATADOG"; export const DatadogNotificationTypeName = S.String; /** Datadog notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface DatadogNotification { /** Datadog API Key that MongoDB Cloud needs to send alert notifications to Datadog. You can find this API key in the Datadog dashboard. The resource requires this parameter when `"notifications.[n].typeName" : "DATADOG"`. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ datadogApiKey?: string; /** Datadog region that indicates which API Uniform Resource Locator (URL) to use. The resource requires this parameter when `"notifications.[n].typeName" : "DATADOG"`. */ datadogRegion?: DatadogNotificationDatadogRegion | (string & {}); /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** The id of the associated integration, the credentials of which to use for requests. */ integrationId?: string; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** Human-readable label that displays the alert notification type. */ typeName: DatadogNotificationTypeName; } export const DatadogNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ datadogApiKey: S.optional(S.String), datadogRegion: S.optional(DatadogNotificationDatadogRegion), delayMin: S.optional(S.Number), integrationId: S.optional(S.String), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), typeName: DatadogNotificationTypeName, }), ).annotate({ identifier: "DatadogNotification", }) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type EmailNotificationTypeName = "EMAIL"; export const EmailNotificationTypeName = S.String; /** Email notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface EmailNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** Email address to which MongoDB Cloud sends alert notifications. The resource requires this parameter when `"notifications.[n].typeName" : "EMAIL"`. You don't need to set this value to send emails to individual or groups of MongoDB Cloud users including: - specific MongoDB Cloud users (`"notifications.[n].typeName" : "USER"`) - MongoDB Cloud users with specific project roles (`"notifications.[n].typeName" : "GROUP"`) - MongoDB Cloud users with specific organization roles (`"notifications.[n].typeName" : "ORG"`) - MongoDB Cloud teams (`"notifications.[n].typeName" : "TEAM"`) To send emails to one MongoDB Cloud user or grouping of users, set the `notifications.[n].emailEnabled` parameter. */ emailAddress?: string; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** Human-readable label that displays the alert notification type. */ typeName: EmailNotificationTypeName; } export const EmailNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), emailAddress: S.optional(S.String), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), typeName: EmailNotificationTypeName, }), ).annotate({ identifier: "EmailNotification", }) as any as S.Schema; /** List that contains the one or more project roles that receive the configured alert. This parameter is available when `"notifications.[n].typeName" : "GROUP"` or `"notifications.[n].typeName" : "ORG"`. If you include this parameter, MongoDB Cloud sends alerts only to users assigned the roles you specify in the array. If you omit this parameter, MongoDB Cloud sends alerts to users assigned any role. */ export type GroupNotificationRolesList = Array; export const GroupNotificationRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type GroupNotificationTypeName = "GROUP"; export const GroupNotificationTypeName = S.String; /** Group notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface GroupNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** Flag that indicates whether MongoDB Cloud should send email notifications. The resource requires this parameter when one of the following values have been set: - `"notifications.[n].typeName" : "ORG"` - `"notifications.[n].typeName" : "GROUP"` - `"notifications.[n].typeName" : "USER"` */ emailEnabled?: boolean; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** List that contains the one or more project roles that receive the configured alert. This parameter is available when `"notifications.[n].typeName" : "GROUP"` or `"notifications.[n].typeName" : "ORG"`. If you include this parameter, MongoDB Cloud sends alerts only to users assigned the roles you specify in the array. If you omit this parameter, MongoDB Cloud sends alerts to users assigned any role. */ roles?: GroupNotificationRolesList; /** Flag that indicates whether MongoDB Cloud should send text message notifications. The resource requires this parameter when one of the following values have been set: - `"notifications.[n].typeName" : "ORG"` - `"notifications.[n].typeName" : "GROUP"` - `"notifications.[n].typeName" : "USER"` */ smsEnabled?: boolean; /** Human-readable label that displays the alert notification type. */ typeName: GroupNotificationTypeName; } export const GroupNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), emailEnabled: S.optional(S.Boolean), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), roles: S.optional(GroupNotificationRolesList), smsEnabled: S.optional(S.Boolean), typeName: GroupNotificationTypeName, }), ).annotate({ identifier: "GroupNotification", }) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type HipChatNotificationTypeName = "HIP_CHAT"; export const HipChatNotificationTypeName = S.String; /** HipChat notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface HipChatNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** The id of the associated integration, the credentials of which to use for requests. */ integrationId?: string; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** HipChat API token that MongoDB Cloud needs to send alert notifications to HipChat. The resource requires this parameter when `"notifications.[n].typeName" : "HIP_CHAT"`". If the token later becomes invalid, MongoDB Cloud sends an email to the project owners. If the token remains invalid, MongoDB Cloud removes it. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ notificationToken?: string; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** HipChat API room name to which MongoDB Cloud sends alert notifications. The resource requires this parameter when `"notifications.[n].typeName" : "HIP_CHAT"`". */ roomName?: string; /** Human-readable label that displays the alert notification type. */ typeName: HipChatNotificationTypeName; } export const HipChatNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), integrationId: S.optional(S.String), intervalMin: S.optional(S.Number), notificationToken: S.optional(S.String), notifierId: S.optional(S.String), roomName: S.optional(S.String), typeName: HipChatNotificationTypeName, }), ).annotate({ identifier: "HipChatNotification", }) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type MicrosoftTeamsNotificationTypeName = "MICROSOFT_TEAMS"; export const MicrosoftTeamsNotificationTypeName = S.String; /** Microsoft Teams notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface MicrosoftTeamsNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** The id of the associated integration, the credentials of which to use for requests. */ integrationId?: string; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** Microsoft Teams Webhook Uniform Resource Locator (URL) that MongoDB Cloud needs to send this notification via Microsoft Teams. The resource requires this parameter when `"notifications.[n].typeName" : "MICROSOFT_TEAMS"`. If the URL later becomes invalid, MongoDB Cloud sends an email to the project owners. If the key remains invalid, MongoDB Cloud removes it. **NOTE**: When you view or edit the alert for a Microsoft Teams notification, the URL appears partially redacted. */ microsoftTeamsWebhookUrl?: string; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** Human-readable label that displays the alert notification type. */ typeName: MicrosoftTeamsNotificationTypeName; } export const MicrosoftTeamsNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), integrationId: S.optional(S.String), intervalMin: S.optional(S.Number), microsoftTeamsWebhookUrl: S.optional(S.String), notifierId: S.optional(S.String), typeName: MicrosoftTeamsNotificationTypeName, }), ).annotate({ identifier: "MicrosoftTeamsNotification", }) as any as S.Schema; /** OpsGenie region that indicates which API Uniform Resource Locator (URL) to use. */ export type OpsGenieNotificationOpsGenieRegion = "US" | "EU"; export const OpsGenieNotificationOpsGenieRegion = S.String; /** Human-readable label that displays the alert notification type. */ export type OpsGenieNotificationTypeName = "OPS_GENIE"; export const OpsGenieNotificationTypeName = S.String; /** OpsGenie notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface OpsGenieNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** The id of the associated integration, the credentials of which to use for requests. */ integrationId?: string; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** API Key that MongoDB Cloud needs to send this notification via OpsGenie. The resource requires this parameter when `"notifications.[n].typeName" : "OPS_GENIE"`. If the key later becomes invalid, MongoDB Cloud sends an email to the project owners. If the key remains invalid, MongoDB Cloud removes it. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ opsGenieApiKey?: string; /** OpsGenie region that indicates which API Uniform Resource Locator (URL) to use. */ opsGenieRegion?: OpsGenieNotificationOpsGenieRegion | (string & {}); /** Human-readable label that displays the alert notification type. */ typeName: OpsGenieNotificationTypeName; } export const OpsGenieNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), integrationId: S.optional(S.String), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), opsGenieApiKey: S.optional(S.String), opsGenieRegion: S.optional(OpsGenieNotificationOpsGenieRegion), typeName: OpsGenieNotificationTypeName, }), ).annotate({ identifier: "OpsGenieNotification", }) as any as S.Schema; /** One or more organization roles that receive the configured alert. */ export type OrgNotificationRolesItem = | "ORG_OWNER" | "ORG_MEMBER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_READ_ONLY"; export const OrgNotificationRolesItem = S.String; /** List that contains the one or more organization roles that receive the configured alert. This parameter is available when `"notifications.[n].typeName" : "GROUP"` or `"notifications.[n].typeName" : "ORG"`. If you include this parameter, MongoDB Cloud sends alerts only to users assigned the roles you specify in the array. If you omit this parameter, MongoDB Cloud sends alerts to users assigned any role. */ export type OrgNotificationRolesList = Array< OrgNotificationRolesItem | (string & {}) >; export const OrgNotificationRolesList = /*@__PURE__*/ S.Array( OrgNotificationRolesItem, ) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type OrgNotificationTypeName = "ORG"; export const OrgNotificationTypeName = S.String; /** Organization notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface OrgNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** Flag that indicates whether MongoDB Cloud should send email notifications. The resource requires this parameter when one of the following values have been set: - `"notifications.[n].typeName" : "ORG"` - `"notifications.[n].typeName" : "GROUP"` - `"notifications.[n].typeName" : "USER"` */ emailEnabled?: boolean; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** List that contains the one or more organization roles that receive the configured alert. This parameter is available when `"notifications.[n].typeName" : "GROUP"` or `"notifications.[n].typeName" : "ORG"`. If you include this parameter, MongoDB Cloud sends alerts only to users assigned the roles you specify in the array. If you omit this parameter, MongoDB Cloud sends alerts to users assigned any role. */ roles?: OrgNotificationRolesList; /** Flag that indicates whether MongoDB Cloud should send text message notifications. The resource requires this parameter when one of the following values have been set: - `"notifications.[n].typeName" : "ORG"` - `"notifications.[n].typeName" : "GROUP"` - `"notifications.[n].typeName" : "USER"` */ smsEnabled?: boolean; /** Human-readable label that displays the alert notification type. */ typeName: OrgNotificationTypeName; } export const OrgNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), emailEnabled: S.optional(S.Boolean), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), roles: S.optional(OrgNotificationRolesList), smsEnabled: S.optional(S.Boolean), typeName: OrgNotificationTypeName, }), ).annotate({ identifier: "OrgNotification", }) as any as S.Schema; /** PagerDuty region that indicates which API Uniform Resource Locator (URL) to use. */ export type PagerDutyNotificationRegion = "US" | "EU"; export const PagerDutyNotificationRegion = S.String; /** Human-readable label that displays the alert notification type. */ export type PagerDutyNotificationTypeName = "PAGER_DUTY"; export const PagerDutyNotificationTypeName = S.String; /** PagerDuty notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface PagerDutyNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** The id of the associated integration, the credentials of which to use for requests. */ integrationId?: string; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** PagerDuty region that indicates which API Uniform Resource Locator (URL) to use. */ region?: PagerDutyNotificationRegion | (string & {}); /** PagerDuty service key that MongoDB Cloud needs to send notifications via PagerDuty. The resource requires this parameter when `"notifications.[n].typeName" : "PAGER_DUTY"`. If the key later becomes invalid, MongoDB Cloud sends an email to the project owners. If the key remains invalid, MongoDB Cloud removes it. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ serviceKey?: string; /** Human-readable label that displays the alert notification type. */ typeName: PagerDutyNotificationTypeName; } export const PagerDutyNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), integrationId: S.optional(S.String), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), region: S.optional(PagerDutyNotificationRegion), serviceKey: S.optional(S.String), typeName: PagerDutyNotificationTypeName, }), ).annotate({ identifier: "PagerDutyNotification", }) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type SlackNotificationTypeName = "SLACK"; export const SlackNotificationTypeName = S.String; /** Slack notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface SlackNotification { /** Slack API token or Bot token that MongoDB Cloud needs to send alert notifications via Slack. The resource requires this parameter when `"notifications.[n].typeName" : "SLACK"`. If the token later becomes invalid, MongoDB Cloud sends an email to the project owners. If the token remains invalid, MongoDB Cloud removes the token. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ apiToken?: string | Redacted.Redacted; /** Name of the Slack channel to which MongoDB Cloud sends alert notifications. The resource requires this parameter when `"notifications.[n].typeName" : "SLACK"`. */ channelName?: string; /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** The id of the associated integration, the credentials of which to use for requests. */ integrationId?: string; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** Human-readable label that displays the alert notification type. */ typeName: SlackNotificationTypeName; } export const SlackNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ apiToken: S.optional(S.String.pipe(T.SensitiveValue({}))), channelName: S.optional(S.String), delayMin: S.optional(S.Number), integrationId: S.optional(S.String), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), typeName: SlackNotificationTypeName, }), ).annotate({ identifier: "SlackNotification", }) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type SMSNotificationTypeName = "SMS"; export const SMSNotificationTypeName = S.String; /** SMS notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface SMSNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** Mobile phone number to which MongoDB Cloud sends alert notifications. The resource requires this parameter when `"notifications.[n].typeName" : "SMS"`. */ mobileNumber?: string; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** Human-readable label that displays the alert notification type. */ typeName: SMSNotificationTypeName; } export const SMSNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), intervalMin: S.optional(S.Number), mobileNumber: S.optional(S.String), notifierId: S.optional(S.String), typeName: SMSNotificationTypeName, }), ).annotate({ identifier: "SMSNotification", }) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type TeamNotificationTypeName = "TEAM"; export const TeamNotificationTypeName = S.String; /** Team notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface TeamNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** Flag that indicates whether MongoDB Cloud should send email notifications. The resource requires this parameter when one of the following values have been set: - `"notifications.[n].typeName" : "ORG"` - `"notifications.[n].typeName" : "GROUP"` - `"notifications.[n].typeName" : "USER"` */ emailEnabled?: boolean; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** Flag that indicates whether MongoDB Cloud should send text message notifications. The resource requires this parameter when one of the following values have been set: - `"notifications.[n].typeName" : "ORG"` - `"notifications.[n].typeName" : "GROUP"` - `"notifications.[n].typeName" : "USER"` */ smsEnabled?: boolean; /** Unique 24-hexadecimal digit string that identifies one MongoDB Cloud team. The resource requires this parameter when `"notifications.[n].typeName" : "TEAM"`. */ teamId?: string; /** Name of the MongoDB Cloud team that receives this notification. The resource requires this parameter when `"notifications.[n].typeName" : "TEAM"`. */ teamName?: string; /** Human-readable label that displays the alert notification type. */ typeName: TeamNotificationTypeName; } export const TeamNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), emailEnabled: S.optional(S.Boolean), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), smsEnabled: S.optional(S.Boolean), teamId: S.optional(S.String), teamName: S.optional(S.String), typeName: TeamNotificationTypeName, }), ).annotate({ identifier: "TeamNotification", }) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type UserNotificationTypeName = "USER"; export const UserNotificationTypeName = S.String; /** User notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface UserNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** Flag that indicates whether MongoDB Cloud should send email notifications. The resource requires this parameter when one of the following values have been set: - `"notifications.[n].typeName" : "ORG"` - `"notifications.[n].typeName" : "GROUP"` - `"notifications.[n].typeName" : "USER"` */ emailEnabled?: boolean; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** Flag that indicates whether MongoDB Cloud should send text message notifications. The resource requires this parameter when one of the following values have been set: - `"notifications.[n].typeName" : "ORG"` - `"notifications.[n].typeName" : "GROUP"` - `"notifications.[n].typeName" : "USER"` */ smsEnabled?: boolean; /** Human-readable label that displays the alert notification type. */ typeName: UserNotificationTypeName; /** MongoDB Cloud username of the person to whom MongoDB Cloud sends notifications. Specify only MongoDB Cloud users who belong to the project that owns the alert configuration. The resource requires this parameter when `"notifications.[n].typeName" : "USER"`. */ username?: string; } export const UserNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), emailEnabled: S.optional(S.Boolean), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), smsEnabled: S.optional(S.Boolean), typeName: UserNotificationTypeName, username: S.optional(S.String), }), ).annotate({ identifier: "UserNotification", }) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type VictorOpsNotificationTypeName = "VICTOR_OPS"; export const VictorOpsNotificationTypeName = S.String; /** VictorOps notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface VictorOpsNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** The id of the associated integration, the credentials of which to use for requests. */ integrationId?: string; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** Human-readable label that displays the alert notification type. */ typeName: VictorOpsNotificationTypeName; /** API key that MongoDB Cloud needs to send alert notifications to Splunk On-Call. The resource requires this parameter when `"notifications.[n].typeName" : "VICTOR_OPS"`. If the key later becomes invalid, MongoDB Cloud sends an email to the project owners. If the key remains invalid, MongoDB Cloud removes it. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ victorOpsApiKey?: string; /** Routing key that MongoDB Cloud needs to send alert notifications to Splunk On-Call. The resource requires this parameter when `"notifications.[n].typeName" : "VICTOR_OPS"`. If the key later becomes invalid, MongoDB Cloud sends an email to the project owners. If the key remains invalid, MongoDB Cloud removes it. */ victorOpsRoutingKey?: string; } export const VictorOpsNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), integrationId: S.optional(S.String), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), typeName: VictorOpsNotificationTypeName, victorOpsApiKey: S.optional(S.String), victorOpsRoutingKey: S.optional(S.String), }), ).annotate({ identifier: "VictorOpsNotification", }) as any as S.Schema; /** Human-readable label that displays the alert notification type. */ export type WebhookNotificationTypeName = "WEBHOOK"; export const WebhookNotificationTypeName = S.String; /** Webhook notification configuration for MongoDB Cloud to send information when an event triggers an alert condition. */ export interface WebhookNotification { /** Number of minutes that MongoDB Cloud waits after detecting an alert condition before it sends out the first notification. */ delayMin?: number; /** The id of the associated integration, the credentials of which to use for requests. */ integrationId?: string; /** Number of minutes to wait between successive notifications. MongoDB Cloud sends notifications until someone acknowledges the unacknowledged alert. PagerDuty, VictorOps, and OpsGenie notifications don't return this element. Configure and manage the notification interval within each of those services. */ intervalMin?: number; /** The `notifierId` is a system-generated unique identifier assigned to each notification method. This is needed when updating third-party notifications without requiring explicit authentication credentials. */ notifierId?: string; /** Human-readable label that displays the alert notification type. */ typeName: WebhookNotificationTypeName; /** Template, using ${field} interpolation, that renders the HTTP body MongoDB Cloud sends with each webhook notification. Must render valid JSON. When unset, MongoDB Cloud sends its default JSON payload. */ webhookBodyTemplate?: string; /** Template, using ${field} interpolation, that renders the HTTP headers MongoDB Cloud sends with each webhook notification. Must render a JSON object mapping header name to header value. The webhook secret and the signature header are NOT exposed to templates. */ webhookHeadersTemplate?: string; /** Authentication secret for a webhook-based alert. Atlas returns this value if you set `notifications.[n].typeName` :`WEBHOOK` and either: * You set `notification.[n].webhookSecret` to a non-empty string * You set a default webhook secret either on the Integrations page, or with the Integrations API **NOTE**: When you view or edit the alert for a webhook notification, the secret appears completely redacted. */ webhookSecret?: string; /** Target URL for a webhook-based alert. Atlas returns this value if you set `"notifications.[n].typeName" :"WEBHOOK"` and either: * You set `notification.[n].webhookURL` to a non-empty string * You set a default webhook URL either on the Integrations page, or with the Integrations API **NOTE**: When you view or edit the alert for a Webhook URL notification, the URL appears partially redacted. */ webhookUrl?: string; } export const WebhookNotification = /*@__PURE__*/ S.suspend(() => S.Struct({ delayMin: S.optional(S.Number), integrationId: S.optional(S.String), intervalMin: S.optional(S.Number), notifierId: S.optional(S.String), typeName: WebhookNotificationTypeName, webhookBodyTemplate: S.optional(S.String), webhookHeadersTemplate: S.optional(S.String), webhookSecret: S.optional(S.String), webhookUrl: S.optional(S.String), }), ).annotate({ identifier: "WebhookNotification", }) as any as S.Schema; /** One target that MongoDB Cloud sends notifications when an alert triggers. */ export type AlertsNotificationRootForGroup = | DatadogNotification | EmailNotification | GroupNotification | HipChatNotification | MicrosoftTeamsNotification | OpsGenieNotification | OrgNotification | PagerDutyNotification | SlackNotification | SMSNotification | TeamNotification | UserNotification | VictorOpsNotification | WebhookNotification; export const AlertsNotificationRootForGroup = S.Unknown as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type DefaultAlertConfigViewForNdsGroupInputNotificationsList = Array; export const DefaultAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Severity of the event. */ export type EventSeverity = "INFO" | "WARNING" | "ERROR" | "CRITICAL"; export const EventSeverity = S.String; /** Other alerts which don't have extra details beside of basic one. */ export interface DefaultAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; /** Incident that triggered this alert. */ eventTypeName: DefaultAlertConfigViewForNdsGroupInputEventTypeName; /** Matching conditions for target resources. */ matchers?: DefaultAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: DefaultAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const DefaultAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend( () => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: DefaultAlertConfigViewForNdsGroupInputEventTypeName, matchers: S.optional(DefaultAlertConfigViewForNdsGroupInputMatchersList), notifications: DefaultAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "DefaultAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type AppServiceEventTypeViewAlertableNoThreshold = | "URL_CONFIRMATION" | "SUCCESSFUL_DEPLOY" | "DEPLOYMENT_FAILURE" | "REQUEST_RATE_LIMIT" | "LOG_FORWARDER_FAILURE" | "SYNC_FAILURE" | "TRIGGER_FAILURE" | "TRIGGER_AUTO_RESUMED" | "DEPLOYMENT_MODEL_CHANGE_SUCCESS" | "DEPLOYMENT_MODEL_CHANGE_FAILURE"; export const AppServiceEventTypeViewAlertableNoThreshold = S.String; /** Name of the parameter in the target object that MongoDB Cloud checks. The parameter must match all rules for MongoDB Cloud to check for alert configurations. */ export type AppServiceMetricMatcherField = "APPLICATION_ID"; export const AppServiceMetricMatcherField = S.String; /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ export type AppServiceMetricMatcherOperator = | "EQUALS" | "CONTAINS" | "STARTS_WITH" | "ENDS_WITH" | "NOT_EQUALS" | "NOT_CONTAINS" | "REGEX"; export const AppServiceMetricMatcherOperator = S.String; /** Rules to apply when comparing an app service metric against this alert configuration. */ export interface AppServiceMetricMatcher { fieldName: AppServiceMetricMatcherField | (string & {}); /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ operator: AppServiceMetricMatcherOperator | (string & {}); /** Value to match or exceed using the specified `matchers.operator`. */ value: string; } export const AppServiceMetricMatcher = /*@__PURE__*/ S.suspend(() => S.Struct({ fieldName: AppServiceMetricMatcherField, operator: AppServiceMetricMatcherOperator, value: S.String, }), ).annotate({ identifier: "AppServiceMetricMatcher", }) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type AppServiceAlertConfigViewForNdsGroupInputMatchersList = Array; export const AppServiceAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AppServiceMetricMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type AppServiceAlertConfigViewForNdsGroupInputNotificationsList = Array; export const AppServiceAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** App Services metric alert configuration allows to select which app service conditions and events trigger alerts and how users are notified. */ export interface AppServiceAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: AppServiceEventTypeViewAlertableNoThreshold | (string & {}); /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: AppServiceAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: AppServiceAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const AppServiceAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: AppServiceEventTypeViewAlertableNoThreshold, matchers: S.optional( AppServiceAlertConfigViewForNdsGroupInputMatchersList, ), notifications: AppServiceAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "AppServiceAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type AppServiceEventTypeViewAlertableWithThreshold = "OUTSIDE_REALM_METRIC_THRESHOLD"; export const AppServiceEventTypeViewAlertableWithThreshold = S.String; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type AppServiceMetricAlertConfigViewForNdsGroupInputMatchersList = Array; export const AppServiceMetricAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AppServiceMetricMatcher, ) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type RawMetricThresholdViewMode = "AVERAGE"; export const RawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type RawMetricThresholdViewOperator = "LESS_THAN" | "GREATER_THAN"; export const RawMetricThresholdViewOperator = S.String; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ export type RawMetricUnits = "RAW"; export const RawMetricUnits = S.String; export interface RawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: RawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: RawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const RawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(RawMetricThresholdViewMode), operator: S.optional(RawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "RawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DataMetricThresholdViewMode = "AVERAGE"; export const DataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DataMetricThresholdViewOperator = "LESS_THAN" | "GREATER_THAN"; export const DataMetricThresholdViewOperator = S.String; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ export type DataMetricUnits = | "BITS" | "KILOBITS" | "MEGABITS" | "GIGABITS" | "BYTES" | "KILOBYTES" | "MEGABYTES" | "GIGABYTES" | "TERABYTES" | "PETABYTES"; export const DataMetricUnits = S.String; export interface DataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: DataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const DataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DataMetricThresholdViewMode), operator: S.optional(DataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "DataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type TimeMetricThresholdViewMode = "AVERAGE"; export const TimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type TimeMetricThresholdViewOperator = "LESS_THAN" | "GREATER_THAN"; export const TimeMetricThresholdViewOperator = S.String; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ export type TimeMetricUnits = | "NANOSECONDS" | "MILLISECONDS" | "MILLION_MINUTES" | "SECONDS" | "MINUTES" | "HOURS" | "DAYS"; export const TimeMetricUnits = S.String; export interface TimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: TimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: TimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const TimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(TimeMetricThresholdViewMode), operator: S.optional(TimeMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "TimeMetricThresholdView", }) as any as S.Schema; /** Threshold for the metric that, when exceeded, triggers an alert. The metric threshold pertains to event types which reflects changes of measurements and metrics in the app services. */ export type AppServiceMetricThreshold = | RawMetricThresholdView | DataMetricThresholdView | TimeMetricThresholdView; export const AppServiceMetricThreshold = S.Unknown as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type AppServiceMetricAlertConfigViewForNdsGroupInputNotificationsList = Array; export const AppServiceMetricAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** App Services metric alert configuration allows to select which app service metrics trigger alerts and how users are notified. */ export interface AppServiceMetricAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: AppServiceEventTypeViewAlertableWithThreshold; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: AppServiceMetricAlertConfigViewForNdsGroupInputMatchersList; metricThreshold?: AppServiceMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: AppServiceMetricAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const AppServiceMetricAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: AppServiceEventTypeViewAlertableWithThreshold, matchers: S.optional( AppServiceMetricAlertConfigViewForNdsGroupInputMatchersList, ), metricThreshold: S.optional(AppServiceMetricThreshold), notifications: AppServiceMetricAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "AppServiceMetricAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type BillingEventTypeViewAlertableWithThreshold = | "PENDING_INVOICE_OVER_THRESHOLD" | "DAILY_BILL_OVER_THRESHOLD" | "DAILY_BILLING_CHANGE_OVER_THRESHOLD" | "WEEKLY_BILLING_CHANGE_OVER_THRESHOLD" | "MONTHLY_BILLING_CHANGE_OVER_THRESHOLD"; export const BillingEventTypeViewAlertableWithThreshold = S.String; /** Matching conditions for target resources. */ export type BillingThresholdAlertConfigViewForNdsGroupInputMatchersList = Array; export const BillingThresholdAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type BillingThresholdAlertConfigViewForNdsGroupInputNotificationsList = Array; export const BillingThresholdAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Comparison operator to apply when checking the current metric value. */ export type GreaterThanRawThresholdOperator = "GREATER_THAN"; export const GreaterThanRawThresholdOperator = S.String; /** A Limit that triggers an alert when greater than a number. */ export interface GreaterThanRawThreshold { /** Comparison operator to apply when checking the current metric value. */ operator?: GreaterThanRawThresholdOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const GreaterThanRawThreshold = /*@__PURE__*/ S.suspend(() => S.Struct({ operator: S.optional(GreaterThanRawThresholdOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "GreaterThanRawThreshold", }) as any as S.Schema; /** Billing threshold alert configuration allows to select thresholds for bills and invoices which trigger alerts and how users are notified. */ export interface BillingThresholdAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: BillingEventTypeViewAlertableWithThreshold | (string & {}); /** Matching conditions for target resources. */ matchers?: BillingThresholdAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: BillingThresholdAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); threshold?: GreaterThanRawThreshold; } export const BillingThresholdAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: BillingEventTypeViewAlertableWithThreshold, matchers: S.optional( BillingThresholdAlertConfigViewForNdsGroupInputMatchersList, ), notifications: BillingThresholdAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(GreaterThanRawThreshold), }), ).annotate({ identifier: "BillingThresholdAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Name of the parameter in the target object that MongoDB Cloud checks. The parameter must match all rules for MongoDB Cloud to check for alert configurations. */ export type ClusterMatcherField = "CLUSTER_NAME"; export const ClusterMatcherField = S.String; /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ export type ClusterMatcherOperator = | "EQUALS" | "CONTAINS" | "STARTS_WITH" | "ENDS_WITH" | "NOT_EQUALS" | "NOT_CONTAINS" | "REGEX"; export const ClusterMatcherOperator = S.String; /** Rules to apply when comparing an cluster against this alert configuration. */ export interface ClusterMatcher { fieldName: ClusterMatcherField | (string & {}); /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ operator: ClusterMatcherOperator | (string & {}); /** Value to match or exceed using the specified `matchers.operator`. */ value: string; } export const ClusterMatcher = /*@__PURE__*/ S.suspend(() => S.Struct({ fieldName: ClusterMatcherField, operator: ClusterMatcherOperator, value: S.String, }), ).annotate({ identifier: "ClusterMatcher" }) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type ClusterAlertConfigViewForNdsGroupInputMatchersList = Array; export const ClusterAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( ClusterMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type ClusterAlertConfigViewForNdsGroupInputNotificationsList = Array; export const ClusterAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Cluster alert configuration allows to select which conditions of mongod cluster which trigger alerts and how users are notified. */ export interface ClusterAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: ClusterEventTypeViewForNdsGroupAlertable; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: ClusterAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: ClusterAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const ClusterAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend( () => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: ClusterEventTypeViewForNdsGroupAlertable, matchers: S.optional(ClusterAlertConfigViewForNdsGroupInputMatchersList), notifications: ClusterAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "ClusterAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type CpsBackupEventTypeViewForNdsGroupAlertableWithThreshold = | "CPS_SNAPSHOT_BEHIND" | "CPS_PREV_SNAPSHOT_OLD" | "CPS_OPLOG_BEHIND"; export const CpsBackupEventTypeViewForNdsGroupAlertableWithThreshold = S.String; /** Matching conditions for target resources. */ export type CpsBackupThresholdAlertConfigViewForNdsGroupInputMatchersList = Array; export const CpsBackupThresholdAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type CpsBackupThresholdAlertConfigViewForNdsGroupInputNotificationsList = Array; export const CpsBackupThresholdAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Comparison operator to apply when checking the current metric value. */ export type GreaterThanTimeThresholdOperator = "GREATER_THAN"; export const GreaterThanTimeThresholdOperator = S.String; /** A Limit that triggers an alert when greater than a time period. */ export interface GreaterThanTimeThreshold { /** Comparison operator to apply when checking the current metric value. */ operator?: GreaterThanTimeThresholdOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const GreaterThanTimeThreshold = /*@__PURE__*/ S.suspend(() => S.Struct({ operator: S.optional(GreaterThanTimeThresholdOperator), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "GreaterThanTimeThreshold", }) as any as S.Schema; /** Cps Backup threshold alert configuration allows to select thresholds for conditions of CPS backup or oplogs anomalies which trigger alerts and how users are notified. */ export interface CpsBackupThresholdAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: | CpsBackupEventTypeViewForNdsGroupAlertableWithThreshold | (string & {}); /** Matching conditions for target resources. */ matchers?: CpsBackupThresholdAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: CpsBackupThresholdAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); threshold?: GreaterThanTimeThreshold; } export const CpsBackupThresholdAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: CpsBackupEventTypeViewForNdsGroupAlertableWithThreshold, matchers: S.optional( CpsBackupThresholdAlertConfigViewForNdsGroupInputMatchersList, ), notifications: CpsBackupThresholdAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(GreaterThanTimeThreshold), }), ).annotate({ identifier: "CpsBackupThresholdAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type EncryptionKeyEventTypeViewAlertable = | "AWS_ENCRYPTION_KEY_NEEDS_ROTATION" | "AZURE_ENCRYPTION_KEY_NEEDS_ROTATION" | "GCP_ENCRYPTION_KEY_NEEDS_ROTATION" | "AWS_ENCRYPTION_KEY_INVALID" | "AZURE_ENCRYPTION_KEY_INVALID" | "GCP_ENCRYPTION_KEY_INVALID"; export const EncryptionKeyEventTypeViewAlertable = S.String; /** Matching conditions for target resources. */ export type EncryptionKeyAlertConfigViewForNdsGroupInputMatchersList = Array; export const EncryptionKeyAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type EncryptionKeyAlertConfigViewForNdsGroupInputNotificationsList = Array; export const EncryptionKeyAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Comparison operator to apply when checking the current metric value. */ export type GreaterThanDaysThresholdViewOperator = "GREATER_THAN"; export const GreaterThanDaysThresholdViewOperator = S.String; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ export type GreaterThanDaysThresholdViewUnits = "DAYS"; export const GreaterThanDaysThresholdViewUnits = S.String; /** Threshold value that triggers an alert. */ export interface GreaterThanDaysThresholdView { /** Comparison operator to apply when checking the current metric value. */ operator?: GreaterThanDaysThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ units?: GreaterThanDaysThresholdViewUnits | (string & {}); } export const GreaterThanDaysThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ operator: S.optional(GreaterThanDaysThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(GreaterThanDaysThresholdViewUnits), }), ).annotate({ identifier: "GreaterThanDaysThresholdView", }) as any as S.Schema; /** Encryption key alert configuration allows to select thresholds which trigger alerts and how users are notified. */ export interface EncryptionKeyAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: EncryptionKeyEventTypeViewAlertable | (string & {}); /** Matching conditions for target resources. */ matchers?: EncryptionKeyAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: EncryptionKeyAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); threshold?: GreaterThanDaysThresholdView; } export const EncryptionKeyAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: EncryptionKeyEventTypeViewAlertable, matchers: S.optional( EncryptionKeyAlertConfigViewForNdsGroupInputMatchersList, ), notifications: EncryptionKeyAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(GreaterThanDaysThresholdView), }), ).annotate({ identifier: "EncryptionKeyAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Name of the parameter in the target object that MongoDB Cloud checks. The parameter must match all rules for MongoDB Cloud to check for alert configurations. */ export type HostMatcherField = | "TYPE_NAME" | "HOSTNAME" | "PORT" | "HOSTNAME_AND_PORT" | "REPLICA_SET_NAME" | "ATLAS_NODE_TYPE"; export const HostMatcherField = S.String; /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ export type HostMatcherOperator = | "EQUALS" | "CONTAINS" | "STARTS_WITH" | "ENDS_WITH" | "NOT_EQUALS" | "NOT_CONTAINS" | "REGEX"; export const HostMatcherOperator = S.String; /** Value to match or exceed using the specified `matchers.operator`. */ export type MatcherHostType = | "STANDALONE" | "PRIMARY" | "SECONDARY" | "ARBITER" | "MONGOS" | "CONFIG" | "MONGOT"; export const MatcherHostType = S.String; /** Rules to apply when comparing an host against this alert configuration. */ export interface HostMatcher { fieldName: HostMatcherField | (string & {}); /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ operator: HostMatcherOperator | (string & {}); value?: MatcherHostType | (string & {}); } export const HostMatcher = /*@__PURE__*/ S.suspend(() => S.Struct({ fieldName: HostMatcherField, operator: HostMatcherOperator, value: S.optional(MatcherHostType), }), ).annotate({ identifier: "HostMatcher" }) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type HostAlertConfigViewForNdsGroupInputMatchersList = Array; export const HostAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( HostMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type HostAlertConfigViewForNdsGroupInputNotificationsList = Array; export const HostAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Host alert configuration allows to select which mongod host events trigger alerts and how users are notified. */ export interface HostAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: HostEventTypeViewForNdsGroupAlertable | (string & {}); /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: HostAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: HostAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const HostAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: HostEventTypeViewForNdsGroupAlertable, matchers: S.optional(HostAlertConfigViewForNdsGroupInputMatchersList), notifications: HostAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "HostAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type HostMetricAlertConfigViewForNdsGroupInputMatchersList = Array; export const HostMetricAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( HostMatcher, ) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type AssertRegularRawMetricThresholdViewMode = "AVERAGE"; export const AssertRegularRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type AssertRegularRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const AssertRegularRawMetricThresholdViewOperator = S.String; export interface AssertRegularRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: AssertRegularRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: AssertRegularRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const AssertRegularRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(AssertRegularRawMetricThresholdViewMode), operator: S.optional(AssertRegularRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "AssertRegularRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type AssertWarningRawMetricThresholdViewMode = "AVERAGE"; export const AssertWarningRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type AssertWarningRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const AssertWarningRawMetricThresholdViewOperator = S.String; export interface AssertWarningRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: AssertWarningRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: AssertWarningRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const AssertWarningRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(AssertWarningRawMetricThresholdViewMode), operator: S.optional(AssertWarningRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "AssertWarningRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type AssertMsgRawMetricThresholdViewMode = "AVERAGE"; export const AssertMsgRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type AssertMsgRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const AssertMsgRawMetricThresholdViewOperator = S.String; export interface AssertMsgRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: AssertMsgRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: AssertMsgRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const AssertMsgRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(AssertMsgRawMetricThresholdViewMode), operator: S.optional(AssertMsgRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "AssertMsgRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type AssertUserRawMetricThresholdViewMode = "AVERAGE"; export const AssertUserRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type AssertUserRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const AssertUserRawMetricThresholdViewOperator = S.String; export interface AssertUserRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: AssertUserRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: AssertUserRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const AssertUserRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(AssertUserRawMetricThresholdViewMode), operator: S.optional(AssertUserRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "AssertUserRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterCmdRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterCmdRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterCmdRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterCmdRawMetricThresholdViewOperator = S.String; export interface OpCounterCmdRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterCmdRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterCmdRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterCmdRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OpCounterCmdRawMetricThresholdViewMode), operator: S.optional(OpCounterCmdRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterCmdRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterQueryRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterQueryRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterQueryRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterQueryRawMetricThresholdViewOperator = S.String; export interface OpCounterQueryRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterQueryRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterQueryRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterQueryRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(OpCounterQueryRawMetricThresholdViewMode), operator: S.optional(OpCounterQueryRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterQueryRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterUpdateRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterUpdateRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterUpdateRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterUpdateRawMetricThresholdViewOperator = S.String; export interface OpCounterUpdateRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterUpdateRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterUpdateRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterUpdateRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(OpCounterUpdateRawMetricThresholdViewMode), operator: S.optional(OpCounterUpdateRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterUpdateRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterDeleteRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterDeleteRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterDeleteRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterDeleteRawMetricThresholdViewOperator = S.String; export interface OpCounterDeleteRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterDeleteRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterDeleteRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterDeleteRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(OpCounterDeleteRawMetricThresholdViewMode), operator: S.optional(OpCounterDeleteRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterDeleteRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterTtlDeletedRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterTtlDeletedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterTtlDeletedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterTtlDeletedRawMetricThresholdViewOperator = S.String; export interface OpCounterTtlDeletedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterTtlDeletedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterTtlDeletedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterTtlDeletedRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OpCounterTtlDeletedRawMetricThresholdViewMode), operator: S.optional(OpCounterTtlDeletedRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterTtlDeletedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterInsertRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterInsertRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterInsertRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterInsertRawMetricThresholdViewOperator = S.String; export interface OpCounterInsertRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterInsertRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterInsertRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterInsertRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(OpCounterInsertRawMetricThresholdViewMode), operator: S.optional(OpCounterInsertRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterInsertRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterGetMoreRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterGetMoreRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterGetMoreRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterGetMoreRawMetricThresholdViewOperator = S.String; export interface OpCounterGetMoreRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterGetMoreRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterGetMoreRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterGetMoreRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(OpCounterGetMoreRawMetricThresholdViewMode), operator: S.optional(OpCounterGetMoreRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterGetMoreRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterReplCmdRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterReplCmdRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterReplCmdRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterReplCmdRawMetricThresholdViewOperator = S.String; export interface OpCounterReplCmdRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterReplCmdRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterReplCmdRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterReplCmdRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(OpCounterReplCmdRawMetricThresholdViewMode), operator: S.optional(OpCounterReplCmdRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterReplCmdRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterReplUpdateRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterReplUpdateRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterReplUpdateRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterReplUpdateRawMetricThresholdViewOperator = S.String; export interface OpCounterReplUpdateRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterReplUpdateRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterReplUpdateRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterReplUpdateRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OpCounterReplUpdateRawMetricThresholdViewMode), operator: S.optional(OpCounterReplUpdateRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterReplUpdateRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterReplDeleteRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterReplDeleteRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterReplDeleteRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterReplDeleteRawMetricThresholdViewOperator = S.String; export interface OpCounterReplDeleteRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterReplDeleteRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterReplDeleteRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterReplDeleteRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OpCounterReplDeleteRawMetricThresholdViewMode), operator: S.optional(OpCounterReplDeleteRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterReplDeleteRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OpCounterReplInsertRawMetricThresholdViewMode = "AVERAGE"; export const OpCounterReplInsertRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OpCounterReplInsertRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OpCounterReplInsertRawMetricThresholdViewOperator = S.String; export interface OpCounterReplInsertRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OpCounterReplInsertRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OpCounterReplInsertRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OpCounterReplInsertRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OpCounterReplInsertRawMetricThresholdViewMode), operator: S.optional(OpCounterReplInsertRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OpCounterReplInsertRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FtsMemoryResidentDataMetricThresholdViewMode = "AVERAGE"; export const FtsMemoryResidentDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FtsMemoryResidentDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FtsMemoryResidentDataMetricThresholdViewOperator = S.String; export interface FtsMemoryResidentDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FtsMemoryResidentDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FtsMemoryResidentDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const FtsMemoryResidentDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(FtsMemoryResidentDataMetricThresholdViewMode), operator: S.optional(FtsMemoryResidentDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "FtsMemoryResidentDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FtsMemoryVirtualDataMetricThresholdViewMode = "AVERAGE"; export const FtsMemoryVirtualDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FtsMemoryVirtualDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FtsMemoryVirtualDataMetricThresholdViewOperator = S.String; export interface FtsMemoryVirtualDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FtsMemoryVirtualDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FtsMemoryVirtualDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const FtsMemoryVirtualDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(FtsMemoryVirtualDataMetricThresholdViewMode), operator: S.optional(FtsMemoryVirtualDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "FtsMemoryVirtualDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FtsMemoryMappedDataMetricThresholdViewMode = "AVERAGE"; export const FtsMemoryMappedDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FtsMemoryMappedDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FtsMemoryMappedDataMetricThresholdViewOperator = S.String; export interface FtsMemoryMappedDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FtsMemoryMappedDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FtsMemoryMappedDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const FtsMemoryMappedDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(FtsMemoryMappedDataMetricThresholdViewMode), operator: S.optional(FtsMemoryMappedDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "FtsMemoryMappedDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FtsProcessCpuUserRawMetricThresholdViewMode = "AVERAGE"; export const FtsProcessCpuUserRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FtsProcessCpuUserRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FtsProcessCpuUserRawMetricThresholdViewOperator = S.String; export interface FtsProcessCpuUserRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FtsProcessCpuUserRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FtsProcessCpuUserRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FtsProcessCpuUserRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(FtsProcessCpuUserRawMetricThresholdViewMode), operator: S.optional(FtsProcessCpuUserRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FtsProcessCpuUserRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FtsProcessCpuKernelRawMetricThresholdViewMode = "AVERAGE"; export const FtsProcessCpuKernelRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FtsProcessCpuKernelRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FtsProcessCpuKernelRawMetricThresholdViewOperator = S.String; export interface FtsProcessCpuKernelRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FtsProcessCpuKernelRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FtsProcessCpuKernelRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FtsProcessCpuKernelRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FtsProcessCpuKernelRawMetricThresholdViewMode), operator: S.optional(FtsProcessCpuKernelRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FtsProcessCpuKernelRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type NormalizedFtsProcessCpuUserRawMetricThresholdViewMode = "AVERAGE"; export const NormalizedFtsProcessCpuUserRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type NormalizedFtsProcessCpuUserRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const NormalizedFtsProcessCpuUserRawMetricThresholdViewOperator = S.String; export interface NormalizedFtsProcessCpuUserRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: NormalizedFtsProcessCpuUserRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | NormalizedFtsProcessCpuUserRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const NormalizedFtsProcessCpuUserRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(NormalizedFtsProcessCpuUserRawMetricThresholdViewMode), operator: S.optional( NormalizedFtsProcessCpuUserRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "NormalizedFtsProcessCpuUserRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type NormalizedFtsProcessCpuKernelRawMetricThresholdViewMode = "AVERAGE"; export const NormalizedFtsProcessCpuKernelRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type NormalizedFtsProcessCpuKernelRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const NormalizedFtsProcessCpuKernelRawMetricThresholdViewOperator = S.String; export interface NormalizedFtsProcessCpuKernelRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | NormalizedFtsProcessCpuKernelRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | NormalizedFtsProcessCpuKernelRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const NormalizedFtsProcessCpuKernelRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(NormalizedFtsProcessCpuKernelRawMetricThresholdViewMode), operator: S.optional( NormalizedFtsProcessCpuKernelRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "NormalizedFtsProcessCpuKernelRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SystemMemoryPercentUsedRawMetricThresholdViewMode = "AVERAGE"; export const SystemMemoryPercentUsedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SystemMemoryPercentUsedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SystemMemoryPercentUsedRawMetricThresholdViewOperator = S.String; export interface SystemMemoryPercentUsedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SystemMemoryPercentUsedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SystemMemoryPercentUsedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SystemMemoryPercentUsedRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SystemMemoryPercentUsedRawMetricThresholdViewMode), operator: S.optional( SystemMemoryPercentUsedRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SystemMemoryPercentUsedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MemoryResidentDataMetricThresholdViewMode = "AVERAGE"; export const MemoryResidentDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MemoryResidentDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MemoryResidentDataMetricThresholdViewOperator = S.String; export interface MemoryResidentDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MemoryResidentDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MemoryResidentDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const MemoryResidentDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(MemoryResidentDataMetricThresholdViewMode), operator: S.optional(MemoryResidentDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "MemoryResidentDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MemoryVirtualDataMetricThresholdViewMode = "AVERAGE"; export const MemoryVirtualDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MemoryVirtualDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MemoryVirtualDataMetricThresholdViewOperator = S.String; export interface MemoryVirtualDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MemoryVirtualDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MemoryVirtualDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const MemoryVirtualDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(MemoryVirtualDataMetricThresholdViewMode), operator: S.optional(MemoryVirtualDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "MemoryVirtualDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MemoryMappedDataMetricThresholdViewMode = "AVERAGE"; export const MemoryMappedDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MemoryMappedDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MemoryMappedDataMetricThresholdViewOperator = S.String; export interface MemoryMappedDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MemoryMappedDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MemoryMappedDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const MemoryMappedDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MemoryMappedDataMetricThresholdViewMode), operator: S.optional(MemoryMappedDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "MemoryMappedDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ComputedMemoryDataMetricThresholdViewMode = "AVERAGE"; export const ComputedMemoryDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ComputedMemoryDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ComputedMemoryDataMetricThresholdViewOperator = S.String; export interface ComputedMemoryDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ComputedMemoryDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: ComputedMemoryDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const ComputedMemoryDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(ComputedMemoryDataMetricThresholdViewMode), operator: S.optional(ComputedMemoryDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "ComputedMemoryDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type IndexCountersBtreeAccessesRawMetricThresholdViewMode = "AVERAGE"; export const IndexCountersBtreeAccessesRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type IndexCountersBtreeAccessesRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const IndexCountersBtreeAccessesRawMetricThresholdViewOperator = S.String; export interface IndexCountersBtreeAccessesRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: IndexCountersBtreeAccessesRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | IndexCountersBtreeAccessesRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const IndexCountersBtreeAccessesRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(IndexCountersBtreeAccessesRawMetricThresholdViewMode), operator: S.optional( IndexCountersBtreeAccessesRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "IndexCountersBtreeAccessesRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type IndexCountersBtreeHitsRawMetricThresholdViewMode = "AVERAGE"; export const IndexCountersBtreeHitsRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type IndexCountersBtreeHitsRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const IndexCountersBtreeHitsRawMetricThresholdViewOperator = S.String; export interface IndexCountersBtreeHitsRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: IndexCountersBtreeHitsRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | IndexCountersBtreeHitsRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const IndexCountersBtreeHitsRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(IndexCountersBtreeHitsRawMetricThresholdViewMode), operator: S.optional( IndexCountersBtreeHitsRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "IndexCountersBtreeHitsRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type IndexCountersBtreeMissesRawMetricThresholdViewMode = "AVERAGE"; export const IndexCountersBtreeMissesRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type IndexCountersBtreeMissesRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const IndexCountersBtreeMissesRawMetricThresholdViewOperator = S.String; export interface IndexCountersBtreeMissesRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: IndexCountersBtreeMissesRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | IndexCountersBtreeMissesRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const IndexCountersBtreeMissesRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(IndexCountersBtreeMissesRawMetricThresholdViewMode), operator: S.optional( IndexCountersBtreeMissesRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "IndexCountersBtreeMissesRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type IndexCountersBtreeMissRatioRawMetricThresholdViewMode = "AVERAGE"; export const IndexCountersBtreeMissRatioRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type IndexCountersBtreeMissRatioRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const IndexCountersBtreeMissRatioRawMetricThresholdViewOperator = S.String; export interface IndexCountersBtreeMissRatioRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: IndexCountersBtreeMissRatioRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | IndexCountersBtreeMissRatioRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const IndexCountersBtreeMissRatioRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(IndexCountersBtreeMissRatioRawMetricThresholdViewMode), operator: S.optional( IndexCountersBtreeMissRatioRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "IndexCountersBtreeMissRatioRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type GlobalLockPercentageRawMetricThresholdViewMode = "AVERAGE"; export const GlobalLockPercentageRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type GlobalLockPercentageRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const GlobalLockPercentageRawMetricThresholdViewOperator = S.String; export interface GlobalLockPercentageRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: GlobalLockPercentageRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: GlobalLockPercentageRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const GlobalLockPercentageRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(GlobalLockPercentageRawMetricThresholdViewMode), operator: S.optional(GlobalLockPercentageRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "GlobalLockPercentageRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ConnectionsRawMetricThresholdViewMode = "AVERAGE"; export const ConnectionsRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ConnectionsRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ConnectionsRawMetricThresholdViewOperator = S.String; export interface ConnectionsRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ConnectionsRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: ConnectionsRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ConnectionsRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ConnectionsRawMetricThresholdViewMode), operator: S.optional(ConnectionsRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ConnectionsRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdViewMode = "AVERAGE"; export const ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdViewOperator = "GREATER_THAN"; export const ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdViewOperator = S.String; export interface ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdViewMode, ), operator: S.optional( ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ConnectionsMaxRawMetricThresholdViewMode = "AVERAGE"; export const ConnectionsMaxRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ConnectionsMaxRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ConnectionsMaxRawMetricThresholdViewOperator = S.String; export interface ConnectionsMaxRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ConnectionsMaxRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: ConnectionsMaxRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ConnectionsMaxRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(ConnectionsMaxRawMetricThresholdViewMode), operator: S.optional(ConnectionsMaxRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ConnectionsMaxRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ConnectionsPercentRawMetricThresholdViewMode = "AVERAGE"; export const ConnectionsPercentRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ConnectionsPercentRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ConnectionsPercentRawMetricThresholdViewOperator = S.String; export interface ConnectionsPercentRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ConnectionsPercentRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: ConnectionsPercentRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ConnectionsPercentRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(ConnectionsPercentRawMetricThresholdViewMode), operator: S.optional(ConnectionsPercentRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ConnectionsPercentRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type GlobalAccessesNotInMemoryRawMetricThresholdViewMode = "AVERAGE"; export const GlobalAccessesNotInMemoryRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type GlobalAccessesNotInMemoryRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const GlobalAccessesNotInMemoryRawMetricThresholdViewOperator = S.String; export interface GlobalAccessesNotInMemoryRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: GlobalAccessesNotInMemoryRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | GlobalAccessesNotInMemoryRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const GlobalAccessesNotInMemoryRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(GlobalAccessesNotInMemoryRawMetricThresholdViewMode), operator: S.optional( GlobalAccessesNotInMemoryRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "GlobalAccessesNotInMemoryRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type GlobalPageFaultExceptionsThrownRawMetricThresholdViewMode = "AVERAGE"; export const GlobalPageFaultExceptionsThrownRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type GlobalPageFaultExceptionsThrownRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const GlobalPageFaultExceptionsThrownRawMetricThresholdViewOperator = S.String; export interface GlobalPageFaultExceptionsThrownRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | GlobalPageFaultExceptionsThrownRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | GlobalPageFaultExceptionsThrownRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const GlobalPageFaultExceptionsThrownRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( GlobalPageFaultExceptionsThrownRawMetricThresholdViewMode, ), operator: S.optional( GlobalPageFaultExceptionsThrownRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "GlobalPageFaultExceptionsThrownRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type GlobalLockCurrentQueueTotalRawMetricThresholdViewMode = "AVERAGE"; export const GlobalLockCurrentQueueTotalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type GlobalLockCurrentQueueTotalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const GlobalLockCurrentQueueTotalRawMetricThresholdViewOperator = S.String; export interface GlobalLockCurrentQueueTotalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: GlobalLockCurrentQueueTotalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | GlobalLockCurrentQueueTotalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const GlobalLockCurrentQueueTotalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(GlobalLockCurrentQueueTotalRawMetricThresholdViewMode), operator: S.optional( GlobalLockCurrentQueueTotalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "GlobalLockCurrentQueueTotalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type GlobalLockCurrentQueueReadersRawMetricThresholdViewMode = "AVERAGE"; export const GlobalLockCurrentQueueReadersRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type GlobalLockCurrentQueueReadersRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const GlobalLockCurrentQueueReadersRawMetricThresholdViewOperator = S.String; export interface GlobalLockCurrentQueueReadersRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | GlobalLockCurrentQueueReadersRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | GlobalLockCurrentQueueReadersRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const GlobalLockCurrentQueueReadersRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(GlobalLockCurrentQueueReadersRawMetricThresholdViewMode), operator: S.optional( GlobalLockCurrentQueueReadersRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "GlobalLockCurrentQueueReadersRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type GlobalLockCurrentQueueWritersRawMetricThresholdViewMode = "AVERAGE"; export const GlobalLockCurrentQueueWritersRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type GlobalLockCurrentQueueWritersRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const GlobalLockCurrentQueueWritersRawMetricThresholdViewOperator = S.String; export interface GlobalLockCurrentQueueWritersRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | GlobalLockCurrentQueueWritersRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | GlobalLockCurrentQueueWritersRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const GlobalLockCurrentQueueWritersRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(GlobalLockCurrentQueueWritersRawMetricThresholdViewMode), operator: S.optional( GlobalLockCurrentQueueWritersRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "GlobalLockCurrentQueueWritersRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type CursorsTotalOpenRawMetricThresholdViewMode = "AVERAGE"; export const CursorsTotalOpenRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type CursorsTotalOpenRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const CursorsTotalOpenRawMetricThresholdViewOperator = S.String; export interface CursorsTotalOpenRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: CursorsTotalOpenRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: CursorsTotalOpenRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const CursorsTotalOpenRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(CursorsTotalOpenRawMetricThresholdViewMode), operator: S.optional(CursorsTotalOpenRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "CursorsTotalOpenRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type CursorsTotalTimedOutRawMetricThresholdViewMode = "AVERAGE"; export const CursorsTotalTimedOutRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type CursorsTotalTimedOutRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const CursorsTotalTimedOutRawMetricThresholdViewOperator = S.String; export interface CursorsTotalTimedOutRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: CursorsTotalTimedOutRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: CursorsTotalTimedOutRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const CursorsTotalTimedOutRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(CursorsTotalTimedOutRawMetricThresholdViewMode), operator: S.optional(CursorsTotalTimedOutRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "CursorsTotalTimedOutRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type CursorsTotalClientCursorsSizeRawMetricThresholdViewMode = "AVERAGE"; export const CursorsTotalClientCursorsSizeRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type CursorsTotalClientCursorsSizeRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const CursorsTotalClientCursorsSizeRawMetricThresholdViewOperator = S.String; export interface CursorsTotalClientCursorsSizeRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | CursorsTotalClientCursorsSizeRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | CursorsTotalClientCursorsSizeRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const CursorsTotalClientCursorsSizeRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(CursorsTotalClientCursorsSizeRawMetricThresholdViewMode), operator: S.optional( CursorsTotalClientCursorsSizeRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "CursorsTotalClientCursorsSizeRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type NetworkBytesInDataMetricThresholdViewMode = "AVERAGE"; export const NetworkBytesInDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type NetworkBytesInDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const NetworkBytesInDataMetricThresholdViewOperator = S.String; export interface NetworkBytesInDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: NetworkBytesInDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: NetworkBytesInDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const NetworkBytesInDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(NetworkBytesInDataMetricThresholdViewMode), operator: S.optional(NetworkBytesInDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "NetworkBytesInDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type NetworkBytesOutDataMetricThresholdViewMode = "AVERAGE"; export const NetworkBytesOutDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type NetworkBytesOutDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const NetworkBytesOutDataMetricThresholdViewOperator = S.String; export interface NetworkBytesOutDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: NetworkBytesOutDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: NetworkBytesOutDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const NetworkBytesOutDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(NetworkBytesOutDataMetricThresholdViewMode), operator: S.optional(NetworkBytesOutDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "NetworkBytesOutDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type NetworkNumRequestsRawMetricThresholdViewMode = "AVERAGE"; export const NetworkNumRequestsRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type NetworkNumRequestsRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const NetworkNumRequestsRawMetricThresholdViewOperator = S.String; export interface NetworkNumRequestsRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: NetworkNumRequestsRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: NetworkNumRequestsRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const NetworkNumRequestsRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(NetworkNumRequestsRawMetricThresholdViewMode), operator: S.optional(NetworkNumRequestsRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "NetworkNumRequestsRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OplogMasterTimeTimeMetricThresholdViewMode = "AVERAGE"; export const OplogMasterTimeTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OplogMasterTimeTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OplogMasterTimeTimeMetricThresholdViewOperator = S.String; export interface OplogMasterTimeTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OplogMasterTimeTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OplogMasterTimeTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const OplogMasterTimeTimeMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(OplogMasterTimeTimeMetricThresholdViewMode), operator: S.optional(OplogMasterTimeTimeMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "OplogMasterTimeTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OplogMasterTimeEstimatedTtlTimeMetricThresholdViewMode = "AVERAGE"; export const OplogMasterTimeEstimatedTtlTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OplogMasterTimeEstimatedTtlTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OplogMasterTimeEstimatedTtlTimeMetricThresholdViewOperator = S.String; export interface OplogMasterTimeEstimatedTtlTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OplogMasterTimeEstimatedTtlTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | OplogMasterTimeEstimatedTtlTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const OplogMasterTimeEstimatedTtlTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OplogMasterTimeEstimatedTtlTimeMetricThresholdViewMode), operator: S.optional( OplogMasterTimeEstimatedTtlTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "OplogMasterTimeEstimatedTtlTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OplogSlaveLagMasterTimeTimeMetricThresholdViewMode = "AVERAGE"; export const OplogSlaveLagMasterTimeTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OplogSlaveLagMasterTimeTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OplogSlaveLagMasterTimeTimeMetricThresholdViewOperator = S.String; export interface OplogSlaveLagMasterTimeTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OplogSlaveLagMasterTimeTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | OplogSlaveLagMasterTimeTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const OplogSlaveLagMasterTimeTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OplogSlaveLagMasterTimeTimeMetricThresholdViewMode), operator: S.optional( OplogSlaveLagMasterTimeTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "OplogSlaveLagMasterTimeTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OplogMasterLagTimeDiffTimeMetricThresholdViewMode = "AVERAGE"; export const OplogMasterLagTimeDiffTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OplogMasterLagTimeDiffTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OplogMasterLagTimeDiffTimeMetricThresholdViewOperator = S.String; export interface OplogMasterLagTimeDiffTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OplogMasterLagTimeDiffTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | OplogMasterLagTimeDiffTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const OplogMasterLagTimeDiffTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OplogMasterLagTimeDiffTimeMetricThresholdViewMode), operator: S.optional( OplogMasterLagTimeDiffTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "OplogMasterLagTimeDiffTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OplogRateGbPerHourDataMetricThresholdViewMode = "AVERAGE"; export const OplogRateGbPerHourDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OplogRateGbPerHourDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OplogRateGbPerHourDataMetricThresholdViewOperator = S.String; export interface OplogRateGbPerHourDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OplogRateGbPerHourDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: OplogRateGbPerHourDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const OplogRateGbPerHourDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OplogRateGbPerHourDataMetricThresholdViewMode), operator: S.optional(OplogRateGbPerHourDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "OplogRateGbPerHourDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ExtraInfoPageFaultsRawMetricThresholdViewMode = "AVERAGE"; export const ExtraInfoPageFaultsRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ExtraInfoPageFaultsRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ExtraInfoPageFaultsRawMetricThresholdViewOperator = S.String; export interface ExtraInfoPageFaultsRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ExtraInfoPageFaultsRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: ExtraInfoPageFaultsRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ExtraInfoPageFaultsRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ExtraInfoPageFaultsRawMetricThresholdViewMode), operator: S.optional(ExtraInfoPageFaultsRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ExtraInfoPageFaultsRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DbStorageTotalDataMetricThresholdViewMode = "AVERAGE"; export const DbStorageTotalDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DbStorageTotalDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DbStorageTotalDataMetricThresholdViewOperator = S.String; export interface DbStorageTotalDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DbStorageTotalDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: DbStorageTotalDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const DbStorageTotalDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(DbStorageTotalDataMetricThresholdViewMode), operator: S.optional(DbStorageTotalDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "DbStorageTotalDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DbDataSizeTotalDataMetricThresholdViewMode = "AVERAGE"; export const DbDataSizeTotalDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DbDataSizeTotalDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DbDataSizeTotalDataMetricThresholdViewOperator = S.String; export interface DbDataSizeTotalDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DbDataSizeTotalDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: DbDataSizeTotalDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const DbDataSizeTotalDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(DbDataSizeTotalDataMetricThresholdViewMode), operator: S.optional(DbDataSizeTotalDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "DbDataSizeTotalDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DbDataSizeTotalWoSystemDataMetricThresholdViewMode = "AVERAGE"; export const DbDataSizeTotalWoSystemDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DbDataSizeTotalWoSystemDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DbDataSizeTotalWoSystemDataMetricThresholdViewOperator = S.String; export interface DbDataSizeTotalWoSystemDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DbDataSizeTotalWoSystemDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DbDataSizeTotalWoSystemDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const DbDataSizeTotalWoSystemDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DbDataSizeTotalWoSystemDataMetricThresholdViewMode), operator: S.optional( DbDataSizeTotalWoSystemDataMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "DbDataSizeTotalWoSystemDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DbIndexSizeTotalDataMetricThresholdViewMode = "AVERAGE"; export const DbIndexSizeTotalDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DbIndexSizeTotalDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DbIndexSizeTotalDataMetricThresholdViewOperator = S.String; export interface DbIndexSizeTotalDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DbIndexSizeTotalDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: DbIndexSizeTotalDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const DbIndexSizeTotalDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(DbIndexSizeTotalDataMetricThresholdViewMode), operator: S.optional(DbIndexSizeTotalDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "DbIndexSizeTotalDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type JournalingCommitsInWriteLockRawMetricThresholdViewMode = "AVERAGE"; export const JournalingCommitsInWriteLockRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type JournalingCommitsInWriteLockRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const JournalingCommitsInWriteLockRawMetricThresholdViewOperator = S.String; export interface JournalingCommitsInWriteLockRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: JournalingCommitsInWriteLockRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | JournalingCommitsInWriteLockRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const JournalingCommitsInWriteLockRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(JournalingCommitsInWriteLockRawMetricThresholdViewMode), operator: S.optional( JournalingCommitsInWriteLockRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "JournalingCommitsInWriteLockRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type JournalingMbDataMetricThresholdViewMode = "AVERAGE"; export const JournalingMbDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type JournalingMbDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const JournalingMbDataMetricThresholdViewOperator = S.String; export interface JournalingMbDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: JournalingMbDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: JournalingMbDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const JournalingMbDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(JournalingMbDataMetricThresholdViewMode), operator: S.optional(JournalingMbDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "JournalingMbDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type JournalingWriteDataFilesMbDataMetricThresholdViewMode = "AVERAGE"; export const JournalingWriteDataFilesMbDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type JournalingWriteDataFilesMbDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const JournalingWriteDataFilesMbDataMetricThresholdViewOperator = S.String; export interface JournalingWriteDataFilesMbDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: JournalingWriteDataFilesMbDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | JournalingWriteDataFilesMbDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const JournalingWriteDataFilesMbDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(JournalingWriteDataFilesMbDataMetricThresholdViewMode), operator: S.optional( JournalingWriteDataFilesMbDataMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "JournalingWriteDataFilesMbDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type TicketsAvailableReadsRawMetricThresholdViewMode = "AVERAGE"; export const TicketsAvailableReadsRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type TicketsAvailableReadsRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const TicketsAvailableReadsRawMetricThresholdViewOperator = S.String; export interface TicketsAvailableReadsRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: TicketsAvailableReadsRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | TicketsAvailableReadsRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const TicketsAvailableReadsRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(TicketsAvailableReadsRawMetricThresholdViewMode), operator: S.optional(TicketsAvailableReadsRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "TicketsAvailableReadsRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type TicketsAvailableWritesRawMetricThresholdViewMode = "AVERAGE"; export const TicketsAvailableWritesRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type TicketsAvailableWritesRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const TicketsAvailableWritesRawMetricThresholdViewOperator = S.String; export interface TicketsAvailableWritesRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: TicketsAvailableWritesRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | TicketsAvailableWritesRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const TicketsAvailableWritesRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(TicketsAvailableWritesRawMetricThresholdViewMode), operator: S.optional( TicketsAvailableWritesRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "TicketsAvailableWritesRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type CacheUsageDirtyDataMetricThresholdViewMode = "AVERAGE"; export const CacheUsageDirtyDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type CacheUsageDirtyDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const CacheUsageDirtyDataMetricThresholdViewOperator = S.String; export interface CacheUsageDirtyDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: CacheUsageDirtyDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: CacheUsageDirtyDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const CacheUsageDirtyDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(CacheUsageDirtyDataMetricThresholdViewMode), operator: S.optional(CacheUsageDirtyDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "CacheUsageDirtyDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type CacheUsageUsedDataMetricThresholdViewMode = "AVERAGE"; export const CacheUsageUsedDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type CacheUsageUsedDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const CacheUsageUsedDataMetricThresholdViewOperator = S.String; export interface CacheUsageUsedDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: CacheUsageUsedDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: CacheUsageUsedDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const CacheUsageUsedDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(CacheUsageUsedDataMetricThresholdViewMode), operator: S.optional(CacheUsageUsedDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "CacheUsageUsedDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type CacheBytesReadIntoDataMetricThresholdViewMode = "AVERAGE"; export const CacheBytesReadIntoDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type CacheBytesReadIntoDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const CacheBytesReadIntoDataMetricThresholdViewOperator = S.String; export interface CacheBytesReadIntoDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: CacheBytesReadIntoDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: CacheBytesReadIntoDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const CacheBytesReadIntoDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(CacheBytesReadIntoDataMetricThresholdViewMode), operator: S.optional(CacheBytesReadIntoDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "CacheBytesReadIntoDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type CacheBytesWrittenFromDataMetricThresholdViewMode = "AVERAGE"; export const CacheBytesWrittenFromDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type CacheBytesWrittenFromDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const CacheBytesWrittenFromDataMetricThresholdViewOperator = S.String; export interface CacheBytesWrittenFromDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: CacheBytesWrittenFromDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | CacheBytesWrittenFromDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const CacheBytesWrittenFromDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(CacheBytesWrittenFromDataMetricThresholdViewMode), operator: S.optional( CacheBytesWrittenFromDataMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "CacheBytesWrittenFromDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type NormalizedSystemCpuUserRawMetricThresholdViewMode = "AVERAGE"; export const NormalizedSystemCpuUserRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type NormalizedSystemCpuUserRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const NormalizedSystemCpuUserRawMetricThresholdViewOperator = S.String; export interface NormalizedSystemCpuUserRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: NormalizedSystemCpuUserRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | NormalizedSystemCpuUserRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const NormalizedSystemCpuUserRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(NormalizedSystemCpuUserRawMetricThresholdViewMode), operator: S.optional( NormalizedSystemCpuUserRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "NormalizedSystemCpuUserRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type NormalizedSystemCpuStealRawMetricThresholdViewMode = "AVERAGE"; export const NormalizedSystemCpuStealRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type NormalizedSystemCpuStealRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const NormalizedSystemCpuStealRawMetricThresholdViewOperator = S.String; export interface NormalizedSystemCpuStealRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: NormalizedSystemCpuStealRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | NormalizedSystemCpuStealRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const NormalizedSystemCpuStealRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(NormalizedSystemCpuStealRawMetricThresholdViewMode), operator: S.optional( NormalizedSystemCpuStealRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "NormalizedSystemCpuStealRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionSpaceUsedDataRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionSpaceUsedDataRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionSpaceUsedDataRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionSpaceUsedDataRawMetricThresholdViewOperator = S.String; export interface DiskPartitionSpaceUsedDataRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DiskPartitionSpaceUsedDataRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionSpaceUsedDataRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionSpaceUsedDataRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionSpaceUsedDataRawMetricThresholdViewMode), operator: S.optional( DiskPartitionSpaceUsedDataRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionSpaceUsedDataRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionSpaceUsedIndexRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionSpaceUsedIndexRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionSpaceUsedIndexRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionSpaceUsedIndexRawMetricThresholdViewOperator = S.String; export interface DiskPartitionSpaceUsedIndexRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DiskPartitionSpaceUsedIndexRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionSpaceUsedIndexRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionSpaceUsedIndexRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionSpaceUsedIndexRawMetricThresholdViewMode), operator: S.optional( DiskPartitionSpaceUsedIndexRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionSpaceUsedIndexRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionSpaceUsedJournalRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionSpaceUsedJournalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionSpaceUsedJournalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionSpaceUsedJournalRawMetricThresholdViewOperator = S.String; export interface DiskPartitionSpaceUsedJournalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | DiskPartitionSpaceUsedJournalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionSpaceUsedJournalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionSpaceUsedJournalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionSpaceUsedJournalRawMetricThresholdViewMode), operator: S.optional( DiskPartitionSpaceUsedJournalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionSpaceUsedJournalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionReadIopsDataRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionReadIopsDataRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionReadIopsDataRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionReadIopsDataRawMetricThresholdViewOperator = S.String; export interface DiskPartitionReadIopsDataRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DiskPartitionReadIopsDataRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionReadIopsDataRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionReadIopsDataRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionReadIopsDataRawMetricThresholdViewMode), operator: S.optional( DiskPartitionReadIopsDataRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionReadIopsDataRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionReadIopsIndexRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionReadIopsIndexRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionReadIopsIndexRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionReadIopsIndexRawMetricThresholdViewOperator = S.String; export interface DiskPartitionReadIopsIndexRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DiskPartitionReadIopsIndexRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionReadIopsIndexRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionReadIopsIndexRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionReadIopsIndexRawMetricThresholdViewMode), operator: S.optional( DiskPartitionReadIopsIndexRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionReadIopsIndexRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionReadIopsJournalRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionReadIopsJournalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionReadIopsJournalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionReadIopsJournalRawMetricThresholdViewOperator = S.String; export interface DiskPartitionReadIopsJournalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DiskPartitionReadIopsJournalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionReadIopsJournalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionReadIopsJournalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionReadIopsJournalRawMetricThresholdViewMode), operator: S.optional( DiskPartitionReadIopsJournalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionReadIopsJournalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionWriteIopsDataRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionWriteIopsDataRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionWriteIopsDataRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionWriteIopsDataRawMetricThresholdViewOperator = S.String; export interface DiskPartitionWriteIopsDataRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DiskPartitionWriteIopsDataRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionWriteIopsDataRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionWriteIopsDataRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionWriteIopsDataRawMetricThresholdViewMode), operator: S.optional( DiskPartitionWriteIopsDataRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionWriteIopsDataRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionWriteIopsIndexRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionWriteIopsIndexRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionWriteIopsIndexRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionWriteIopsIndexRawMetricThresholdViewOperator = S.String; export interface DiskPartitionWriteIopsIndexRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DiskPartitionWriteIopsIndexRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionWriteIopsIndexRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionWriteIopsIndexRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionWriteIopsIndexRawMetricThresholdViewMode), operator: S.optional( DiskPartitionWriteIopsIndexRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionWriteIopsIndexRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionWriteIopsJournalRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionWriteIopsJournalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionWriteIopsJournalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionWriteIopsJournalRawMetricThresholdViewOperator = S.String; export interface DiskPartitionWriteIopsJournalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | DiskPartitionWriteIopsJournalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionWriteIopsJournalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionWriteIopsJournalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionWriteIopsJournalRawMetricThresholdViewMode), operator: S.optional( DiskPartitionWriteIopsJournalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionWriteIopsJournalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionReadLatencyDataTimeMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionReadLatencyDataTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionReadLatencyDataTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionReadLatencyDataTimeMetricThresholdViewOperator = S.String; export interface DiskPartitionReadLatencyDataTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | DiskPartitionReadLatencyDataTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionReadLatencyDataTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const DiskPartitionReadLatencyDataTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionReadLatencyDataTimeMetricThresholdViewMode), operator: S.optional( DiskPartitionReadLatencyDataTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "DiskPartitionReadLatencyDataTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionReadLatencyIndexTimeMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionReadLatencyIndexTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionReadLatencyIndexTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionReadLatencyIndexTimeMetricThresholdViewOperator = S.String; export interface DiskPartitionReadLatencyIndexTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | DiskPartitionReadLatencyIndexTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionReadLatencyIndexTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const DiskPartitionReadLatencyIndexTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( DiskPartitionReadLatencyIndexTimeMetricThresholdViewMode, ), operator: S.optional( DiskPartitionReadLatencyIndexTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "DiskPartitionReadLatencyIndexTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionReadLatencyJournalTimeMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionReadLatencyJournalTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionReadLatencyJournalTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionReadLatencyJournalTimeMetricThresholdViewOperator = S.String; export interface DiskPartitionReadLatencyJournalTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | DiskPartitionReadLatencyJournalTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionReadLatencyJournalTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const DiskPartitionReadLatencyJournalTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( DiskPartitionReadLatencyJournalTimeMetricThresholdViewMode, ), operator: S.optional( DiskPartitionReadLatencyJournalTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "DiskPartitionReadLatencyJournalTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionWriteLatencyDataTimeMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionWriteLatencyDataTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionWriteLatencyDataTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionWriteLatencyDataTimeMetricThresholdViewOperator = S.String; export interface DiskPartitionWriteLatencyDataTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | DiskPartitionWriteLatencyDataTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionWriteLatencyDataTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const DiskPartitionWriteLatencyDataTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( DiskPartitionWriteLatencyDataTimeMetricThresholdViewMode, ), operator: S.optional( DiskPartitionWriteLatencyDataTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "DiskPartitionWriteLatencyDataTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionWriteLatencyIndexTimeMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionWriteLatencyIndexTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionWriteLatencyIndexTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionWriteLatencyIndexTimeMetricThresholdViewOperator = S.String; export interface DiskPartitionWriteLatencyIndexTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | DiskPartitionWriteLatencyIndexTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionWriteLatencyIndexTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const DiskPartitionWriteLatencyIndexTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( DiskPartitionWriteLatencyIndexTimeMetricThresholdViewMode, ), operator: S.optional( DiskPartitionWriteLatencyIndexTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "DiskPartitionWriteLatencyIndexTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionWriteLatencyJournalTimeMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionWriteLatencyJournalTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionWriteLatencyJournalTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionWriteLatencyJournalTimeMetricThresholdViewOperator = S.String; export interface DiskPartitionWriteLatencyJournalTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | DiskPartitionWriteLatencyJournalTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionWriteLatencyJournalTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const DiskPartitionWriteLatencyJournalTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( DiskPartitionWriteLatencyJournalTimeMetricThresholdViewMode, ), operator: S.optional( DiskPartitionWriteLatencyJournalTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "DiskPartitionWriteLatencyJournalTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionQueueDepthDataRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionQueueDepthDataRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionQueueDepthDataRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionQueueDepthDataRawMetricThresholdViewOperator = S.String; export interface DiskPartitionQueueDepthDataRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DiskPartitionQueueDepthDataRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionQueueDepthDataRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionQueueDepthDataRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionQueueDepthDataRawMetricThresholdViewMode), operator: S.optional( DiskPartitionQueueDepthDataRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionQueueDepthDataRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionQueueDepthIndexRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionQueueDepthIndexRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionQueueDepthIndexRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionQueueDepthIndexRawMetricThresholdViewOperator = S.String; export interface DiskPartitionQueueDepthIndexRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DiskPartitionQueueDepthIndexRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionQueueDepthIndexRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionQueueDepthIndexRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DiskPartitionQueueDepthIndexRawMetricThresholdViewMode), operator: S.optional( DiskPartitionQueueDepthIndexRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionQueueDepthIndexRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DiskPartitionQueueDepthJournalRawMetricThresholdViewMode = "AVERAGE"; export const DiskPartitionQueueDepthJournalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DiskPartitionQueueDepthJournalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DiskPartitionQueueDepthJournalRawMetricThresholdViewOperator = S.String; export interface DiskPartitionQueueDepthJournalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | DiskPartitionQueueDepthJournalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | DiskPartitionQueueDepthJournalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DiskPartitionQueueDepthJournalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( DiskPartitionQueueDepthJournalRawMetricThresholdViewMode, ), operator: S.optional( DiskPartitionQueueDepthJournalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DiskPartitionQueueDepthJournalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FtsDiskUtilizationDataMetricThresholdViewMode = "AVERAGE"; export const FtsDiskUtilizationDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FtsDiskUtilizationDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FtsDiskUtilizationDataMetricThresholdViewOperator = S.String; export interface FtsDiskUtilizationDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FtsDiskUtilizationDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FtsDiskUtilizationDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const FtsDiskUtilizationDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FtsDiskUtilizationDataMetricThresholdViewMode), operator: S.optional(FtsDiskUtilizationDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "FtsDiskUtilizationDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MuninCpuUserRawMetricThresholdViewMode = "AVERAGE"; export const MuninCpuUserRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MuninCpuUserRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MuninCpuUserRawMetricThresholdViewOperator = S.String; export interface MuninCpuUserRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MuninCpuUserRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MuninCpuUserRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MuninCpuUserRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MuninCpuUserRawMetricThresholdViewMode), operator: S.optional(MuninCpuUserRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MuninCpuUserRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MuninCpuNiceRawMetricThresholdViewMode = "AVERAGE"; export const MuninCpuNiceRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MuninCpuNiceRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MuninCpuNiceRawMetricThresholdViewOperator = S.String; export interface MuninCpuNiceRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MuninCpuNiceRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MuninCpuNiceRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MuninCpuNiceRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MuninCpuNiceRawMetricThresholdViewMode), operator: S.optional(MuninCpuNiceRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MuninCpuNiceRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MuninCpuSystemRawMetricThresholdViewMode = "AVERAGE"; export const MuninCpuSystemRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MuninCpuSystemRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MuninCpuSystemRawMetricThresholdViewOperator = S.String; export interface MuninCpuSystemRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MuninCpuSystemRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MuninCpuSystemRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MuninCpuSystemRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(MuninCpuSystemRawMetricThresholdViewMode), operator: S.optional(MuninCpuSystemRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MuninCpuSystemRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MuninCpuIowaitRawMetricThresholdViewMode = "AVERAGE"; export const MuninCpuIowaitRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MuninCpuIowaitRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MuninCpuIowaitRawMetricThresholdViewOperator = S.String; export interface MuninCpuIowaitRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MuninCpuIowaitRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MuninCpuIowaitRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MuninCpuIowaitRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(MuninCpuIowaitRawMetricThresholdViewMode), operator: S.optional(MuninCpuIowaitRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MuninCpuIowaitRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MuninCpuIrqRawMetricThresholdViewMode = "AVERAGE"; export const MuninCpuIrqRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MuninCpuIrqRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MuninCpuIrqRawMetricThresholdViewOperator = S.String; export interface MuninCpuIrqRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MuninCpuIrqRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MuninCpuIrqRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MuninCpuIrqRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MuninCpuIrqRawMetricThresholdViewMode), operator: S.optional(MuninCpuIrqRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MuninCpuIrqRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MuninCpuSoftirqRawMetricThresholdViewMode = "AVERAGE"; export const MuninCpuSoftirqRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MuninCpuSoftirqRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MuninCpuSoftirqRawMetricThresholdViewOperator = S.String; export interface MuninCpuSoftirqRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MuninCpuSoftirqRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MuninCpuSoftirqRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MuninCpuSoftirqRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(MuninCpuSoftirqRawMetricThresholdViewMode), operator: S.optional(MuninCpuSoftirqRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MuninCpuSoftirqRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MuninCpuStealRawMetricThresholdViewMode = "AVERAGE"; export const MuninCpuStealRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MuninCpuStealRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MuninCpuStealRawMetricThresholdViewOperator = S.String; export interface MuninCpuStealRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MuninCpuStealRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MuninCpuStealRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MuninCpuStealRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MuninCpuStealRawMetricThresholdViewMode), operator: S.optional(MuninCpuStealRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MuninCpuStealRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DocumentReturnedRawMetricThresholdViewMode = "AVERAGE"; export const DocumentReturnedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DocumentReturnedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DocumentReturnedRawMetricThresholdViewOperator = S.String; export interface DocumentReturnedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DocumentReturnedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: DocumentReturnedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DocumentReturnedRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(DocumentReturnedRawMetricThresholdViewMode), operator: S.optional(DocumentReturnedRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DocumentReturnedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DocumentInsertedRawMetricThresholdViewMode = "AVERAGE"; export const DocumentInsertedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DocumentInsertedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DocumentInsertedRawMetricThresholdViewOperator = S.String; export interface DocumentInsertedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DocumentInsertedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: DocumentInsertedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DocumentInsertedRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(DocumentInsertedRawMetricThresholdViewMode), operator: S.optional(DocumentInsertedRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DocumentInsertedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DocumentUpdatedRawMetricThresholdViewMode = "AVERAGE"; export const DocumentUpdatedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DocumentUpdatedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DocumentUpdatedRawMetricThresholdViewOperator = S.String; export interface DocumentUpdatedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DocumentUpdatedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: DocumentUpdatedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DocumentUpdatedRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(DocumentUpdatedRawMetricThresholdViewMode), operator: S.optional(DocumentUpdatedRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DocumentUpdatedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DocumentDeletedRawMetricThresholdViewMode = "AVERAGE"; export const DocumentDeletedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DocumentDeletedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const DocumentDeletedRawMetricThresholdViewOperator = S.String; export interface DocumentDeletedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DocumentDeletedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: DocumentDeletedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DocumentDeletedRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(DocumentDeletedRawMetricThresholdViewMode), operator: S.optional(DocumentDeletedRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DocumentDeletedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OperationsScanAndOrderRawMetricThresholdViewMode = "AVERAGE"; export const OperationsScanAndOrderRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OperationsScanAndOrderRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OperationsScanAndOrderRawMetricThresholdViewOperator = S.String; export interface OperationsScanAndOrderRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OperationsScanAndOrderRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | OperationsScanAndOrderRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OperationsScanAndOrderRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OperationsScanAndOrderRawMetricThresholdViewMode), operator: S.optional( OperationsScanAndOrderRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OperationsScanAndOrderRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type QueryExecutorScannedRawMetricThresholdViewMode = "AVERAGE"; export const QueryExecutorScannedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type QueryExecutorScannedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const QueryExecutorScannedRawMetricThresholdViewOperator = S.String; export interface QueryExecutorScannedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: QueryExecutorScannedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: QueryExecutorScannedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const QueryExecutorScannedRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(QueryExecutorScannedRawMetricThresholdViewMode), operator: S.optional(QueryExecutorScannedRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "QueryExecutorScannedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type QueryExecutorScannedObjectsRawMetricThresholdViewMode = "AVERAGE"; export const QueryExecutorScannedObjectsRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type QueryExecutorScannedObjectsRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const QueryExecutorScannedObjectsRawMetricThresholdViewOperator = S.String; export interface QueryExecutorScannedObjectsRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: QueryExecutorScannedObjectsRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | QueryExecutorScannedObjectsRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const QueryExecutorScannedObjectsRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(QueryExecutorScannedObjectsRawMetricThresholdViewMode), operator: S.optional( QueryExecutorScannedObjectsRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "QueryExecutorScannedObjectsRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OperationThrottlingRejectedOperationsRawMetricThresholdViewMode = "AVERAGE"; export const OperationThrottlingRejectedOperationsRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OperationThrottlingRejectedOperationsRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OperationThrottlingRejectedOperationsRawMetricThresholdViewOperator = S.String; export interface OperationThrottlingRejectedOperationsRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | OperationThrottlingRejectedOperationsRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | OperationThrottlingRejectedOperationsRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OperationThrottlingRejectedOperationsRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( OperationThrottlingRejectedOperationsRawMetricThresholdViewMode, ), operator: S.optional( OperationThrottlingRejectedOperationsRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OperationThrottlingRejectedOperationsRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type QuerySpillToDiskDuringSortRawMetricThresholdViewMode = "AVERAGE"; export const QuerySpillToDiskDuringSortRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type QuerySpillToDiskDuringSortRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const QuerySpillToDiskDuringSortRawMetricThresholdViewOperator = S.String; export interface QuerySpillToDiskDuringSortRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: QuerySpillToDiskDuringSortRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | QuerySpillToDiskDuringSortRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const QuerySpillToDiskDuringSortRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(QuerySpillToDiskDuringSortRawMetricThresholdViewMode), operator: S.optional( QuerySpillToDiskDuringSortRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "QuerySpillToDiskDuringSortRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type OperationsQueriesKilledRawMetricThresholdViewMode = "AVERAGE"; export const OperationsQueriesKilledRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type OperationsQueriesKilledRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const OperationsQueriesKilledRawMetricThresholdViewOperator = S.String; export interface OperationsQueriesKilledRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: OperationsQueriesKilledRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | OperationsQueriesKilledRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const OperationsQueriesKilledRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(OperationsQueriesKilledRawMetricThresholdViewMode), operator: S.optional( OperationsQueriesKilledRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "OperationsQueriesKilledRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type QueryTargetingScannedPerReturnedRawMetricThresholdViewMode = "AVERAGE"; export const QueryTargetingScannedPerReturnedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type QueryTargetingScannedPerReturnedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const QueryTargetingScannedPerReturnedRawMetricThresholdViewOperator = S.String; export interface QueryTargetingScannedPerReturnedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | QueryTargetingScannedPerReturnedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | QueryTargetingScannedPerReturnedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const QueryTargetingScannedPerReturnedRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( QueryTargetingScannedPerReturnedRawMetricThresholdViewMode, ), operator: S.optional( QueryTargetingScannedPerReturnedRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "QueryTargetingScannedPerReturnedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type QueryTargetingScannedObjectsPerReturnedRawMetricThresholdViewMode = "AVERAGE"; export const QueryTargetingScannedObjectsPerReturnedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type QueryTargetingScannedObjectsPerReturnedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const QueryTargetingScannedObjectsPerReturnedRawMetricThresholdViewOperator = S.String; export interface QueryTargetingScannedObjectsPerReturnedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | QueryTargetingScannedObjectsPerReturnedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | QueryTargetingScannedObjectsPerReturnedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const QueryTargetingScannedObjectsPerReturnedRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( QueryTargetingScannedObjectsPerReturnedRawMetricThresholdViewMode, ), operator: S.optional( QueryTargetingScannedObjectsPerReturnedRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "QueryTargetingScannedObjectsPerReturnedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type AvgReadExecutionTimeTimeMetricThresholdViewMode = "AVERAGE"; export const AvgReadExecutionTimeTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type AvgReadExecutionTimeTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const AvgReadExecutionTimeTimeMetricThresholdViewOperator = S.String; export interface AvgReadExecutionTimeTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: AvgReadExecutionTimeTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | AvgReadExecutionTimeTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const AvgReadExecutionTimeTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(AvgReadExecutionTimeTimeMetricThresholdViewMode), operator: S.optional(AvgReadExecutionTimeTimeMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "AvgReadExecutionTimeTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type AvgWriteExecutionTimeTimeMetricThresholdViewMode = "AVERAGE"; export const AvgWriteExecutionTimeTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type AvgWriteExecutionTimeTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const AvgWriteExecutionTimeTimeMetricThresholdViewOperator = S.String; export interface AvgWriteExecutionTimeTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: AvgWriteExecutionTimeTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | AvgWriteExecutionTimeTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const AvgWriteExecutionTimeTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(AvgWriteExecutionTimeTimeMetricThresholdViewMode), operator: S.optional( AvgWriteExecutionTimeTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "AvgWriteExecutionTimeTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type AvgCommandExecutionTimeTimeMetricThresholdViewMode = "AVERAGE"; export const AvgCommandExecutionTimeTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type AvgCommandExecutionTimeTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const AvgCommandExecutionTimeTimeMetricThresholdViewOperator = S.String; export interface AvgCommandExecutionTimeTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: AvgCommandExecutionTimeTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | AvgCommandExecutionTimeTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const AvgCommandExecutionTimeTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(AvgCommandExecutionTimeTimeMetricThresholdViewMode), operator: S.optional( AvgCommandExecutionTimeTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "AvgCommandExecutionTimeTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type LogicalSizeDataMetricThresholdViewMode = "AVERAGE"; export const LogicalSizeDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type LogicalSizeDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const LogicalSizeDataMetricThresholdViewOperator = S.String; export interface LogicalSizeDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: LogicalSizeDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: LogicalSizeDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const LogicalSizeDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(LogicalSizeDataMetricThresholdViewMode), operator: S.optional(LogicalSizeDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "LogicalSizeDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type RestartsInLastHourRawMetricThresholdViewMode = "AVERAGE"; export const RestartsInLastHourRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type RestartsInLastHourRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const RestartsInLastHourRawMetricThresholdViewOperator = S.String; export interface RestartsInLastHourRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: RestartsInLastHourRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: RestartsInLastHourRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const RestartsInLastHourRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(RestartsInLastHourRawMetricThresholdViewMode), operator: S.optional(RestartsInLastHourRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "RestartsInLastHourRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SystemMemoryUsedDataMetricThresholdViewMode = "AVERAGE"; export const SystemMemoryUsedDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SystemMemoryUsedDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SystemMemoryUsedDataMetricThresholdViewOperator = S.String; export interface SystemMemoryUsedDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SystemMemoryUsedDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: SystemMemoryUsedDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const SystemMemoryUsedDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(SystemMemoryUsedDataMetricThresholdViewMode), operator: S.optional(SystemMemoryUsedDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "SystemMemoryUsedDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SystemMemoryAvailableDataMetricThresholdViewMode = "AVERAGE"; export const SystemMemoryAvailableDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SystemMemoryAvailableDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SystemMemoryAvailableDataMetricThresholdViewOperator = S.String; export interface SystemMemoryAvailableDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SystemMemoryAvailableDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SystemMemoryAvailableDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const SystemMemoryAvailableDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SystemMemoryAvailableDataMetricThresholdViewMode), operator: S.optional( SystemMemoryAvailableDataMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "SystemMemoryAvailableDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SwapUsageUsedDataMetricThresholdViewMode = "AVERAGE"; export const SwapUsageUsedDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SwapUsageUsedDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SwapUsageUsedDataMetricThresholdViewOperator = S.String; export interface SwapUsageUsedDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SwapUsageUsedDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: SwapUsageUsedDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const SwapUsageUsedDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(SwapUsageUsedDataMetricThresholdViewMode), operator: S.optional(SwapUsageUsedDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "SwapUsageUsedDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SwapUsageFreeDataMetricThresholdViewMode = "AVERAGE"; export const SwapUsageFreeDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SwapUsageFreeDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SwapUsageFreeDataMetricThresholdViewOperator = S.String; export interface SwapUsageFreeDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SwapUsageFreeDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: SwapUsageFreeDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const SwapUsageFreeDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(SwapUsageFreeDataMetricThresholdViewMode), operator: S.optional(SwapUsageFreeDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "SwapUsageFreeDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SystemNetworkInDataMetricThresholdViewMode = "AVERAGE"; export const SystemNetworkInDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SystemNetworkInDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SystemNetworkInDataMetricThresholdViewOperator = S.String; export interface SystemNetworkInDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SystemNetworkInDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: SystemNetworkInDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const SystemNetworkInDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(SystemNetworkInDataMetricThresholdViewMode), operator: S.optional(SystemNetworkInDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "SystemNetworkInDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SystemNetworkOutDataMetricThresholdViewMode = "AVERAGE"; export const SystemNetworkOutDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SystemNetworkOutDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SystemNetworkOutDataMetricThresholdViewOperator = S.String; export interface SystemNetworkOutDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SystemNetworkOutDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: SystemNetworkOutDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const SystemNetworkOutDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(SystemNetworkOutDataMetricThresholdViewMode), operator: S.optional(SystemNetworkOutDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "SystemNetworkOutDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxNormalizedSystemCpuUserRawMetricThresholdViewMode = "AVERAGE"; export const MaxNormalizedSystemCpuUserRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxNormalizedSystemCpuUserRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxNormalizedSystemCpuUserRawMetricThresholdViewOperator = S.String; export interface MaxNormalizedSystemCpuUserRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxNormalizedSystemCpuUserRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxNormalizedSystemCpuUserRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxNormalizedSystemCpuUserRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxNormalizedSystemCpuUserRawMetricThresholdViewMode), operator: S.optional( MaxNormalizedSystemCpuUserRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxNormalizedSystemCpuUserRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxNormalizedSystemCpuStealRawMetricThresholdViewMode = "AVERAGE"; export const MaxNormalizedSystemCpuStealRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxNormalizedSystemCpuStealRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxNormalizedSystemCpuStealRawMetricThresholdViewOperator = S.String; export interface MaxNormalizedSystemCpuStealRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxNormalizedSystemCpuStealRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxNormalizedSystemCpuStealRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxNormalizedSystemCpuStealRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxNormalizedSystemCpuStealRawMetricThresholdViewMode), operator: S.optional( MaxNormalizedSystemCpuStealRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxNormalizedSystemCpuStealRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionSpaceUsedDataRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionSpaceUsedDataRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionSpaceUsedDataRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionSpaceUsedDataRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionSpaceUsedDataRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionSpaceUsedDataRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionSpaceUsedDataRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionSpaceUsedDataRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxDiskPartitionSpaceUsedDataRawMetricThresholdViewMode), operator: S.optional( MaxDiskPartitionSpaceUsedDataRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionSpaceUsedDataRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionSpaceUsedIndexRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionSpaceUsedIndexRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionSpaceUsedIndexRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionSpaceUsedIndexRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionSpaceUsedIndexRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionSpaceUsedIndexRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionSpaceUsedIndexRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionSpaceUsedIndexRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionSpaceUsedIndexRawMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionSpaceUsedIndexRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionSpaceUsedIndexRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionSpaceUsedJournalRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionSpaceUsedJournalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionSpaceUsedJournalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionSpaceUsedJournalRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionSpaceUsedJournalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionSpaceUsedJournalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionSpaceUsedJournalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionSpaceUsedJournalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionSpaceUsedJournalRawMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionSpaceUsedJournalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionSpaceUsedJournalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionReadIopsDataRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionReadIopsDataRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionReadIopsDataRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionReadIopsDataRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionReadIopsDataRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxDiskPartitionReadIopsDataRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionReadIopsDataRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionReadIopsDataRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxDiskPartitionReadIopsDataRawMetricThresholdViewMode), operator: S.optional( MaxDiskPartitionReadIopsDataRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionReadIopsDataRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionReadIopsIndexRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionReadIopsIndexRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionReadIopsIndexRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionReadIopsIndexRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionReadIopsIndexRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionReadIopsIndexRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionReadIopsIndexRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionReadIopsIndexRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxDiskPartitionReadIopsIndexRawMetricThresholdViewMode), operator: S.optional( MaxDiskPartitionReadIopsIndexRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionReadIopsIndexRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionReadIopsJournalRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionReadIopsJournalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionReadIopsJournalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionReadIopsJournalRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionReadIopsJournalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionReadIopsJournalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionReadIopsJournalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionReadIopsJournalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionReadIopsJournalRawMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionReadIopsJournalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionReadIopsJournalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionWriteIopsDataRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionWriteIopsDataRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionWriteIopsDataRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionWriteIopsDataRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionWriteIopsDataRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionWriteIopsDataRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionWriteIopsDataRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionWriteIopsDataRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxDiskPartitionWriteIopsDataRawMetricThresholdViewMode), operator: S.optional( MaxDiskPartitionWriteIopsDataRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionWriteIopsDataRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionWriteIopsIndexRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionWriteIopsIndexRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionWriteIopsIndexRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionWriteIopsIndexRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionWriteIopsIndexRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionWriteIopsIndexRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionWriteIopsIndexRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionWriteIopsIndexRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionWriteIopsIndexRawMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionWriteIopsIndexRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionWriteIopsIndexRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionWriteIopsJournalRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionWriteIopsJournalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionWriteIopsJournalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionWriteIopsJournalRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionWriteIopsJournalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionWriteIopsJournalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionWriteIopsJournalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionWriteIopsJournalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionWriteIopsJournalRawMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionWriteIopsJournalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionWriteIopsJournalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionReadLatencyDataTimeMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionReadLatencyDataTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionReadLatencyDataTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionReadLatencyDataTimeMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionReadLatencyDataTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionReadLatencyDataTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionReadLatencyDataTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const MaxDiskPartitionReadLatencyDataTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionReadLatencyDataTimeMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionReadLatencyDataTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionReadLatencyDataTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionReadLatencyIndexTimeMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionReadLatencyIndexTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionReadLatencyIndexTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionReadLatencyIndexTimeMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionReadLatencyIndexTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionReadLatencyIndexTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionReadLatencyIndexTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const MaxDiskPartitionReadLatencyIndexTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionReadLatencyIndexTimeMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionReadLatencyIndexTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionReadLatencyIndexTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionReadLatencyJournalTimeMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionReadLatencyJournalTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionReadLatencyJournalTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionReadLatencyJournalTimeMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionReadLatencyJournalTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionReadLatencyJournalTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionReadLatencyJournalTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const MaxDiskPartitionReadLatencyJournalTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionReadLatencyJournalTimeMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionReadLatencyJournalTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionReadLatencyJournalTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionWriteLatencyDataTimeMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionWriteLatencyDataTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionWriteLatencyDataTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionWriteLatencyDataTimeMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionWriteLatencyDataTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionWriteLatencyDataTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionWriteLatencyDataTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const MaxDiskPartitionWriteLatencyDataTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionWriteLatencyDataTimeMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionWriteLatencyDataTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionWriteLatencyDataTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionQueueDepthDataRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionQueueDepthDataRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionQueueDepthDataRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionQueueDepthDataRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionQueueDepthDataRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionQueueDepthDataRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionQueueDepthDataRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionQueueDepthDataRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionQueueDepthDataRawMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionQueueDepthDataRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionQueueDepthDataRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionQueueDepthIndexRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionQueueDepthIndexRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionQueueDepthIndexRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionQueueDepthIndexRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionQueueDepthIndexRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionQueueDepthIndexRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionQueueDepthIndexRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionQueueDepthIndexRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionQueueDepthIndexRawMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionQueueDepthIndexRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionQueueDepthIndexRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxDiskPartitionQueueDepthJournalRawMetricThresholdViewMode = "AVERAGE"; export const MaxDiskPartitionQueueDepthJournalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxDiskPartitionQueueDepthJournalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxDiskPartitionQueueDepthJournalRawMetricThresholdViewOperator = S.String; export interface MaxDiskPartitionQueueDepthJournalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | MaxDiskPartitionQueueDepthJournalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxDiskPartitionQueueDepthJournalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxDiskPartitionQueueDepthJournalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( MaxDiskPartitionQueueDepthJournalRawMetricThresholdViewMode, ), operator: S.optional( MaxDiskPartitionQueueDepthJournalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxDiskPartitionQueueDepthJournalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxSystemMemoryPercentUsedRawMetricThresholdViewMode = "AVERAGE"; export const MaxSystemMemoryPercentUsedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxSystemMemoryPercentUsedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxSystemMemoryPercentUsedRawMetricThresholdViewOperator = S.String; export interface MaxSystemMemoryPercentUsedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxSystemMemoryPercentUsedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxSystemMemoryPercentUsedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const MaxSystemMemoryPercentUsedRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxSystemMemoryPercentUsedRawMetricThresholdViewMode), operator: S.optional( MaxSystemMemoryPercentUsedRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "MaxSystemMemoryPercentUsedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxSystemMemoryUsedDataMetricThresholdViewMode = "AVERAGE"; export const MaxSystemMemoryUsedDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxSystemMemoryUsedDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxSystemMemoryUsedDataMetricThresholdViewOperator = S.String; export interface MaxSystemMemoryUsedDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxSystemMemoryUsedDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MaxSystemMemoryUsedDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const MaxSystemMemoryUsedDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxSystemMemoryUsedDataMetricThresholdViewMode), operator: S.optional(MaxSystemMemoryUsedDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "MaxSystemMemoryUsedDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxSystemMemoryAvailableDataMetricThresholdViewMode = "AVERAGE"; export const MaxSystemMemoryAvailableDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxSystemMemoryAvailableDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxSystemMemoryAvailableDataMetricThresholdViewOperator = S.String; export interface MaxSystemMemoryAvailableDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxSystemMemoryAvailableDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | MaxSystemMemoryAvailableDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const MaxSystemMemoryAvailableDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxSystemMemoryAvailableDataMetricThresholdViewMode), operator: S.optional( MaxSystemMemoryAvailableDataMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "MaxSystemMemoryAvailableDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxSwapUsageUsedDataMetricThresholdViewMode = "AVERAGE"; export const MaxSwapUsageUsedDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxSwapUsageUsedDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxSwapUsageUsedDataMetricThresholdViewOperator = S.String; export interface MaxSwapUsageUsedDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxSwapUsageUsedDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MaxSwapUsageUsedDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const MaxSwapUsageUsedDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(MaxSwapUsageUsedDataMetricThresholdViewMode), operator: S.optional(MaxSwapUsageUsedDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "MaxSwapUsageUsedDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxSwapUsageFreeDataMetricThresholdViewMode = "AVERAGE"; export const MaxSwapUsageFreeDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxSwapUsageFreeDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxSwapUsageFreeDataMetricThresholdViewOperator = S.String; export interface MaxSwapUsageFreeDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxSwapUsageFreeDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MaxSwapUsageFreeDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const MaxSwapUsageFreeDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(MaxSwapUsageFreeDataMetricThresholdViewMode), operator: S.optional(MaxSwapUsageFreeDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "MaxSwapUsageFreeDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxSystemNetworkInDataMetricThresholdViewMode = "AVERAGE"; export const MaxSystemNetworkInDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxSystemNetworkInDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxSystemNetworkInDataMetricThresholdViewOperator = S.String; export interface MaxSystemNetworkInDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxSystemNetworkInDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MaxSystemNetworkInDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const MaxSystemNetworkInDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxSystemNetworkInDataMetricThresholdViewMode), operator: S.optional(MaxSystemNetworkInDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "MaxSystemNetworkInDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type MaxSystemNetworkOutDataMetricThresholdViewMode = "AVERAGE"; export const MaxSystemNetworkOutDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type MaxSystemNetworkOutDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const MaxSystemNetworkOutDataMetricThresholdViewOperator = S.String; export interface MaxSystemNetworkOutDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: MaxSystemNetworkOutDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: MaxSystemNetworkOutDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const MaxSystemNetworkOutDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(MaxSystemNetworkOutDataMetricThresholdViewMode), operator: S.optional(MaxSystemNetworkOutDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "MaxSystemNetworkOutDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchIndexSizeDataMetricThresholdViewMode = "AVERAGE"; export const SearchIndexSizeDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchIndexSizeDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchIndexSizeDataMetricThresholdViewOperator = S.String; export interface SearchIndexSizeDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchIndexSizeDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: SearchIndexSizeDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const SearchIndexSizeDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(SearchIndexSizeDataMetricThresholdViewMode), operator: S.optional(SearchIndexSizeDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "SearchIndexSizeDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchMaxFieldsIndexedRawMetricThresholdViewMode = "AVERAGE"; export const SearchMaxFieldsIndexedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchMaxFieldsIndexedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchMaxFieldsIndexedRawMetricThresholdViewOperator = S.String; export interface SearchMaxFieldsIndexedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchMaxFieldsIndexedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchMaxFieldsIndexedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchMaxFieldsIndexedRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchMaxFieldsIndexedRawMetricThresholdViewMode), operator: S.optional( SearchMaxFieldsIndexedRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchMaxFieldsIndexedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchProcessThrottlingRawMetricThresholdViewMode = "AVERAGE"; export const SearchProcessThrottlingRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchProcessThrottlingRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchProcessThrottlingRawMetricThresholdViewOperator = S.String; export interface SearchProcessThrottlingRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchProcessThrottlingRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchProcessThrottlingRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchProcessThrottlingRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchProcessThrottlingRawMetricThresholdViewMode), operator: S.optional( SearchProcessThrottlingRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchProcessThrottlingRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchNumberOfFieldsInIndexRawMetricThresholdViewMode = "AVERAGE"; export const SearchNumberOfFieldsInIndexRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchNumberOfFieldsInIndexRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchNumberOfFieldsInIndexRawMetricThresholdViewOperator = S.String; export interface SearchNumberOfFieldsInIndexRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchNumberOfFieldsInIndexRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchNumberOfFieldsInIndexRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchNumberOfFieldsInIndexRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchNumberOfFieldsInIndexRawMetricThresholdViewMode), operator: S.optional( SearchNumberOfFieldsInIndexRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchNumberOfFieldsInIndexRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchMaxNgramFieldsIndexedRawMetricThresholdViewMode = "AVERAGE"; export const SearchMaxNgramFieldsIndexedRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchMaxNgramFieldsIndexedRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchMaxNgramFieldsIndexedRawMetricThresholdViewOperator = S.String; export interface SearchMaxNgramFieldsIndexedRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchMaxNgramFieldsIndexedRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchMaxNgramFieldsIndexedRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchMaxNgramFieldsIndexedRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchMaxNgramFieldsIndexedRawMetricThresholdViewMode), operator: S.optional( SearchMaxNgramFieldsIndexedRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchMaxNgramFieldsIndexedRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchReplicationLagTimeMetricThresholdViewMode = "AVERAGE"; export const SearchReplicationLagTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchReplicationLagTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchReplicationLagTimeMetricThresholdViewOperator = S.String; export interface SearchReplicationLagTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchReplicationLagTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchReplicationLagTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const SearchReplicationLagTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchReplicationLagTimeMetricThresholdViewMode), operator: S.optional(SearchReplicationLagTimeMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "SearchReplicationLagTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type NumberMetricThresholdViewMode = "AVERAGE"; export const NumberMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type NumberMetricThresholdViewOperator = "LESS_THAN" | "GREATER_THAN"; export const NumberMetricThresholdViewOperator = S.String; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ export type NumberMetricUnits = "COUNT" | "THOUSAND" | "MILLION" | "BILLION"; export const NumberMetricUnits = S.String; export interface NumberMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: NumberMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: NumberMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: NumberMetricUnits | (string & {}); } export const NumberMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(NumberMetricThresholdViewMode), operator: S.optional(NumberMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(NumberMetricUnits), }), ).annotate({ identifier: "NumberMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchOpCounterInsertRawMetricThresholdViewMode = "AVERAGE"; export const SearchOpCounterInsertRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchOpCounterInsertRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchOpCounterInsertRawMetricThresholdViewOperator = S.String; export interface SearchOpCounterInsertRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchOpCounterInsertRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchOpCounterInsertRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchOpCounterInsertRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchOpCounterInsertRawMetricThresholdViewMode), operator: S.optional(SearchOpCounterInsertRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchOpCounterInsertRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchOpCounterDeleteRawMetricThresholdViewMode = "AVERAGE"; export const SearchOpCounterDeleteRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchOpCounterDeleteRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchOpCounterDeleteRawMetricThresholdViewOperator = S.String; export interface SearchOpCounterDeleteRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchOpCounterDeleteRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchOpCounterDeleteRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchOpCounterDeleteRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchOpCounterDeleteRawMetricThresholdViewMode), operator: S.optional(SearchOpCounterDeleteRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchOpCounterDeleteRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchOpCounterUpdateRawMetricThresholdViewMode = "AVERAGE"; export const SearchOpCounterUpdateRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchOpCounterUpdateRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchOpCounterUpdateRawMetricThresholdViewOperator = S.String; export interface SearchOpCounterUpdateRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchOpCounterUpdateRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchOpCounterUpdateRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchOpCounterUpdateRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchOpCounterUpdateRawMetricThresholdViewMode), operator: S.optional(SearchOpCounterUpdateRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchOpCounterUpdateRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchOpCounterGetMoreRawMetricThresholdViewMode = "AVERAGE"; export const SearchOpCounterGetMoreRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchOpCounterGetMoreRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchOpCounterGetMoreRawMetricThresholdViewOperator = S.String; export interface SearchOpCounterGetMoreRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchOpCounterGetMoreRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchOpCounterGetMoreRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchOpCounterGetMoreRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchOpCounterGetMoreRawMetricThresholdViewMode), operator: S.optional( SearchOpCounterGetMoreRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchOpCounterGetMoreRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchNumberOfQueriesTotalRawMetricThresholdViewMode = "AVERAGE"; export const SearchNumberOfQueriesTotalRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchNumberOfQueriesTotalRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchNumberOfQueriesTotalRawMetricThresholdViewOperator = S.String; export interface SearchNumberOfQueriesTotalRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchNumberOfQueriesTotalRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchNumberOfQueriesTotalRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchNumberOfQueriesTotalRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchNumberOfQueriesTotalRawMetricThresholdViewMode), operator: S.optional( SearchNumberOfQueriesTotalRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchNumberOfQueriesTotalRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchNumberOfQueriesErrorRawMetricThresholdViewMode = "AVERAGE"; export const SearchNumberOfQueriesErrorRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchNumberOfQueriesErrorRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchNumberOfQueriesErrorRawMetricThresholdViewOperator = S.String; export interface SearchNumberOfQueriesErrorRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchNumberOfQueriesErrorRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchNumberOfQueriesErrorRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchNumberOfQueriesErrorRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchNumberOfQueriesErrorRawMetricThresholdViewMode), operator: S.optional( SearchNumberOfQueriesErrorRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchNumberOfQueriesErrorRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type SearchNumberOfQueriesSuccessRawMetricThresholdViewMode = "AVERAGE"; export const SearchNumberOfQueriesSuccessRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type SearchNumberOfQueriesSuccessRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const SearchNumberOfQueriesSuccessRawMetricThresholdViewOperator = S.String; export interface SearchNumberOfQueriesSuccessRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: SearchNumberOfQueriesSuccessRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | SearchNumberOfQueriesSuccessRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const SearchNumberOfQueriesSuccessRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(SearchNumberOfQueriesSuccessRawMetricThresholdViewMode), operator: S.optional( SearchNumberOfQueriesSuccessRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "SearchNumberOfQueriesSuccessRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FtsJvmMaxMemoryDataMetricThresholdViewMode = "AVERAGE"; export const FtsJvmMaxMemoryDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FtsJvmMaxMemoryDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FtsJvmMaxMemoryDataMetricThresholdViewOperator = S.String; export interface FtsJvmMaxMemoryDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FtsJvmMaxMemoryDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FtsJvmMaxMemoryDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const FtsJvmMaxMemoryDataMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(FtsJvmMaxMemoryDataMetricThresholdViewMode), operator: S.optional(FtsJvmMaxMemoryDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "FtsJvmMaxMemoryDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FtsJvmCurrentMemoryDataMetricThresholdViewMode = "AVERAGE"; export const FtsJvmCurrentMemoryDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FtsJvmCurrentMemoryDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FtsJvmCurrentMemoryDataMetricThresholdViewOperator = S.String; export interface FtsJvmCurrentMemoryDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FtsJvmCurrentMemoryDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FtsJvmCurrentMemoryDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const FtsJvmCurrentMemoryDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FtsJvmCurrentMemoryDataMetricThresholdViewMode), operator: S.optional(FtsJvmCurrentMemoryDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "FtsJvmCurrentMemoryDataMetricThresholdView", }) as any as S.Schema; /** Threshold for the metric that, when exceeded, triggers an alert. The metric threshold pertains to event types which reflects changes of measurements and metrics about mongod host. */ export type HostMetricThreshold = | AssertRegularRawMetricThresholdView | AssertWarningRawMetricThresholdView | AssertMsgRawMetricThresholdView | AssertUserRawMetricThresholdView | OpCounterCmdRawMetricThresholdView | OpCounterQueryRawMetricThresholdView | OpCounterUpdateRawMetricThresholdView | OpCounterDeleteRawMetricThresholdView | OpCounterTtlDeletedRawMetricThresholdView | OpCounterInsertRawMetricThresholdView | OpCounterGetMoreRawMetricThresholdView | OpCounterReplCmdRawMetricThresholdView | OpCounterReplUpdateRawMetricThresholdView | OpCounterReplDeleteRawMetricThresholdView | OpCounterReplInsertRawMetricThresholdView | FtsMemoryResidentDataMetricThresholdView | FtsMemoryVirtualDataMetricThresholdView | FtsMemoryMappedDataMetricThresholdView | FtsProcessCpuUserRawMetricThresholdView | FtsProcessCpuKernelRawMetricThresholdView | NormalizedFtsProcessCpuUserRawMetricThresholdView | NormalizedFtsProcessCpuKernelRawMetricThresholdView | SystemMemoryPercentUsedRawMetricThresholdView | MemoryResidentDataMetricThresholdView | MemoryVirtualDataMetricThresholdView | MemoryMappedDataMetricThresholdView | ComputedMemoryDataMetricThresholdView | IndexCountersBtreeAccessesRawMetricThresholdView | IndexCountersBtreeHitsRawMetricThresholdView | IndexCountersBtreeMissesRawMetricThresholdView | IndexCountersBtreeMissRatioRawMetricThresholdView | GlobalLockPercentageRawMetricThresholdView | TimeMetricThresholdView | ConnectionsRawMetricThresholdView | ConnectionsEstablishmentRateLimitRejectedRawMetricThresholdView | ConnectionsMaxRawMetricThresholdView | ConnectionsPercentRawMetricThresholdView | GlobalAccessesNotInMemoryRawMetricThresholdView | GlobalPageFaultExceptionsThrownRawMetricThresholdView | GlobalLockCurrentQueueTotalRawMetricThresholdView | GlobalLockCurrentQueueReadersRawMetricThresholdView | GlobalLockCurrentQueueWritersRawMetricThresholdView | CursorsTotalOpenRawMetricThresholdView | CursorsTotalTimedOutRawMetricThresholdView | CursorsTotalClientCursorsSizeRawMetricThresholdView | NetworkBytesInDataMetricThresholdView | NetworkBytesOutDataMetricThresholdView | NetworkNumRequestsRawMetricThresholdView | OplogMasterTimeTimeMetricThresholdView | OplogMasterTimeEstimatedTtlTimeMetricThresholdView | OplogSlaveLagMasterTimeTimeMetricThresholdView | OplogMasterLagTimeDiffTimeMetricThresholdView | OplogRateGbPerHourDataMetricThresholdView | ExtraInfoPageFaultsRawMetricThresholdView | DbStorageTotalDataMetricThresholdView | DbDataSizeTotalDataMetricThresholdView | DbDataSizeTotalWoSystemDataMetricThresholdView | DbIndexSizeTotalDataMetricThresholdView | JournalingCommitsInWriteLockRawMetricThresholdView | JournalingMbDataMetricThresholdView | JournalingWriteDataFilesMbDataMetricThresholdView | TicketsAvailableReadsRawMetricThresholdView | TicketsAvailableWritesRawMetricThresholdView | CacheUsageDirtyDataMetricThresholdView | CacheUsageUsedDataMetricThresholdView | CacheBytesReadIntoDataMetricThresholdView | CacheBytesWrittenFromDataMetricThresholdView | NormalizedSystemCpuUserRawMetricThresholdView | NormalizedSystemCpuStealRawMetricThresholdView | DiskPartitionSpaceUsedDataRawMetricThresholdView | DiskPartitionSpaceUsedIndexRawMetricThresholdView | DiskPartitionSpaceUsedJournalRawMetricThresholdView | DiskPartitionReadIopsDataRawMetricThresholdView | DiskPartitionReadIopsIndexRawMetricThresholdView | DiskPartitionReadIopsJournalRawMetricThresholdView | DiskPartitionWriteIopsDataRawMetricThresholdView | DiskPartitionWriteIopsIndexRawMetricThresholdView | DiskPartitionWriteIopsJournalRawMetricThresholdView | DiskPartitionReadLatencyDataTimeMetricThresholdView | DiskPartitionReadLatencyIndexTimeMetricThresholdView | DiskPartitionReadLatencyJournalTimeMetricThresholdView | DiskPartitionWriteLatencyDataTimeMetricThresholdView | DiskPartitionWriteLatencyIndexTimeMetricThresholdView | DiskPartitionWriteLatencyJournalTimeMetricThresholdView | DiskPartitionQueueDepthDataRawMetricThresholdView | DiskPartitionQueueDepthIndexRawMetricThresholdView | DiskPartitionQueueDepthJournalRawMetricThresholdView | FtsDiskUtilizationDataMetricThresholdView | MuninCpuUserRawMetricThresholdView | MuninCpuNiceRawMetricThresholdView | MuninCpuSystemRawMetricThresholdView | MuninCpuIowaitRawMetricThresholdView | MuninCpuIrqRawMetricThresholdView | MuninCpuSoftirqRawMetricThresholdView | MuninCpuStealRawMetricThresholdView | DocumentReturnedRawMetricThresholdView | DocumentInsertedRawMetricThresholdView | DocumentUpdatedRawMetricThresholdView | DocumentDeletedRawMetricThresholdView | OperationsScanAndOrderRawMetricThresholdView | QueryExecutorScannedRawMetricThresholdView | QueryExecutorScannedObjectsRawMetricThresholdView | OperationThrottlingRejectedOperationsRawMetricThresholdView | QuerySpillToDiskDuringSortRawMetricThresholdView | OperationsQueriesKilledRawMetricThresholdView | QueryTargetingScannedPerReturnedRawMetricThresholdView | QueryTargetingScannedObjectsPerReturnedRawMetricThresholdView | AvgReadExecutionTimeTimeMetricThresholdView | AvgWriteExecutionTimeTimeMetricThresholdView | AvgCommandExecutionTimeTimeMetricThresholdView | LogicalSizeDataMetricThresholdView | RestartsInLastHourRawMetricThresholdView | SystemMemoryUsedDataMetricThresholdView | SystemMemoryAvailableDataMetricThresholdView | SwapUsageUsedDataMetricThresholdView | SwapUsageFreeDataMetricThresholdView | SystemNetworkInDataMetricThresholdView | SystemNetworkOutDataMetricThresholdView | MaxNormalizedSystemCpuUserRawMetricThresholdView | MaxNormalizedSystemCpuStealRawMetricThresholdView | MaxDiskPartitionSpaceUsedDataRawMetricThresholdView | MaxDiskPartitionSpaceUsedIndexRawMetricThresholdView | MaxDiskPartitionSpaceUsedJournalRawMetricThresholdView | MaxDiskPartitionReadIopsDataRawMetricThresholdView | MaxDiskPartitionReadIopsIndexRawMetricThresholdView | MaxDiskPartitionReadIopsJournalRawMetricThresholdView | MaxDiskPartitionWriteIopsDataRawMetricThresholdView | MaxDiskPartitionWriteIopsIndexRawMetricThresholdView | MaxDiskPartitionWriteIopsJournalRawMetricThresholdView | MaxDiskPartitionReadLatencyDataTimeMetricThresholdView | MaxDiskPartitionReadLatencyIndexTimeMetricThresholdView | MaxDiskPartitionReadLatencyJournalTimeMetricThresholdView | MaxDiskPartitionWriteLatencyDataTimeMetricThresholdView | MaxDiskPartitionWriteLatencyIndexTimeMetricThresholdView | MaxDiskPartitionWriteLatencyJournalTimeMetricThresholdView | MaxDiskPartitionQueueDepthDataRawMetricThresholdView | MaxDiskPartitionQueueDepthIndexRawMetricThresholdView | MaxDiskPartitionQueueDepthJournalRawMetricThresholdView | MaxSystemMemoryPercentUsedRawMetricThresholdView | MaxSystemMemoryUsedDataMetricThresholdView | MaxSystemMemoryAvailableDataMetricThresholdView | MaxSwapUsageUsedDataMetricThresholdView | MaxSwapUsageFreeDataMetricThresholdView | MaxSystemNetworkInDataMetricThresholdView | MaxSystemNetworkOutDataMetricThresholdView | SearchIndexSizeDataMetricThresholdView | SearchMaxFieldsIndexedRawMetricThresholdView | SearchProcessThrottlingRawMetricThresholdView | SearchNumberOfFieldsInIndexRawMetricThresholdView | SearchMaxNgramFieldsIndexedRawMetricThresholdView | SearchReplicationLagTimeMetricThresholdView | NumberMetricThresholdView | SearchOpCounterInsertRawMetricThresholdView | SearchOpCounterDeleteRawMetricThresholdView | SearchOpCounterUpdateRawMetricThresholdView | SearchOpCounterGetMoreRawMetricThresholdView | SearchNumberOfQueriesTotalRawMetricThresholdView | SearchNumberOfQueriesErrorRawMetricThresholdView | SearchNumberOfQueriesSuccessRawMetricThresholdView | FtsJvmMaxMemoryDataMetricThresholdView | FtsJvmCurrentMemoryDataMetricThresholdView; export const HostMetricThreshold = S.Unknown as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type HostMetricAlertConfigViewForNdsGroupInputNotificationsList = Array; export const HostMetricAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Host metric alert configuration allows to select which mongod host metrics trigger alerts and how users are notified. */ export interface HostMetricAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: HostMetricEventTypeViewAlertable; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: HostMetricAlertConfigViewForNdsGroupInputMatchersList; metricThreshold?: HostMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: HostMetricAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const HostMetricAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: HostMetricEventTypeViewAlertable, matchers: S.optional( HostMetricAlertConfigViewForNdsGroupInputMatchersList, ), metricThreshold: S.optional(HostMetricThreshold), notifications: HostMetricAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "HostMetricAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type MongotuneEventTypeViewAlertable = "MONGOTUNE_ALERT"; export const MongotuneEventTypeViewAlertable = S.String; /** Matching conditions for target resources. */ export type MongotuneAlertConfigViewForNdsGroupInputMatchersList = Array; export const MongotuneAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type MongotuneAlertConfigViewForNdsGroupInputNotificationsList = Array; export const MongotuneAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Intelligent Workload Management alert configuration allows to select which Intelligent Workload Management events trigger alerts and how users are notified. */ export interface MongotuneAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: MongotuneEventTypeViewAlertable; /** Matching conditions for target resources. */ matchers?: MongotuneAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: MongotuneAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const MongotuneAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend( () => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: MongotuneEventTypeViewAlertable, matchers: S.optional( MongotuneAlertConfigViewForNdsGroupInputMatchersList, ), notifications: MongotuneAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "MongotuneAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type NDSAutoScalingAuditTypeViewAlertable = | "COMPUTE_AUTO_SCALE_INITIATED_BASE" | "COMPUTE_AUTO_SCALE_INITIATED_ANALYTICS" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_BASE" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_BASE" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_ANALYTICS" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_ANALYTICS" | "DISK_AUTO_SCALE_INITIATED" | "DISK_AUTO_SCALE_MAX_DISK_SIZE_FAIL" | "DISK_AUTO_SCALE_OPLOG_FAIL" | "PREDICTIVE_COMPUTE_AUTO_SCALE_INITIATED_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "CLUSTER_AUTO_SHARDING_INITIATED" | "CLUSTER_RESHARDING_COMPLETED"; export const NDSAutoScalingAuditTypeViewAlertable = S.String; /** Name of the parameter in the target object that MongoDB Cloud checks. The parameter must match all rules for MongoDB Cloud to check for alert configurations. */ export type NDSAutoscalingMatcherField = "CLUSTER_NAME"; export const NDSAutoscalingMatcherField = S.String; /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ export type NDSAutoscalingMatcherOperator = | "EQUALS" | "CONTAINS" | "STARTS_WITH" | "ENDS_WITH" | "NOT_EQUALS" | "NOT_CONTAINS" | "REGEX"; export const NDSAutoscalingMatcherOperator = S.String; /** Rules to apply when comparing a cluster against this alert configuration. */ export interface NDSAutoscalingMatcher { fieldName: NDSAutoscalingMatcherField | (string & {}); /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ operator: NDSAutoscalingMatcherOperator | (string & {}); /** Value to match or exceed using the specified `matchers.operator`. */ value: string; } export const NDSAutoscalingMatcher = /*@__PURE__*/ S.suspend(() => S.Struct({ fieldName: NDSAutoscalingMatcherField, operator: NDSAutoscalingMatcherOperator, value: S.String, }), ).annotate({ identifier: "NDSAutoscalingMatcher", }) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ export type NDSAutoscalingAlertConfigViewForNdsGroupInputMatchersList = Array; export const NDSAutoscalingAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( NDSAutoscalingMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type NDSAutoscalingAlertConfigViewForNdsGroupInputNotificationsList = Array; export const NDSAutoscalingAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** NDS Auto-Scaling alert configuration allows selecting which auto-scaling events trigger alerts and how users are notified. */ export interface NDSAutoscalingAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: NDSAutoScalingAuditTypeViewAlertable | (string & {}); /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ matchers?: NDSAutoscalingAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: NDSAutoscalingAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const NDSAutoscalingAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: NDSAutoScalingAuditTypeViewAlertable, matchers: S.optional( NDSAutoscalingAlertConfigViewForNdsGroupInputMatchersList, ), notifications: NDSAutoscalingAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "NDSAutoscalingAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type NDSX509UserAuthenticationEventTypeViewAlertable = | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CA_EXPIRATION_CHECK" | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CRL_EXPIRATION_CHECK" | "NDS_X509_USER_AUTHENTICATION_MANAGED_USER_CERTS_EXPIRATION_CHECK"; export const NDSX509UserAuthenticationEventTypeViewAlertable = S.String; /** Matching conditions for target resources. */ export type NDSX509UserAuthenticationAlertConfigViewForNdsGroupInputMatchersList = Array; export const NDSX509UserAuthenticationAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type NDSX509UserAuthenticationAlertConfigViewForNdsGroupInputNotificationsList = Array; export const NDSX509UserAuthenticationAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Comparison operator to apply when checking the current metric value. */ export type LessThanDaysThresholdViewOperator = "LESS_THAN"; export const LessThanDaysThresholdViewOperator = S.String; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ export type LessThanDaysThresholdViewUnits = "DAYS"; export const LessThanDaysThresholdViewUnits = S.String; /** Threshold value that triggers an alert. */ export interface LessThanDaysThresholdView { /** Comparison operator to apply when checking the current metric value. */ operator?: LessThanDaysThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ units?: LessThanDaysThresholdViewUnits | (string & {}); } export const LessThanDaysThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ operator: S.optional(LessThanDaysThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(LessThanDaysThresholdViewUnits), }), ).annotate({ identifier: "LessThanDaysThresholdView", }) as any as S.Schema; /** X509 User Authentication alert configuration allows to select thresholds for expiration of client, CA certificates and CRL which trigger alerts and how users are notified. */ export interface NDSX509UserAuthenticationAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: | NDSX509UserAuthenticationEventTypeViewAlertable | (string & {}); /** Matching conditions for target resources. */ matchers?: NDSX509UserAuthenticationAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: NDSX509UserAuthenticationAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); threshold?: LessThanDaysThresholdView; } export const NDSX509UserAuthenticationAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: NDSX509UserAuthenticationEventTypeViewAlertable, matchers: S.optional( NDSX509UserAuthenticationAlertConfigViewForNdsGroupInputMatchersList, ), notifications: NDSX509UserAuthenticationAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(LessThanDaysThresholdView), }), ).annotate({ identifier: "NDSX509UserAuthenticationAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type ReplicaSetEventTypeViewForNdsGroupAlertableNoThreshold = | "NO_PRIMARY" | "PRIMARY_ELECTED"; export const ReplicaSetEventTypeViewForNdsGroupAlertableNoThreshold = S.String; /** Name of the parameter in the target object that MongoDB Cloud checks. The parameter must match all rules for MongoDB Cloud to check for alert configurations. */ export type ReplicaSetMatcherField = | "REPLICA_SET_NAME" | "SHARD_NAME" | "CLUSTER_NAME"; export const ReplicaSetMatcherField = S.String; /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ export type ReplicaSetMatcherOperator = | "EQUALS" | "CONTAINS" | "STARTS_WITH" | "ENDS_WITH" | "NOT_EQUALS" | "NOT_CONTAINS" | "REGEX"; export const ReplicaSetMatcherOperator = S.String; /** Rules to apply when comparing an replica set against this alert configuration. */ export interface ReplicaSetMatcher { fieldName: ReplicaSetMatcherField | (string & {}); /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ operator: ReplicaSetMatcherOperator | (string & {}); /** Value to match or exceed using the specified `matchers.operator`. */ value: string; } export const ReplicaSetMatcher = /*@__PURE__*/ S.suspend(() => S.Struct({ fieldName: ReplicaSetMatcherField, operator: ReplicaSetMatcherOperator, value: S.String, }), ).annotate({ identifier: "ReplicaSetMatcher", }) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type ReplicaSetAlertConfigViewForNdsGroupInputMatchersList = Array; export const ReplicaSetAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( ReplicaSetMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type ReplicaSetAlertConfigViewForNdsGroupInputNotificationsList = Array; export const ReplicaSetAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Comparison operator to apply when checking the current metric value. */ export type Operator = "<" | ">"; export const Operator = S.String; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ export type AlertsThresholdIntegerUnits = | "bits" | "Kbits" | "Mbits" | "Gbits" | "bytes" | "KB" | "MB" | "GB" | "TB" | "PB" | "nsec" | "msec" | "sec" | "min" | "hours" | "million minutes" | "days" | "requests" | "1000 requests" | "tokens" | "million tokens" | "pixels" | "billion pixels" | "GB seconds" | "GB hours" | "GB days" | "RPU" | "thousand RPU" | "million RPU" | "WPU" | "thousand WPU" | "million WPU" | "count" | "thousand" | "million" | "billion"; export const AlertsThresholdIntegerUnits = S.String; /** A Limit that triggers an alert when exceeded. The resource returns this parameter when `eventTypeName` has not been set to `OUTSIDE_METRIC_THRESHOLD`. */ export interface AlertsThresholdInteger { operator?: Operator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ units?: AlertsThresholdIntegerUnits | (string & {}); } export const AlertsThresholdInteger = /*@__PURE__*/ S.suspend(() => S.Struct({ operator: S.optional(Operator), threshold: S.optional(S.Number), units: S.optional(AlertsThresholdIntegerUnits), }), ).annotate({ identifier: "AlertsThresholdInteger", }) as any as S.Schema; /** Replica Set alert configuration allows to select which conditions of mongod replica set trigger alerts and how users are notified. */ export interface ReplicaSetAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: | ReplicaSetEventTypeViewForNdsGroupAlertableNoThreshold | (string & {}); /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: ReplicaSetAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: ReplicaSetAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); threshold?: AlertsThresholdInteger; } export const ReplicaSetAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: ReplicaSetEventTypeViewForNdsGroupAlertableNoThreshold, matchers: S.optional( ReplicaSetAlertConfigViewForNdsGroupInputMatchersList, ), notifications: ReplicaSetAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(AlertsThresholdInteger), }), ).annotate({ identifier: "ReplicaSetAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type ReplicaSetEventTypeViewForNdsGroupAlertableWithThreshold = | "TOO_MANY_ELECTIONS" | "REPLICATION_OPLOG_WINDOW_RUNNING_OUT" | "TOO_FEW_HEALTHY_MEMBERS" | "TOO_MANY_UNHEALTHY_MEMBERS"; export const ReplicaSetEventTypeViewForNdsGroupAlertableWithThreshold = S.String; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type ReplicaSetThresholdAlertConfigViewForNdsGroupInputMatchersList = Array; export const ReplicaSetThresholdAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( ReplicaSetMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type ReplicaSetThresholdAlertConfigViewForNdsGroupInputNotificationsList = Array; export const ReplicaSetThresholdAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Replica Set threshold alert configuration allows to select thresholds for conditions of mongod replica set which trigger alerts and how users are notified. */ export interface ReplicaSetThresholdAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: | ReplicaSetEventTypeViewForNdsGroupAlertableWithThreshold | (string & {}); /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: ReplicaSetThresholdAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: ReplicaSetThresholdAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); threshold?: AlertsThresholdInteger; } export const ReplicaSetThresholdAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: ReplicaSetEventTypeViewForNdsGroupAlertableWithThreshold, matchers: S.optional( ReplicaSetThresholdAlertConfigViewForNdsGroupInputMatchersList, ), notifications: ReplicaSetThresholdAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(AlertsThresholdInteger), }), ).annotate({ identifier: "ReplicaSetThresholdAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type ServerlessEventTypeViewAlertable = "OUTSIDE_SERVERLESS_METRIC_THRESHOLD"; export const ServerlessEventTypeViewAlertable = S.String; /** Matching conditions for target resources. */ export type ServerlessMetricAlertConfigViewForNdsGroupInputMatchersList = Array; export const ServerlessMetricAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessAVGCommandExecutionTimeMetricThresholdViewMode = "AVERAGE"; export const ServerlessAVGCommandExecutionTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessAVGCommandExecutionTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessAVGCommandExecutionTimeMetricThresholdViewOperator = S.String; export interface ServerlessAVGCommandExecutionTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | ServerlessAVGCommandExecutionTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessAVGCommandExecutionTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const ServerlessAVGCommandExecutionTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( ServerlessAVGCommandExecutionTimeMetricThresholdViewMode, ), operator: S.optional( ServerlessAVGCommandExecutionTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "ServerlessAVGCommandExecutionTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessAVGWriteExecutionTimeMetricThresholdViewMode = "AVERAGE"; export const ServerlessAVGWriteExecutionTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessAVGWriteExecutionTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessAVGWriteExecutionTimeMetricThresholdViewOperator = S.String; export interface ServerlessAVGWriteExecutionTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessAVGWriteExecutionTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessAVGWriteExecutionTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const ServerlessAVGWriteExecutionTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessAVGWriteExecutionTimeMetricThresholdViewMode), operator: S.optional( ServerlessAVGWriteExecutionTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "ServerlessAVGWriteExecutionTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessTotalWriteUnitsRPUMetricThresholdViewMode = "AVERAGE"; export const ServerlessTotalWriteUnitsRPUMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessTotalWriteUnitsRPUMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessTotalWriteUnitsRPUMetricThresholdViewOperator = S.String; /** Element used to express the quantity. This can be an element of time, storage capacity, and the like. */ export type ServerlessMetricUnits = | "RPU" | "THOUSAND_RPU" | "MILLION_RPU" | "WPU" | "THOUSAND_WPU" | "MILLION_WPU"; export const ServerlessMetricUnits = S.String; export interface ServerlessTotalWriteUnitsRPUMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessTotalWriteUnitsRPUMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessTotalWriteUnitsRPUMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: ServerlessMetricUnits | (string & {}); } export const ServerlessTotalWriteUnitsRPUMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessTotalWriteUnitsRPUMetricThresholdViewMode), operator: S.optional( ServerlessTotalWriteUnitsRPUMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(ServerlessMetricUnits), }), ).annotate({ identifier: "ServerlessTotalWriteUnitsRPUMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type RPUMetricThresholdViewMode = "AVERAGE"; export const RPUMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type RPUMetricThresholdViewOperator = "LESS_THAN" | "GREATER_THAN"; export const RPUMetricThresholdViewOperator = S.String; export interface RPUMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: RPUMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: RPUMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: ServerlessMetricUnits | (string & {}); } export const RPUMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(RPUMetricThresholdViewMode), operator: S.optional(RPUMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(ServerlessMetricUnits), }), ).annotate({ identifier: "RPUMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessOpCounterUpdateRawMetricThresholdViewMode = "AVERAGE"; export const ServerlessOpCounterUpdateRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessOpCounterUpdateRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessOpCounterUpdateRawMetricThresholdViewOperator = S.String; export interface ServerlessOpCounterUpdateRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessOpCounterUpdateRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessOpCounterUpdateRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ServerlessOpCounterUpdateRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessOpCounterUpdateRawMetricThresholdViewMode), operator: S.optional( ServerlessOpCounterUpdateRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ServerlessOpCounterUpdateRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessOpCounterQueryRawMetricThresholdViewMode = "AVERAGE"; export const ServerlessOpCounterQueryRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessOpCounterQueryRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessOpCounterQueryRawMetricThresholdViewOperator = S.String; export interface ServerlessOpCounterQueryRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessOpCounterQueryRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessOpCounterQueryRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ServerlessOpCounterQueryRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessOpCounterQueryRawMetricThresholdViewMode), operator: S.optional( ServerlessOpCounterQueryRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ServerlessOpCounterQueryRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessOpCounterInsertRawMetricThresholdViewMode = "AVERAGE"; export const ServerlessOpCounterInsertRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessOpCounterInsertRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessOpCounterInsertRawMetricThresholdViewOperator = S.String; export interface ServerlessOpCounterInsertRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessOpCounterInsertRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessOpCounterInsertRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ServerlessOpCounterInsertRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessOpCounterInsertRawMetricThresholdViewMode), operator: S.optional( ServerlessOpCounterInsertRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ServerlessOpCounterInsertRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessOpCounterGetMoreRawMetricThresholdViewMode = "AVERAGE"; export const ServerlessOpCounterGetMoreRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessOpCounterGetMoreRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessOpCounterGetMoreRawMetricThresholdViewOperator = S.String; export interface ServerlessOpCounterGetMoreRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessOpCounterGetMoreRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessOpCounterGetMoreRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ServerlessOpCounterGetMoreRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessOpCounterGetMoreRawMetricThresholdViewMode), operator: S.optional( ServerlessOpCounterGetMoreRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ServerlessOpCounterGetMoreRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessOpCounterDeleteRawMetricThresholdViewMode = "AVERAGE"; export const ServerlessOpCounterDeleteRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessOpCounterDeleteRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessOpCounterDeleteRawMetricThresholdViewOperator = S.String; export interface ServerlessOpCounterDeleteRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessOpCounterDeleteRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessOpCounterDeleteRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ServerlessOpCounterDeleteRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessOpCounterDeleteRawMetricThresholdViewMode), operator: S.optional( ServerlessOpCounterDeleteRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ServerlessOpCounterDeleteRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessOpCounterCDMRawMetricThresholdViewMode = "AVERAGE"; export const ServerlessOpCounterCDMRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessOpCounterCDMRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessOpCounterCDMRawMetricThresholdViewOperator = S.String; export interface ServerlessOpCounterCDMRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessOpCounterCDMRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessOpCounterCDMRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ServerlessOpCounterCDMRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessOpCounterCDMRawMetricThresholdViewMode), operator: S.optional( ServerlessOpCounterCDMRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ServerlessOpCounterCDMRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessNetworkNumRequestRawMetricThresholdViewMode = "AVERAGE"; export const ServerlessNetworkNumRequestRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessNetworkNumRequestRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessNetworkNumRequestRawMetricThresholdViewOperator = S.String; export interface ServerlessNetworkNumRequestRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessNetworkNumRequestRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessNetworkNumRequestRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ServerlessNetworkNumRequestRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessNetworkNumRequestRawMetricThresholdViewMode), operator: S.optional( ServerlessNetworkNumRequestRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ServerlessNetworkNumRequestRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessNetworkBytesOutDataMetricThresholdViewMode = "AVERAGE"; export const ServerlessNetworkBytesOutDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessNetworkBytesOutDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessNetworkBytesOutDataMetricThresholdViewOperator = S.String; export interface ServerlessNetworkBytesOutDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessNetworkBytesOutDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessNetworkBytesOutDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const ServerlessNetworkBytesOutDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessNetworkBytesOutDataMetricThresholdViewMode), operator: S.optional( ServerlessNetworkBytesOutDataMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "ServerlessNetworkBytesOutDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessNetworkBytesInDataMetricThresholdViewMode = "AVERAGE"; export const ServerlessNetworkBytesInDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessNetworkBytesInDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessNetworkBytesInDataMetricThresholdViewOperator = S.String; export interface ServerlessNetworkBytesInDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: ServerlessNetworkBytesInDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessNetworkBytesInDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const ServerlessNetworkBytesInDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(ServerlessNetworkBytesInDataMetricThresholdViewMode), operator: S.optional( ServerlessNetworkBytesInDataMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "ServerlessNetworkBytesInDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type ServerlessConnectionPercentageRawMetricThresholdViewMode = "AVERAGE"; export const ServerlessConnectionPercentageRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type ServerlessConnectionPercentageRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const ServerlessConnectionPercentageRawMetricThresholdViewOperator = S.String; export interface ServerlessConnectionPercentageRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: | ServerlessConnectionPercentageRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | ServerlessConnectionPercentageRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const ServerlessConnectionPercentageRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional( ServerlessConnectionPercentageRawMetricThresholdViewMode, ), operator: S.optional( ServerlessConnectionPercentageRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "ServerlessConnectionPercentageRawMetricThresholdView", }) as any as S.Schema; /** Threshold for the metric that, when exceeded, triggers an alert. The metric threshold pertains to event types which reflects changes of measurements and metrics about the serverless database. */ export type ServerlessMetricThreshold = | ServerlessAVGCommandExecutionTimeMetricThresholdView | ServerlessAVGWriteExecutionTimeMetricThresholdView | TimeMetricThresholdView | ServerlessTotalWriteUnitsRPUMetricThresholdView | RPUMetricThresholdView | ServerlessOpCounterUpdateRawMetricThresholdView | ServerlessOpCounterQueryRawMetricThresholdView | ServerlessOpCounterInsertRawMetricThresholdView | ServerlessOpCounterGetMoreRawMetricThresholdView | ServerlessOpCounterDeleteRawMetricThresholdView | ServerlessOpCounterCDMRawMetricThresholdView | ServerlessNetworkNumRequestRawMetricThresholdView | ServerlessNetworkBytesOutDataMetricThresholdView | ServerlessNetworkBytesInDataMetricThresholdView | DataMetricThresholdView | ServerlessConnectionPercentageRawMetricThresholdView | RawMetricThresholdView; export const ServerlessMetricThreshold = S.Unknown as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type ServerlessMetricAlertConfigViewForNdsGroupInputNotificationsList = Array; export const ServerlessMetricAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Serverless metric alert configuration allows to select which serverless database metrics trigger alerts and how users are notified. */ export interface ServerlessMetricAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: ServerlessEventTypeViewAlertable; /** Matching conditions for target resources. */ matchers?: ServerlessMetricAlertConfigViewForNdsGroupInputMatchersList; metricThreshold?: ServerlessMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: ServerlessMetricAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const ServerlessMetricAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: ServerlessEventTypeViewAlertable, matchers: S.optional( ServerlessMetricAlertConfigViewForNdsGroupInputMatchersList, ), metricThreshold: S.optional(ServerlessMetricThreshold), notifications: ServerlessMetricAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "ServerlessMetricAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Matching conditions for target resources. */ export type FlexMetricAlertConfigViewForNdsGroupInputMatchersList = Array; export const FlexMetricAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexConnectionPercentRawMetricThresholdViewMode = "AVERAGE"; export const FlexConnectionPercentRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexConnectionPercentRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexConnectionPercentRawMetricThresholdViewOperator = S.String; export interface FlexConnectionPercentRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexConnectionPercentRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | FlexConnectionPercentRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FlexConnectionPercentRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexConnectionPercentRawMetricThresholdViewMode), operator: S.optional(FlexConnectionPercentRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FlexConnectionPercentRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexNetworkBytesInDataMetricThresholdViewMode = "AVERAGE"; export const FlexNetworkBytesInDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexNetworkBytesInDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexNetworkBytesInDataMetricThresholdViewOperator = S.String; export interface FlexNetworkBytesInDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexNetworkBytesInDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FlexNetworkBytesInDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const FlexNetworkBytesInDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexNetworkBytesInDataMetricThresholdViewMode), operator: S.optional(FlexNetworkBytesInDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "FlexNetworkBytesInDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexNetworkBytesOutDataMetricThresholdViewMode = "AVERAGE"; export const FlexNetworkBytesOutDataMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexNetworkBytesOutDataMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexNetworkBytesOutDataMetricThresholdViewOperator = S.String; export interface FlexNetworkBytesOutDataMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexNetworkBytesOutDataMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FlexNetworkBytesOutDataMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: DataMetricUnits | (string & {}); } export const FlexNetworkBytesOutDataMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexNetworkBytesOutDataMetricThresholdViewMode), operator: S.optional(FlexNetworkBytesOutDataMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(DataMetricUnits), }), ).annotate({ identifier: "FlexNetworkBytesOutDataMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexNetworkNumRequestsRawMetricThresholdViewMode = "AVERAGE"; export const FlexNetworkNumRequestsRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexNetworkNumRequestsRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexNetworkNumRequestsRawMetricThresholdViewOperator = S.String; export interface FlexNetworkNumRequestsRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexNetworkNumRequestsRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | FlexNetworkNumRequestsRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FlexNetworkNumRequestsRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexNetworkNumRequestsRawMetricThresholdViewMode), operator: S.optional( FlexNetworkNumRequestsRawMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FlexNetworkNumRequestsRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexOpCounterCMDRawMetricThresholdViewMode = "AVERAGE"; export const FlexOpCounterCMDRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexOpCounterCMDRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexOpCounterCMDRawMetricThresholdViewOperator = S.String; export interface FlexOpCounterCMDRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexOpCounterCMDRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FlexOpCounterCMDRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FlexOpCounterCMDRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(FlexOpCounterCMDRawMetricThresholdViewMode), operator: S.optional(FlexOpCounterCMDRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FlexOpCounterCMDRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexOpCounterDeleteRawMetricThresholdViewMode = "AVERAGE"; export const FlexOpCounterDeleteRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexOpCounterDeleteRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexOpCounterDeleteRawMetricThresholdViewOperator = S.String; export interface FlexOpCounterDeleteRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexOpCounterDeleteRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FlexOpCounterDeleteRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FlexOpCounterDeleteRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexOpCounterDeleteRawMetricThresholdViewMode), operator: S.optional(FlexOpCounterDeleteRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FlexOpCounterDeleteRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexOpCounterInsertRawMetricThresholdViewMode = "AVERAGE"; export const FlexOpCounterInsertRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexOpCounterInsertRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexOpCounterInsertRawMetricThresholdViewOperator = S.String; export interface FlexOpCounterInsertRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexOpCounterInsertRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FlexOpCounterInsertRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FlexOpCounterInsertRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexOpCounterInsertRawMetricThresholdViewMode), operator: S.optional(FlexOpCounterInsertRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FlexOpCounterInsertRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexOpCounterQueryRawMetricThresholdViewMode = "AVERAGE"; export const FlexOpCounterQueryRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexOpCounterQueryRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexOpCounterQueryRawMetricThresholdViewOperator = S.String; export interface FlexOpCounterQueryRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexOpCounterQueryRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FlexOpCounterQueryRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FlexOpCounterQueryRawMetricThresholdView = /*@__PURE__*/ S.suspend( () => S.Struct({ metricName: S.String, mode: S.optional(FlexOpCounterQueryRawMetricThresholdViewMode), operator: S.optional(FlexOpCounterQueryRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FlexOpCounterQueryRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexOpCounterUpdateRawMetricThresholdViewMode = "AVERAGE"; export const FlexOpCounterUpdateRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexOpCounterUpdateRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexOpCounterUpdateRawMetricThresholdViewOperator = S.String; export interface FlexOpCounterUpdateRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexOpCounterUpdateRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FlexOpCounterUpdateRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FlexOpCounterUpdateRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexOpCounterUpdateRawMetricThresholdViewMode), operator: S.optional(FlexOpCounterUpdateRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FlexOpCounterUpdateRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexOpCounterGetMoreRawMetricThresholdViewMode = "AVERAGE"; export const FlexOpCounterGetMoreRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexOpCounterGetMoreRawMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexOpCounterGetMoreRawMetricThresholdViewOperator = S.String; export interface FlexOpCounterGetMoreRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexOpCounterGetMoreRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: FlexOpCounterGetMoreRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const FlexOpCounterGetMoreRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexOpCounterGetMoreRawMetricThresholdViewMode), operator: S.optional(FlexOpCounterGetMoreRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "FlexOpCounterGetMoreRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexAVGWriteExecutionTimeMetricThresholdViewMode = "AVERAGE"; export const FlexAVGWriteExecutionTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexAVGWriteExecutionTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexAVGWriteExecutionTimeMetricThresholdViewOperator = S.String; export interface FlexAVGWriteExecutionTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexAVGWriteExecutionTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | FlexAVGWriteExecutionTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const FlexAVGWriteExecutionTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexAVGWriteExecutionTimeMetricThresholdViewMode), operator: S.optional( FlexAVGWriteExecutionTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "FlexAVGWriteExecutionTimeMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type FlexAVGCommandExecutionTimeMetricThresholdViewMode = "AVERAGE"; export const FlexAVGCommandExecutionTimeMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type FlexAVGCommandExecutionTimeMetricThresholdViewOperator = | "LESS_THAN" | "GREATER_THAN"; export const FlexAVGCommandExecutionTimeMetricThresholdViewOperator = S.String; export interface FlexAVGCommandExecutionTimeMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: FlexAVGCommandExecutionTimeMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: | FlexAVGCommandExecutionTimeMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: TimeMetricUnits | (string & {}); } export const FlexAVGCommandExecutionTimeMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(FlexAVGCommandExecutionTimeMetricThresholdViewMode), operator: S.optional( FlexAVGCommandExecutionTimeMetricThresholdViewOperator, ), threshold: S.optional(S.Number), units: S.optional(TimeMetricUnits), }), ).annotate({ identifier: "FlexAVGCommandExecutionTimeMetricThresholdView", }) as any as S.Schema; /** Threshold for the metric that, when exceeded, triggers an alert. The metric threshold pertains to event types which reflects changes of measurements and metrics about the serverless database. */ export type FlexClusterMetricThreshold = | RawMetricThresholdView | FlexConnectionPercentRawMetricThresholdView | DataMetricThresholdView | FlexNetworkBytesInDataMetricThresholdView | FlexNetworkBytesOutDataMetricThresholdView | FlexNetworkNumRequestsRawMetricThresholdView | FlexOpCounterCMDRawMetricThresholdView | FlexOpCounterDeleteRawMetricThresholdView | FlexOpCounterInsertRawMetricThresholdView | FlexOpCounterQueryRawMetricThresholdView | FlexOpCounterUpdateRawMetricThresholdView | FlexOpCounterGetMoreRawMetricThresholdView | TimeMetricThresholdView | FlexAVGWriteExecutionTimeMetricThresholdView | FlexAVGCommandExecutionTimeMetricThresholdView; export const FlexClusterMetricThreshold = S.Unknown as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type FlexMetricAlertConfigViewForNdsGroupInputNotificationsList = Array; export const FlexMetricAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Flex metric alert configuration allows to select which Flex database metrics trigger alerts and how users are notified. */ export interface FlexMetricAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: FlexMetricEventTypeViewAlertable; /** Matching conditions for target resources. */ matchers?: FlexMetricAlertConfigViewForNdsGroupInputMatchersList; metricThreshold?: FlexClusterMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: FlexMetricAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const FlexMetricAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: FlexMetricEventTypeViewAlertable, matchers: S.optional( FlexMetricAlertConfigViewForNdsGroupInputMatchersList, ), metricThreshold: S.optional(FlexClusterMetricThreshold), notifications: FlexMetricAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "FlexMetricAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type StreamProcessorEventTypeViewAlertableNoThreshold = | "STREAM_PROCESSOR_STATE_IS_FAILED" | "STREAM_PROCESSOR_AUTOSCALE_INITIATED"; export const StreamProcessorEventTypeViewAlertableNoThreshold = S.String; /** Name of the parameter in the target object that MongoDB Cloud checks. The parameter must match all rules for MongoDB Cloud to check for alert configurations. */ export type StreamsMatcherField = "INSTANCE_NAME" | "PROCESSOR_NAME"; export const StreamsMatcherField = S.String; /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ export type StreamsMatcherOperator = | "EQUALS" | "CONTAINS" | "STARTS_WITH" | "ENDS_WITH" | "NOT_EQUALS" | "NOT_CONTAINS" | "REGEX"; export const StreamsMatcherOperator = S.String; /** Rules to apply when comparing a stream processing workspace or stream processor against this alert configuration. */ export interface StreamsMatcher { fieldName: StreamsMatcherField | (string & {}); /** Comparison operator to apply when checking the current metric value against **matcher[n].value**. The `REGEX` operator only supports inclusive matches. Use the `NOT_CONTAINS` operator to exclude values. */ operator: StreamsMatcherOperator | (string & {}); /** Value to match or exceed using the specified `matchers.operator`. */ value: string; } export const StreamsMatcher = /*@__PURE__*/ S.suspend(() => S.Struct({ fieldName: StreamsMatcherField, operator: StreamsMatcherOperator, value: S.String, }), ).annotate({ identifier: "StreamsMatcher" }) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ export type StreamProcessorAlertConfigViewForNdsGroupInputMatchersList = Array; export const StreamProcessorAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( StreamsMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type StreamProcessorAlertConfigViewForNdsGroupInputNotificationsList = Array; export const StreamProcessorAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Host metric alert configuration allows to select which Atlas streams processors trigger alerts and how users are notified. */ export interface StreamProcessorAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: | StreamProcessorEventTypeViewAlertableNoThreshold | (string & {}); /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ matchers?: StreamProcessorAlertConfigViewForNdsGroupInputMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: StreamProcessorAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); } export const StreamProcessorAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: StreamProcessorEventTypeViewAlertableNoThreshold, matchers: S.optional( StreamProcessorAlertConfigViewForNdsGroupInputMatchersList, ), notifications: StreamProcessorAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), }), ).annotate({ identifier: "StreamProcessorAlertConfigViewForNdsGroupInput", }) as any as S.Schema; /** Event type that triggers an alert. */ export type StreamProcessorEventTypeViewAlertableWithThreshold = "OUTSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD"; export const StreamProcessorEventTypeViewAlertableWithThreshold = S.String; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ export type StreamProcessorMetricAlertConfigViewForNdsGroupInputMatchersList = Array; export const StreamProcessorMetricAlertConfigViewForNdsGroupInputMatchersList = /*@__PURE__*/ S.Array( StreamsMatcher, ) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type KafkaRawMetricThresholdViewMode = "AVERAGE"; export const KafkaRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type KafkaRawMetricThresholdViewOperator = "LESS_THAN" | "GREATER_THAN"; export const KafkaRawMetricThresholdViewOperator = S.String; export interface KafkaRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: KafkaRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: KafkaRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const KafkaRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(KafkaRawMetricThresholdViewMode), operator: S.optional(KafkaRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "KafkaRawMetricThresholdView", }) as any as S.Schema; /** MongoDB Cloud computes the current metric value as an average. */ export type DLQRawMetricThresholdViewMode = "AVERAGE"; export const DLQRawMetricThresholdViewMode = S.String; /** Comparison operator to apply when checking the current metric value. */ export type DLQRawMetricThresholdViewOperator = "LESS_THAN" | "GREATER_THAN"; export const DLQRawMetricThresholdViewOperator = S.String; export interface DLQRawMetricThresholdView { /** Human-readable label that identifies the metric against which MongoDB Cloud checks the configured `metricThreshold.threshold`. */ metricName: string; /** MongoDB Cloud computes the current metric value as an average. */ mode?: DLQRawMetricThresholdViewMode | (string & {}); /** Comparison operator to apply when checking the current metric value. */ operator?: DLQRawMetricThresholdViewOperator | (string & {}); /** Value of metric that, when exceeded, triggers an alert. */ threshold?: number; units?: RawMetricUnits | (string & {}); } export const DLQRawMetricThresholdView = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.String, mode: S.optional(DLQRawMetricThresholdViewMode), operator: S.optional(DLQRawMetricThresholdViewOperator), threshold: S.optional(S.Number), units: S.optional(RawMetricUnits), }), ).annotate({ identifier: "DLQRawMetricThresholdView", }) as any as S.Schema; /** Threshold for the metric that, when exceeded, triggers an alert. The metric threshold pertains to event types which reflects changes of measurements and metrics in stream processors. */ export type StreamProcessorMetricThreshold = | KafkaRawMetricThresholdView | TimeMetricThresholdView | DLQRawMetricThresholdView | RawMetricThresholdView; export const StreamProcessorMetricThreshold = S.Unknown as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type StreamProcessorMetricAlertConfigViewForNdsGroupInputNotificationsList = Array; export const StreamProcessorMetricAlertConfigViewForNdsGroupInputNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Stream Processor threshold alert configuration allows to select thresholds on metrics which trigger alerts and how users are notified. */ export interface StreamProcessorMetricAlertConfigViewForNdsGroupInput { /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: StreamProcessorEventTypeViewAlertableWithThreshold; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ matchers?: StreamProcessorMetricAlertConfigViewForNdsGroupInputMatchersList; metricThreshold?: StreamProcessorMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: StreamProcessorMetricAlertConfigViewForNdsGroupInputNotificationsList; severityOverride?: EventSeverity | (string & {}); threshold?: StreamProcessorMetricThreshold; } export const StreamProcessorMetricAlertConfigViewForNdsGroupInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), eventTypeName: StreamProcessorEventTypeViewAlertableWithThreshold, matchers: S.optional( StreamProcessorMetricAlertConfigViewForNdsGroupInputMatchersList, ), metricThreshold: S.optional(StreamProcessorMetricThreshold), notifications: StreamProcessorMetricAlertConfigViewForNdsGroupInputNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(StreamProcessorMetricThreshold), }), ).annotate({ identifier: "StreamProcessorMetricAlertConfigViewForNdsGroupInput", }) as any as S.Schema; export type GroupAlertsConfigInput = | DefaultAlertConfigViewForNdsGroupInput | AppServiceAlertConfigViewForNdsGroupInput | AppServiceMetricAlertConfigViewForNdsGroupInput | BillingThresholdAlertConfigViewForNdsGroupInput | ClusterAlertConfigViewForNdsGroupInput | CpsBackupThresholdAlertConfigViewForNdsGroupInput | EncryptionKeyAlertConfigViewForNdsGroupInput | HostAlertConfigViewForNdsGroupInput | HostMetricAlertConfigViewForNdsGroupInput | MongotuneAlertConfigViewForNdsGroupInput | NDSAutoscalingAlertConfigViewForNdsGroupInput | NDSX509UserAuthenticationAlertConfigViewForNdsGroupInput | ReplicaSetAlertConfigViewForNdsGroupInput | ReplicaSetThresholdAlertConfigViewForNdsGroupInput | ServerlessMetricAlertConfigViewForNdsGroupInput | FlexMetricAlertConfigViewForNdsGroupInput | StreamProcessorAlertConfigViewForNdsGroupInput | StreamProcessorMetricAlertConfigViewForNdsGroupInput; export const GroupAlertsConfigInput = S.Unknown as any as S.Schema; export interface CreateGroupAlertConfigRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; body: GroupAlertsConfigInput; } export const CreateGroupAlertConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), body: GroupAlertsConfigInput.pipe(T.HttpBody()), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/alertConfigs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupAlertConfigRequest", }) as any as S.Schema; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase0 = "CREDIT_CARD_ABOUT_TO_EXPIRE"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase0 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase1 = | "CPS_SNAPSHOT_STARTED" | "CPS_SNAPSHOT_SUCCESSFUL" | "CPS_SNAPSHOT_FAILED" | "CPS_CONCURRENT_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_SNAPSHOT_FALLBACK_SUCCESSFUL" | "CPS_SNAPSHOT_FALLBACK_FAILED" | "CPS_COPY_SNAPSHOT_STARTED" | "CPS_COPY_SNAPSHOT_FAILED" | "CPS_COPY_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_COPY_SNAPSHOT_SUCCESSFUL" | "CPS_RESTORE_SUCCESSFUL" | "CPS_EXPORT_SUCCESSFUL" | "CPS_RESTORE_FAILED" | "CPS_EXPORT_FAILED" | "CPS_COLLECTION_RESTORE_SUCCESSFUL" | "CPS_COLLECTION_RESTORE_FAILED" | "CPS_COLLECTION_RESTORE_PARTIAL_SUCCESS" | "CPS_COLLECTION_RESTORE_CANCELED" | "CPS_AUTO_EXPORT_FAILED" | "CPS_SNAPSHOT_DOWNLOAD_REQUEST_FAILED" | "CPS_OPLOG_CAUGHT_UP"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase1 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase2 = | "CPS_DATA_PROTECTION_ENABLE_REQUESTED" | "CPS_DATA_PROTECTION_ENABLED" | "CPS_DATA_PROTECTION_UPDATE_REQUESTED" | "CPS_DATA_PROTECTION_UPDATED" | "CPS_DATA_PROTECTION_DISABLE_REQUESTED" | "CPS_DATA_PROTECTION_DISABLED" | "CPS_DATA_PROTECTION_APPROVED_FOR_DISABLEMENT"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase2 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase3 = | "FTS_INDEX_DELETION_FAILED" | "FTS_INDEX_BUILD_COMPLETE" | "FTS_INDEX_BUILD_FAILED" | "FTS_INDEX_CLEANED_UP" | "FTS_INDEX_STALE" | "FTS_INDEXES_RESTORE_FAILED" | "FTS_INDEXES_SYNONYM_MAPPING_INVALID"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase3 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase4 = | "USERS_WITHOUT_MULTI_FACTOR_AUTH" | "ENCRYPTION_AT_REST_KMS_NETWORK_ACCESS_DENIED" | "ENCRYPTION_AT_REST_CONFIG_NO_LONGER_VALID" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRING" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRED" | "ACTIVE_LEGACY_TLS_CONNECTIONS" | "WEBHOOK_TEMPLATE_RENDER_FAILED"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase4 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase5 = "MONGOTUNE_ALERT"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase5 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase6 = | "CLUSTER_INSTANCE_STOP_START" | "CLUSTER_INSTANCE_RESYNC_REQUESTED" | "CLUSTER_INSTANCE_UPDATE_REQUESTED" | "SAMPLE_DATASET_LOAD_REQUESTED" | "TENANT_UPGRADE_TO_SERVERLESS_SUCCESSFUL" | "TENANT_UPGRADE_TO_SERVERLESS_FAILED" | "NETWORK_PERMISSION_ENTRY_ADDED" | "NETWORK_PERMISSION_ENTRY_REMOVED" | "NETWORK_PERMISSION_ENTRY_UPDATED" | "CLUSTER_BLOCK_WRITE" | "CLUSTER_UNBLOCK_WRITE" | "LOG_STREAMING_EXPORT_FAILED_NONRETRYABLE" | "LOG_STREAMING_EXPORT_FAILED_RETRIES_EXHAUSTED" | "LOG_STREAMING_REPLAY_FAILED"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase6 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase7 = | "MAINTENANCE_IN_ADVANCED" | "MAINTENANCE_AUTO_DEFERRED" | "MAINTENANCE_STARTED" | "MAINTENANCE_COMPLETED" | "MAINTENANCE_NO_LONGER_NEEDED"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase7 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase8 = | "ONLINE_ARCHIVE_INSUFFICIENT_INDEXES_CHECK" | "ONLINE_ARCHIVE_MAX_CONSECUTIVE_OFFLOAD_WINDOWS_CHECK"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase8 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase9 = | "JOINED_GROUP" | "REMOVED_FROM_GROUP" | "USER_ROLES_CHANGED_AUDIT"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase9 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase10 = | "TAGS_MODIFIED" | "CLUSTER_TAGS_MODIFIED" | "GROUP_TAGS_MODIFIED"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase10 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase11 = | "STREAM_PROCESSOR_STATE_IS_FAILED" | "STREAM_PROCESSOR_AUTOSCALE_INITIATED" | "OUTSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase11 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase12 = | "COMPUTE_AUTO_SCALE_INITIATED_BASE" | "COMPUTE_AUTO_SCALE_INITIATED_ANALYTICS" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_BASE" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_BASE" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_ANALYTICS" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_ANALYTICS" | "DISK_AUTO_SCALE_INITIATED" | "DISK_AUTO_SCALE_MAX_DISK_SIZE_FAIL" | "DISK_AUTO_SCALE_OPLOG_FAIL" | "PREDICTIVE_COMPUTE_AUTO_SCALE_INITIATED_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "CLUSTER_AUTO_SHARDING_INITIATED" | "CLUSTER_RESHARDING_COMPLETED"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase12 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase13 = "RESOURCE_POLICY_VIOLATED"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase13 = S.String; export type DefaultAlertConfigViewForNdsGroupEventTypeNameCase14 = | "HOST_DOWN" | "HOST_HAS_INDEX_SUGGESTIONS" | "HOST_MONGOT_CRASHING_OOM" | "HOST_MONGOT_STOP_REPLICATION" | "HOST_MONGOT_APPROACHING_STOP_REPLICATION" | "HOST_MONGOT_PAUSE_INITIAL_SYNC" | "HOST_SEARCH_NODE_INDEX_FAILED" | "HOST_SEARCH_PROCESS_THROTTLING" | "HOST_EXTERNAL_LOG_SINK_EXPORT_DOWN" | "HOST_NOT_ENOUGH_DISK_SPACE" | "SSH_KEY_NDS_HOST_ACCESS_REQUESTED" | "SSH_KEY_NDS_HOST_ACCESS_REFRESHED" | "PUSH_BASED_LOG_EXPORT_STOPPED" | "PUSH_BASED_LOG_EXPORT_DROPPED_LOG" | "HOST_VERSION_BEHIND" | "VERSION_BEHIND" | "HOST_EXPOSED" | "HOST_SSL_CERTIFICATE_STALE" | "HOST_SECURITY_CHECKUP_NOT_MET" | "ALERT_HOST_SSH_SESSION_STARTED" | "PROFILER_CONFIGURED_TOO_WIDELY"; export const DefaultAlertConfigViewForNdsGroupEventTypeNameCase14 = S.String; /** Incident that triggered this alert. */ export type DefaultAlertConfigViewForNdsGroupEventTypeName = | DefaultAlertConfigViewForNdsGroupEventTypeNameCase0 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase1 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase2 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase3 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase4 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase5 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase6 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase7 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase8 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase9 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase10 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase11 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase12 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase13 | DefaultAlertConfigViewForNdsGroupEventTypeNameCase14; export const DefaultAlertConfigViewForNdsGroupEventTypeName = S.Unknown as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DefaultAlertConfigViewForNdsGroupLinksList = Array; export const DefaultAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Matching conditions for target resources. */ export type DefaultAlertConfigViewForNdsGroupMatchersList = Array; export const DefaultAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type DefaultAlertConfigViewForNdsGroupNotificationsList = Array; export const DefaultAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Other alerts which don't have extra details beside of basic one. */ export interface DefaultAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; /** Incident that triggered this alert. */ eventTypeName: DefaultAlertConfigViewForNdsGroupEventTypeName; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DefaultAlertConfigViewForNdsGroupLinksList; /** Matching conditions for target resources. */ matchers?: DefaultAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: DefaultAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const DefaultAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: DefaultAlertConfigViewForNdsGroupEventTypeName, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(DefaultAlertConfigViewForNdsGroupLinksList), matchers: S.optional(DefaultAlertConfigViewForNdsGroupMatchersList), notifications: DefaultAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "DefaultAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AppServiceAlertConfigViewForNdsGroupLinksList = Array; export const AppServiceAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type AppServiceAlertConfigViewForNdsGroupMatchersList = Array; export const AppServiceAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AppServiceMetricMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type AppServiceAlertConfigViewForNdsGroupNotificationsList = Array; export const AppServiceAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** App Services metric alert configuration allows to select which app service conditions and events trigger alerts and how users are notified. */ export interface AppServiceAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: AppServiceEventTypeViewAlertableNoThreshold; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AppServiceAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: AppServiceAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: AppServiceAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const AppServiceAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend( () => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: AppServiceEventTypeViewAlertableNoThreshold, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(AppServiceAlertConfigViewForNdsGroupLinksList), matchers: S.optional(AppServiceAlertConfigViewForNdsGroupMatchersList), notifications: AppServiceAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "AppServiceAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AppServiceMetricAlertConfigViewForNdsGroupLinksList = Array; export const AppServiceMetricAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type AppServiceMetricAlertConfigViewForNdsGroupMatchersList = Array; export const AppServiceMetricAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AppServiceMetricMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type AppServiceMetricAlertConfigViewForNdsGroupNotificationsList = Array; export const AppServiceMetricAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** App Services metric alert configuration allows to select which app service metrics trigger alerts and how users are notified. */ export interface AppServiceMetricAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: AppServiceEventTypeViewAlertableWithThreshold; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AppServiceMetricAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: AppServiceMetricAlertConfigViewForNdsGroupMatchersList; metricThreshold?: AppServiceMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: AppServiceMetricAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const AppServiceMetricAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: AppServiceEventTypeViewAlertableWithThreshold, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(AppServiceMetricAlertConfigViewForNdsGroupLinksList), matchers: S.optional( AppServiceMetricAlertConfigViewForNdsGroupMatchersList, ), metricThreshold: S.optional(AppServiceMetricThreshold), notifications: AppServiceMetricAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "AppServiceMetricAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type BillingThresholdAlertConfigViewForNdsGroupLinksList = Array; export const BillingThresholdAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Matching conditions for target resources. */ export type BillingThresholdAlertConfigViewForNdsGroupMatchersList = Array; export const BillingThresholdAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type BillingThresholdAlertConfigViewForNdsGroupNotificationsList = Array; export const BillingThresholdAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Billing threshold alert configuration allows to select thresholds for bills and invoices which trigger alerts and how users are notified. */ export interface BillingThresholdAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: BillingEventTypeViewAlertableWithThreshold; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: BillingThresholdAlertConfigViewForNdsGroupLinksList; /** Matching conditions for target resources. */ matchers?: BillingThresholdAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: BillingThresholdAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; threshold?: GreaterThanRawThreshold; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const BillingThresholdAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: BillingEventTypeViewAlertableWithThreshold, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(BillingThresholdAlertConfigViewForNdsGroupLinksList), matchers: S.optional( BillingThresholdAlertConfigViewForNdsGroupMatchersList, ), notifications: BillingThresholdAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(GreaterThanRawThreshold), updated: S.optional(S.String), }), ).annotate({ identifier: "BillingThresholdAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ClusterAlertConfigViewForNdsGroupLinksList = Array; export const ClusterAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type ClusterAlertConfigViewForNdsGroupMatchersList = Array; export const ClusterAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( ClusterMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type ClusterAlertConfigViewForNdsGroupNotificationsList = Array; export const ClusterAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Cluster alert configuration allows to select which conditions of mongod cluster which trigger alerts and how users are notified. */ export interface ClusterAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: ClusterEventTypeViewForNdsGroupAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ClusterAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: ClusterAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: ClusterAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const ClusterAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: ClusterEventTypeViewForNdsGroupAlertable, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(ClusterAlertConfigViewForNdsGroupLinksList), matchers: S.optional(ClusterAlertConfigViewForNdsGroupMatchersList), notifications: ClusterAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "ClusterAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type CpsBackupThresholdAlertConfigViewForNdsGroupLinksList = Array; export const CpsBackupThresholdAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Matching conditions for target resources. */ export type CpsBackupThresholdAlertConfigViewForNdsGroupMatchersList = Array; export const CpsBackupThresholdAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type CpsBackupThresholdAlertConfigViewForNdsGroupNotificationsList = Array; export const CpsBackupThresholdAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Cps Backup threshold alert configuration allows to select thresholds for conditions of CPS backup or oplogs anomalies which trigger alerts and how users are notified. */ export interface CpsBackupThresholdAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: CpsBackupEventTypeViewForNdsGroupAlertableWithThreshold; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: CpsBackupThresholdAlertConfigViewForNdsGroupLinksList; /** Matching conditions for target resources. */ matchers?: CpsBackupThresholdAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: CpsBackupThresholdAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; threshold?: GreaterThanTimeThreshold; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const CpsBackupThresholdAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: CpsBackupEventTypeViewForNdsGroupAlertableWithThreshold, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(CpsBackupThresholdAlertConfigViewForNdsGroupLinksList), matchers: S.optional( CpsBackupThresholdAlertConfigViewForNdsGroupMatchersList, ), notifications: CpsBackupThresholdAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(GreaterThanTimeThreshold), updated: S.optional(S.String), }), ).annotate({ identifier: "CpsBackupThresholdAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type EncryptionKeyAlertConfigViewForNdsGroupLinksList = Array; export const EncryptionKeyAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Matching conditions for target resources. */ export type EncryptionKeyAlertConfigViewForNdsGroupMatchersList = Array; export const EncryptionKeyAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type EncryptionKeyAlertConfigViewForNdsGroupNotificationsList = Array; export const EncryptionKeyAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Encryption key alert configuration allows to select thresholds which trigger alerts and how users are notified. */ export interface EncryptionKeyAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: EncryptionKeyEventTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: EncryptionKeyAlertConfigViewForNdsGroupLinksList; /** Matching conditions for target resources. */ matchers?: EncryptionKeyAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: EncryptionKeyAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; threshold?: GreaterThanDaysThresholdView; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const EncryptionKeyAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend( () => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: EncryptionKeyEventTypeViewAlertable, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(EncryptionKeyAlertConfigViewForNdsGroupLinksList), matchers: S.optional(EncryptionKeyAlertConfigViewForNdsGroupMatchersList), notifications: EncryptionKeyAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(GreaterThanDaysThresholdView), updated: S.optional(S.String), }), ).annotate({ identifier: "EncryptionKeyAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type HostAlertConfigViewForNdsGroupLinksList = Array; export const HostAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type HostAlertConfigViewForNdsGroupMatchersList = Array; export const HostAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( HostMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type HostAlertConfigViewForNdsGroupNotificationsList = Array; export const HostAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Host alert configuration allows to select which mongod host events trigger alerts and how users are notified. */ export interface HostAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: HostEventTypeViewForNdsGroupAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: HostAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: HostAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: HostAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const HostAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: HostEventTypeViewForNdsGroupAlertable, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(HostAlertConfigViewForNdsGroupLinksList), matchers: S.optional(HostAlertConfigViewForNdsGroupMatchersList), notifications: HostAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "HostAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type HostMetricAlertConfigViewForNdsGroupLinksList = Array; export const HostMetricAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type HostMetricAlertConfigViewForNdsGroupMatchersList = Array; export const HostMetricAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( HostMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type HostMetricAlertConfigViewForNdsGroupNotificationsList = Array; export const HostMetricAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Host metric alert configuration allows to select which mongod host metrics trigger alerts and how users are notified. */ export interface HostMetricAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: HostMetricEventTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: HostMetricAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: HostMetricAlertConfigViewForNdsGroupMatchersList; metricThreshold?: HostMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: HostMetricAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const HostMetricAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend( () => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: HostMetricEventTypeViewAlertable, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(HostMetricAlertConfigViewForNdsGroupLinksList), matchers: S.optional(HostMetricAlertConfigViewForNdsGroupMatchersList), metricThreshold: S.optional(HostMetricThreshold), notifications: HostMetricAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "HostMetricAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type MongotuneAlertConfigViewForNdsGroupLinksList = Array; export const MongotuneAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Matching conditions for target resources. */ export type MongotuneAlertConfigViewForNdsGroupMatchersList = Array; export const MongotuneAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type MongotuneAlertConfigViewForNdsGroupNotificationsList = Array; export const MongotuneAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Intelligent Workload Management alert configuration allows to select which Intelligent Workload Management events trigger alerts and how users are notified. */ export interface MongotuneAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: MongotuneEventTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: MongotuneAlertConfigViewForNdsGroupLinksList; /** Matching conditions for target resources. */ matchers?: MongotuneAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: MongotuneAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const MongotuneAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: MongotuneEventTypeViewAlertable, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(MongotuneAlertConfigViewForNdsGroupLinksList), matchers: S.optional(MongotuneAlertConfigViewForNdsGroupMatchersList), notifications: MongotuneAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "MongotuneAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type NDSAutoscalingAlertConfigViewForNdsGroupLinksList = Array; export const NDSAutoscalingAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ export type NDSAutoscalingAlertConfigViewForNdsGroupMatchersList = Array; export const NDSAutoscalingAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( NDSAutoscalingMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type NDSAutoscalingAlertConfigViewForNdsGroupNotificationsList = Array; export const NDSAutoscalingAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** NDS Auto-Scaling alert configuration allows selecting which auto-scaling events trigger alerts and how users are notified. */ export interface NDSAutoscalingAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: NDSAutoScalingAuditTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: NDSAutoscalingAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ matchers?: NDSAutoscalingAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: NDSAutoscalingAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const NDSAutoscalingAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend( () => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: NDSAutoScalingAuditTypeViewAlertable, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(NDSAutoscalingAlertConfigViewForNdsGroupLinksList), matchers: S.optional( NDSAutoscalingAlertConfigViewForNdsGroupMatchersList, ), notifications: NDSAutoscalingAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "NDSAutoscalingAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type NDSX509UserAuthenticationAlertConfigViewForNdsGroupLinksList = Array; export const NDSX509UserAuthenticationAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Matching conditions for target resources. */ export type NDSX509UserAuthenticationAlertConfigViewForNdsGroupMatchersList = Array; export const NDSX509UserAuthenticationAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type NDSX509UserAuthenticationAlertConfigViewForNdsGroupNotificationsList = Array; export const NDSX509UserAuthenticationAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** X509 User Authentication alert configuration allows to select thresholds for expiration of client, CA certificates and CRL which trigger alerts and how users are notified. */ export interface NDSX509UserAuthenticationAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: NDSX509UserAuthenticationEventTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: NDSX509UserAuthenticationAlertConfigViewForNdsGroupLinksList; /** Matching conditions for target resources. */ matchers?: NDSX509UserAuthenticationAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: NDSX509UserAuthenticationAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; threshold?: LessThanDaysThresholdView; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const NDSX509UserAuthenticationAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: NDSX509UserAuthenticationEventTypeViewAlertable, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional( NDSX509UserAuthenticationAlertConfigViewForNdsGroupLinksList, ), matchers: S.optional( NDSX509UserAuthenticationAlertConfigViewForNdsGroupMatchersList, ), notifications: NDSX509UserAuthenticationAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(LessThanDaysThresholdView), updated: S.optional(S.String), }), ).annotate({ identifier: "NDSX509UserAuthenticationAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ReplicaSetAlertConfigViewForNdsGroupLinksList = Array; export const ReplicaSetAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type ReplicaSetAlertConfigViewForNdsGroupMatchersList = Array; export const ReplicaSetAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( ReplicaSetMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type ReplicaSetAlertConfigViewForNdsGroupNotificationsList = Array; export const ReplicaSetAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Replica Set alert configuration allows to select which conditions of mongod replica set trigger alerts and how users are notified. */ export interface ReplicaSetAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: ReplicaSetEventTypeViewForNdsGroupAlertableNoThreshold; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ReplicaSetAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: ReplicaSetAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: ReplicaSetAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; threshold?: AlertsThresholdInteger; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const ReplicaSetAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend( () => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: ReplicaSetEventTypeViewForNdsGroupAlertableNoThreshold, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(ReplicaSetAlertConfigViewForNdsGroupLinksList), matchers: S.optional(ReplicaSetAlertConfigViewForNdsGroupMatchersList), notifications: ReplicaSetAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(AlertsThresholdInteger), updated: S.optional(S.String), }), ).annotate({ identifier: "ReplicaSetAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ReplicaSetThresholdAlertConfigViewForNdsGroupLinksList = Array; export const ReplicaSetThresholdAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ export type ReplicaSetThresholdAlertConfigViewForNdsGroupMatchersList = Array; export const ReplicaSetThresholdAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( ReplicaSetMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type ReplicaSetThresholdAlertConfigViewForNdsGroupNotificationsList = Array; export const ReplicaSetThresholdAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Replica Set threshold alert configuration allows to select thresholds for conditions of mongod replica set which trigger alerts and how users are notified. */ export interface ReplicaSetThresholdAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: ReplicaSetEventTypeViewForNdsGroupAlertableWithThreshold; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ReplicaSetThresholdAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. You can filter using the matchers array if the `eventTypeName` specifies an event for a host, replica set, or sharded cluster. */ matchers?: ReplicaSetThresholdAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: ReplicaSetThresholdAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; threshold?: AlertsThresholdInteger; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const ReplicaSetThresholdAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: ReplicaSetEventTypeViewForNdsGroupAlertableWithThreshold, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(ReplicaSetThresholdAlertConfigViewForNdsGroupLinksList), matchers: S.optional( ReplicaSetThresholdAlertConfigViewForNdsGroupMatchersList, ), notifications: ReplicaSetThresholdAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(AlertsThresholdInteger), updated: S.optional(S.String), }), ).annotate({ identifier: "ReplicaSetThresholdAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ServerlessMetricAlertConfigViewForNdsGroupLinksList = Array; export const ServerlessMetricAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Matching conditions for target resources. */ export type ServerlessMetricAlertConfigViewForNdsGroupMatchersList = Array; export const ServerlessMetricAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type ServerlessMetricAlertConfigViewForNdsGroupNotificationsList = Array; export const ServerlessMetricAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Serverless metric alert configuration allows to select which serverless database metrics trigger alerts and how users are notified. */ export interface ServerlessMetricAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: ServerlessEventTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ServerlessMetricAlertConfigViewForNdsGroupLinksList; /** Matching conditions for target resources. */ matchers?: ServerlessMetricAlertConfigViewForNdsGroupMatchersList; metricThreshold?: ServerlessMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: ServerlessMetricAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const ServerlessMetricAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: ServerlessEventTypeViewAlertable, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(ServerlessMetricAlertConfigViewForNdsGroupLinksList), matchers: S.optional( ServerlessMetricAlertConfigViewForNdsGroupMatchersList, ), metricThreshold: S.optional(ServerlessMetricThreshold), notifications: ServerlessMetricAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "ServerlessMetricAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type FlexMetricAlertConfigViewForNdsGroupLinksList = Array; export const FlexMetricAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Matching conditions for target resources. */ export type FlexMetricAlertConfigViewForNdsGroupMatchersList = Array; export const FlexMetricAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( AlertMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type FlexMetricAlertConfigViewForNdsGroupNotificationsList = Array; export const FlexMetricAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Flex metric alert configuration allows to select which Flex database metrics trigger alerts and how users are notified. */ export interface FlexMetricAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: FlexMetricEventTypeViewAlertable; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: FlexMetricAlertConfigViewForNdsGroupLinksList; /** Matching conditions for target resources. */ matchers?: FlexMetricAlertConfigViewForNdsGroupMatchersList; metricThreshold?: FlexClusterMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: FlexMetricAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const FlexMetricAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend( () => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: FlexMetricEventTypeViewAlertable, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(FlexMetricAlertConfigViewForNdsGroupLinksList), matchers: S.optional(FlexMetricAlertConfigViewForNdsGroupMatchersList), metricThreshold: S.optional(FlexClusterMetricThreshold), notifications: FlexMetricAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "FlexMetricAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamProcessorAlertConfigViewForNdsGroupLinksList = Array; export const StreamProcessorAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ export type StreamProcessorAlertConfigViewForNdsGroupMatchersList = Array; export const StreamProcessorAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( StreamsMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type StreamProcessorAlertConfigViewForNdsGroupNotificationsList = Array; export const StreamProcessorAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Host metric alert configuration allows to select which Atlas streams processors trigger alerts and how users are notified. */ export interface StreamProcessorAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: StreamProcessorEventTypeViewAlertableNoThreshold; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamProcessorAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ matchers?: StreamProcessorAlertConfigViewForNdsGroupMatchersList; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: StreamProcessorAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const StreamProcessorAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: StreamProcessorEventTypeViewAlertableNoThreshold, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(StreamProcessorAlertConfigViewForNdsGroupLinksList), matchers: S.optional( StreamProcessorAlertConfigViewForNdsGroupMatchersList, ), notifications: StreamProcessorAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), updated: S.optional(S.String), }), ).annotate({ identifier: "StreamProcessorAlertConfigViewForNdsGroup", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamProcessorMetricAlertConfigViewForNdsGroupLinksList = Array; export const StreamProcessorMetricAlertConfigViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ export type StreamProcessorMetricAlertConfigViewForNdsGroupMatchersList = Array; export const StreamProcessorMetricAlertConfigViewForNdsGroupMatchersList = /*@__PURE__*/ S.Array( StreamsMatcher, ) as any as S.Schema; /** List that contains the targets that MongoDB Cloud sends notifications. */ export type StreamProcessorMetricAlertConfigViewForNdsGroupNotificationsList = Array; export const StreamProcessorMetricAlertConfigViewForNdsGroupNotificationsList = /*@__PURE__*/ S.Array( AlertsNotificationRootForGroup, ) as any as S.Schema; /** Stream Processor threshold alert configuration allows to select thresholds on metrics which trigger alerts and how users are notified. */ export interface StreamProcessorMetricAlertConfigViewForNdsGroup { /** Date and time when MongoDB Cloud created the alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Flag that indicates whether someone enabled this alert configuration for the specified project. */ enabled?: boolean; eventTypeName: StreamProcessorEventTypeViewAlertableWithThreshold; /** Unique 24-hexadecimal digit string that identifies the project that owns this alert configuration. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies this alert configuration. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamProcessorMetricAlertConfigViewForNdsGroupLinksList; /** List of rules that determine whether MongoDB Cloud checks an object for the alert configuration. */ matchers?: StreamProcessorMetricAlertConfigViewForNdsGroupMatchersList; metricThreshold?: StreamProcessorMetricThreshold; /** List that contains the targets that MongoDB Cloud sends notifications. */ notifications: StreamProcessorMetricAlertConfigViewForNdsGroupNotificationsList; severityOverride?: EventSeverity; threshold?: StreamProcessorMetricThreshold; /** Date and time when someone last updated this alert configuration. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const StreamProcessorMetricAlertConfigViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), enabled: S.optional(S.Boolean), eventTypeName: StreamProcessorEventTypeViewAlertableWithThreshold, groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional( StreamProcessorMetricAlertConfigViewForNdsGroupLinksList, ), matchers: S.optional( StreamProcessorMetricAlertConfigViewForNdsGroupMatchersList, ), metricThreshold: S.optional(StreamProcessorMetricThreshold), notifications: StreamProcessorMetricAlertConfigViewForNdsGroupNotificationsList, severityOverride: S.optional(EventSeverity), threshold: S.optional(StreamProcessorMetricThreshold), updated: S.optional(S.String), }), ).annotate({ identifier: "StreamProcessorMetricAlertConfigViewForNdsGroup", }) as any as S.Schema; export type GroupAlertsConfig = | DefaultAlertConfigViewForNdsGroup | AppServiceAlertConfigViewForNdsGroup | AppServiceMetricAlertConfigViewForNdsGroup | BillingThresholdAlertConfigViewForNdsGroup | ClusterAlertConfigViewForNdsGroup | CpsBackupThresholdAlertConfigViewForNdsGroup | EncryptionKeyAlertConfigViewForNdsGroup | HostAlertConfigViewForNdsGroup | HostMetricAlertConfigViewForNdsGroup | MongotuneAlertConfigViewForNdsGroup | NDSAutoscalingAlertConfigViewForNdsGroup | NDSX509UserAuthenticationAlertConfigViewForNdsGroup | ReplicaSetAlertConfigViewForNdsGroup | ReplicaSetThresholdAlertConfigViewForNdsGroup | ServerlessMetricAlertConfigViewForNdsGroup | FlexMetricAlertConfigViewForNdsGroup | StreamProcessorAlertConfigViewForNdsGroup | StreamProcessorMetricAlertConfigViewForNdsGroup; export const GroupAlertsConfig = S.Unknown as any as S.Schema; export type CreateGroupAlertConfigResponse = GroupAlertsConfig; export const CreateGroupAlertConfigResponse = /*@__PURE__*/ S.suspend(() => GroupAlertsConfig.pipe(T.RawResponseRoot()), ).annotate({ identifier: "CreateGroupAlertConfigResponse", }) as any as S.Schema; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this project. */ export type CreateGroupApiKeyRequestRolesList = Array; export const CreateGroupApiKeyRequestRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateGroupApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Purpose or explanation provided when someone created this project API key. */ desc: string; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this project. */ roles: CreateGroupApiKeyRequestRolesList; } export const CreateGroupApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), desc: S.String, roles: CreateGroupApiKeyRequestRolesList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/apiKeys", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupApiKeyRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ApiKeyUserDetailsLinksList = Array; export const ApiKeyUserDetailsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** MongoDB Cloud user's roles and the corresponding organization or project to which that role applies. Each role can apply to one organization or one project but not both. */ export interface CloudAccessRoleAssignment { /** Unique 24-hexadecimal digit string that identifies the project to which this role belongs. You can set a value for this parameter or `orgId` but not both in the same request. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the organization to which this role belongs. You can set a value for this parameter or `groupId` but not both in the same request. */ orgId?: string; /** Human-readable label that identifies the collection of privileges that MongoDB Cloud grants a specific API key, MongoDB Cloud user, or MongoDB Cloud team. These roles include organization- and project-level roles. */ roleName?: string; } export const CloudAccessRoleAssignment = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.optional(S.String), orgId: S.optional(S.String), roleName: S.optional(S.String), }), ).annotate({ identifier: "CloudAccessRoleAssignment", }) as any as S.Schema; /** List that contains the roles that the API key needs to have. All roles you provide must be valid for the specified project or organization. Each request must include a minimum of one valid role. The resource returns all project and organization roles assigned to the API key. */ export type ApiKeyUserDetailsRolesList = Array; export const ApiKeyUserDetailsRolesList = /*@__PURE__*/ S.Array( CloudAccessRoleAssignment, ) as any as S.Schema; /** Details of the Programmatic API Keys. */ export interface ApiKeyUserDetails { /** Purpose or explanation provided when someone created this organization API key. */ desc?: string; /** Unique 24-hexadecimal digit string that identifies this organization API key assigned to this project. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ApiKeyUserDetailsLinksList; /** Redacted private key returned for this organization API key. This key displays unredacted when first created. */ privateKey?: string | Redacted.Redacted; /** Public API key value set for the specified organization API key. */ publicKey?: string; /** List that contains the roles that the API key needs to have. All roles you provide must be valid for the specified project or organization. Each request must include a minimum of one valid role. The resource returns all project and organization roles assigned to the API key. */ roles?: ApiKeyUserDetailsRolesList; } export const ApiKeyUserDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ desc: S.optional(S.String), id: S.optional(S.String), links: S.optional(ApiKeyUserDetailsLinksList), privateKey: S.optional(S.String.pipe(T.SensitiveValue({}))), publicKey: S.optional(S.String), roles: S.optional(ApiKeyUserDetailsRolesList), }), ).annotate({ identifier: "ApiKeyUserDetails", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider. */ export type CreateGroupBackupExportBucketRequestCloudProvider = | "AWS" | "AZURE" | "GCP"; export const CreateGroupBackupExportBucketRequestCloudProvider = S.String; export interface CreateGroupBackupExportBucketRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the cloud provider. */ cloudProvider: | CreateGroupBackupExportBucketRequestCloudProvider | (string & {}); } export const CreateGroupBackupExportBucketRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), cloudProvider: CreateGroupBackupExportBucketRequestCloudProvider, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/backup/exportBuckets", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "CreateGroupBackupExportBucketRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider. */ export type DiskBackupSnapshotExportBucketResponseCloudProvider = | "AWS" | "AZURE" | "GCP"; export const DiskBackupSnapshotExportBucketResponseCloudProvider = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupSnapshotExportBucketResponseLinksList = Array; export const DiskBackupSnapshotExportBucketResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Disk backup snapshot Export Bucket. */ export interface DiskBackupSnapshotExportBucketResponse { /** Unique 24-hexadecimal character string that identifies the Export Bucket. */ _id: string; /** The name of the AWS S3 Bucket, Azure Storage Container, or Google Cloud Storage Bucket that Snapshots are exported to. */ bucketName: string; /** Human-readable label that identifies the cloud provider. */ cloudProvider: DiskBackupSnapshotExportBucketResponseCloudProvider; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupSnapshotExportBucketResponseLinksList; } export const DiskBackupSnapshotExportBucketResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ _id: S.String, bucketName: S.String, cloudProvider: DiskBackupSnapshotExportBucketResponseCloudProvider, links: S.optional(DiskBackupSnapshotExportBucketResponseLinksList), }), ).annotate({ identifier: "DiskBackupSnapshotExportBucketResponse", }) as any as S.Schema; export type CreateGroupBackupPrivateEndpointRequestCloudProvider = "AWS"; export const CreateGroupBackupPrivateEndpointRequestCloudProvider = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type CreateGroupBackupPrivateEndpointRequestRegionName = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTH_1" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "GLOBAL"; export const CreateGroupBackupPrivateEndpointRequestRegionName = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type CreateGroupBackupPrivateEndpointRequestVpcRegionName = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTH_1" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "GLOBAL"; export const CreateGroupBackupPrivateEndpointRequestVpcRegionName = S.String; export interface CreateGroupBackupPrivateEndpointRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cloud provider for the private endpoint to create. */ cloudProvider: | CreateGroupBackupPrivateEndpointRequestCloudProvider | (string & {}); /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Cloud provider region of the S3 bucket that the Object Storage private endpoint accesses. For same-region endpoints, this is also the region where the VPC interface endpoint is deployed. */ regionName?: | CreateGroupBackupPrivateEndpointRequestRegionName | (string & {}); /** Cloud provider region in which the VPC interface endpoint is deployed. Omit to deploy the interface endpoint in the same region as the S3 bucket (same-region endpoint). Set to a region different from `regionName` to create a cross-region endpoint. */ vpcRegionName?: | CreateGroupBackupPrivateEndpointRequestVpcRegionName | (string & {}); } export const CreateGroupBackupPrivateEndpointRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: CreateGroupBackupPrivateEndpointRequestCloudProvider.pipe( T.Label(), ), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), regionName: S.optional(CreateGroupBackupPrivateEndpointRequestRegionName), vpcRegionName: S.optional( CreateGroupBackupPrivateEndpointRequestVpcRegionName, ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "CreateGroupBackupPrivateEndpointRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider. */ export type ObjectStoragePrivateEndpointResponseCloudProvider = "AWS"; export const ObjectStoragePrivateEndpointResponseCloudProvider = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type ObjectStoragePrivateEndpointResponseRegionName = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTH_1" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "GLOBAL"; export const ObjectStoragePrivateEndpointResponseRegionName = S.String; /** State of the Object Storage private endpoint. */ export type ObjectStoragePrivateEndpointResponseStatus = | "INITIATING" | "PENDING_ACCEPTANCE" | "ACTIVE" | "FAILED" | "PENDING_RECREATION" | "DELETING"; export const ObjectStoragePrivateEndpointResponseStatus = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type ObjectStoragePrivateEndpointResponseVpcRegionName = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTH_1" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "GLOBAL"; export const ObjectStoragePrivateEndpointResponseVpcRegionName = S.String; export interface ObjectStoragePrivateEndpointResponse { /** Human-readable label that identifies the cloud provider. */ cloudProvider?: ObjectStoragePrivateEndpointResponseCloudProvider; /** Error message for failures associated with the Object Storage private endpoint. */ errorMessage?: string; /** Unique 24-hexadecimal digit string that identifies the Private Endpoint Service. */ id?: string; /** Connection name of the Private Endpoint. */ privateEndpointConnectionName?: string; /** Cloud provider region in which the Object Storage bucket is located. For cross-region endpoints, this differs from `vpcRegionName`, which is the region in which the VPC interface endpoint is deployed. */ regionName?: ObjectStoragePrivateEndpointResponseRegionName; /** State of the Object Storage private endpoint. */ status?: ObjectStoragePrivateEndpointResponseStatus; /** Cloud provider region in which the VPC interface endpoint is deployed. Echoes `regionName` for same-region endpoints. */ vpcRegionName?: ObjectStoragePrivateEndpointResponseVpcRegionName; } export const ObjectStoragePrivateEndpointResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ cloudProvider: S.optional( ObjectStoragePrivateEndpointResponseCloudProvider, ), errorMessage: S.optional(S.String), id: S.optional(S.String), privateEndpointConnectionName: S.optional(S.String), regionName: S.optional(ObjectStoragePrivateEndpointResponseRegionName), status: S.optional(ObjectStoragePrivateEndpointResponseStatus), vpcRegionName: S.optional( ObjectStoragePrivateEndpointResponseVpcRegionName, ), }), ).annotate({ identifier: "ObjectStoragePrivateEndpointResponse", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider of the role. */ export type CreateGroupCloudProviderAccessRequestProviderName = | "AWS" | "AZURE" | "GCP"; export const CreateGroupCloudProviderAccessRequestProviderName = S.String; export interface CreateGroupCloudProviderAccessRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the cloud provider of the role. */ providerName: | CreateGroupCloudProviderAccessRequestProviderName | (string & {}); } export const CreateGroupCloudProviderAccessRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), providerName: CreateGroupCloudProviderAccessRequestProviderName, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/cloudProviderAccess", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupCloudProviderAccessRequest", }) as any as S.Schema; /** Governs adaptive capacity behavior of Azure nodes in single-cloud Azure clusters or multi-cloud clusters that include Azure nodes. Adaptive capacity enables fallback hardware selection when the primary instance family is unavailable. ``ENABLED`` means the cluster explicitly opts in to adaptive capacity. ``DISABLED`` means the cluster explicitly opts out; the cluster receives capacity errors instead of being placed on fallback hardware. ``null`` means the field is unset; Azure clusters use adaptive capacity by default when the feature is enabled at the group level. Setting this field for single-cloud AWS or GCP clusters is a no-op. */ export type CreateGroupClusterRequestAdaptiveCapacity = "ENABLED" | "DISABLED"; export const CreateGroupClusterRequestAdaptiveCapacity = S.String; export type ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls12Item = | "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" | "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"; export const ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls12Item = S.String; /** The custom OpenSSL cipher suite list for TLS 1.2. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ export type ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls12List = Array< | ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls12Item | (string & {}) >; export const ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls12List = /*@__PURE__*/ S.Array( ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls12Item, ) as any as S.Schema; export type ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls13Item = | "TLS_AES_256_GCM_SHA384" | "TLS_CHACHA20_POLY1305_SHA256" | "TLS_AES_128_GCM_SHA256" | "TLS_AES_128_CCM_SHA256"; export const ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls13Item = S.String; /** The custom OpenSSL cipher suite list for TLS 1.3. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ export type ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls13List = Array< | ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls13Item | (string & {}) >; export const ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls13List = /*@__PURE__*/ S.Array( ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls13Item, ) as any as S.Schema; /** Minimum Transport Layer Security (TLS) version that the cluster accepts for incoming connections. Clusters using TLS 1.0 or 1.1 should consider setting TLS 1.2 as the minimum TLS protocol version. */ export type ApiAtlasClusterAdvancedConfigurationViewMinimumEnabledTlsProtocol = | "TLS1_0" | "TLS1_1" | "TLS1_2" | "TLS1_3"; export const ApiAtlasClusterAdvancedConfigurationViewMinimumEnabledTlsProtocol = S.String; /** The TLS cipher suite configuration mode. The default mode uses the default cipher suites. The custom mode allows you to specify custom cipher suites for both TLS 1.2 and TLS 1.3. */ export type ApiAtlasClusterAdvancedConfigurationViewTlsCipherConfigMode = | "CUSTOM" | "DEFAULT"; export const ApiAtlasClusterAdvancedConfigurationViewTlsCipherConfigMode = S.String; /** Group of settings that configures a subset of the advanced configuration details. */ export interface ApiAtlasClusterAdvancedConfigurationView { /** The custom OpenSSL cipher suite list for TLS 1.2. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ customOpensslCipherConfigTls12?: ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls12List; /** The custom OpenSSL cipher suite list for TLS 1.3. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ customOpensslCipherConfigTls13?: ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls13List; /** Minimum Transport Layer Security (TLS) version that the cluster accepts for incoming connections. Clusters using TLS 1.0 or 1.1 should consider setting TLS 1.2 as the minimum TLS protocol version. */ minimumEnabledTlsProtocol?: | ApiAtlasClusterAdvancedConfigurationViewMinimumEnabledTlsProtocol | (string & {}); /** The TLS cipher suite configuration mode. The default mode uses the default cipher suites. The custom mode allows you to specify custom cipher suites for both TLS 1.2 and TLS 1.3. */ tlsCipherConfigMode?: | ApiAtlasClusterAdvancedConfigurationViewTlsCipherConfigMode | (string & {}); } export const ApiAtlasClusterAdvancedConfigurationView = /*@__PURE__*/ S.suspend( () => S.Struct({ customOpensslCipherConfigTls12: S.optional( ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls12List, ), customOpensslCipherConfigTls13: S.optional( ApiAtlasClusterAdvancedConfigurationViewCustomOpensslCipherConfigTls13List, ), minimumEnabledTlsProtocol: S.optional( ApiAtlasClusterAdvancedConfigurationViewMinimumEnabledTlsProtocol, ), tlsCipherConfigMode: S.optional( ApiAtlasClusterAdvancedConfigurationViewTlsCipherConfigMode, ), }), ).annotate({ identifier: "ApiAtlasClusterAdvancedConfigurationView", }) as any as S.Schema; /** Data source node designated for the MongoDB Connector for Business Intelligence on MongoDB Cloud. The MongoDB Connector for Business Intelligence on MongoDB Cloud reads data from the primary, secondary, or analytics node based on your read preferences. Defaults to `ANALYTICS` node, or `SECONDARY` if there are no `ANALYTICS` nodes. */ export type BiConnectorReadPreference = "PRIMARY" | "SECONDARY" | "ANALYTICS"; export const BiConnectorReadPreference = S.String; /** Settings needed to configure the MongoDB Connector for Business Intelligence for this cluster. */ export interface BiConnector { /** Flag that indicates whether MongoDB Connector for Business Intelligence is enabled on the specified cluster. */ enabled?: boolean; /** Data source node designated for the MongoDB Connector for Business Intelligence on MongoDB Cloud. The MongoDB Connector for Business Intelligence on MongoDB Cloud reads data from the primary, secondary, or analytics node based on your read preferences. Defaults to `ANALYTICS` node, or `SECONDARY` if there are no `ANALYTICS` nodes. */ readPreference?: BiConnectorReadPreference | (string & {}); } export const BiConnector = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), readPreference: S.optional(BiConnectorReadPreference), }), ).annotate({ identifier: "BiConnector" }) as any as S.Schema; /** Configuration of nodes that comprise the cluster. */ export type CreateGroupClusterRequestClusterType = | "REPLICASET" | "SHARDED" | "GEOSHARDED"; export const CreateGroupClusterRequestClusterType = S.String; /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ export type CreateGroupClusterRequestConfigServerManagementMode = | "ATLAS_MANAGED" | "FIXED_TO_DEDICATED"; export const CreateGroupClusterRequestConfigServerManagementMode = S.String; /** Disk warming mode selection. */ export type CreateGroupClusterRequestDiskWarmingMode = | "FULLY_WARMED" | "VISIBLE_EARLIER" | "ENHANCED_FULLY_WARMED"; export const CreateGroupClusterRequestDiskWarmingMode = S.String; /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ export type CreateGroupClusterRequestEncryptionAtRestProvider = | "NONE" | "AWS" | "AZURE" | "GCP"; export const CreateGroupClusterRequestEncryptionAtRestProvider = S.String; /** Human-readable labels applied to this MongoDB Cloud component. */ export interface ComponentLabel { /** Key applied to tag and categorize this component. */ key?: string; /** Value set to the Key applied to tag and categorize this component. */ value?: string; } export const ComponentLabel = /*@__PURE__*/ S.suspend(() => S.Struct({ key: S.optional(S.String), value: S.optional(S.String), }), ).annotate({ identifier: "ComponentLabel" }) as any as S.Schema; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ export type CreateGroupClusterRequestLabelsList = Array; export const CreateGroupClusterRequestLabelsList = /*@__PURE__*/ S.Array( ComponentLabel, ) as any as S.Schema; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ export type CreateGroupClusterRequestReplicaSetScalingStrategy = | "SEQUENTIAL" | "WORKLOAD_TYPE" | "NODE_TYPE"; export const CreateGroupClusterRequestReplicaSetScalingStrategy = S.String; /** Options that determine how this cluster handles CPU scaling. */ export interface AdvancedComputeAutoScalingInput { /** Flag that indicates whether instance size reactive auto-scaling is enabled. - Set to `true` to enable instance size reactive auto-scaling. If enabled, you must specify a value for `replicationSpecs[n].regionConfigs[m].autoScaling.compute.maxInstanceSize`. - Set to `false` to disable instance size reactive auto-scaling. */ enabled?: boolean; /** Flag that indicates whether the instance size may scale down via reactive auto-scaling. MongoDB Cloud requires this parameter if `replicationSpecs[n].regionConfigs[m].autoScaling.compute.enabled` is `true`. If you enable this option, specify a value for `replicationSpecs[n].regionConfigs[m].autoScaling.compute.minInstanceSize`. */ scaleDownEnabled?: boolean; } export const AdvancedComputeAutoScalingInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), scaleDownEnabled: S.optional(S.Boolean), }), ).annotate({ identifier: "AdvancedComputeAutoScalingInput", }) as any as S.Schema; /** Setting that enables disk auto-scaling. */ export interface DiskGBAutoScaling { /** Flag that indicates whether this cluster enables disk auto-scaling. The maximum memory allowed for the selected cluster tier and the oplog size can limit storage auto-scaling. */ enabled?: boolean; } export const DiskGBAutoScaling = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), }), ).annotate({ identifier: "DiskGBAutoScaling", }) as any as S.Schema; /** Options that determine how this cluster handles resource scaling. */ export interface AdvancedAutoScalingSettingsInput { compute?: AdvancedComputeAutoScalingInput; diskGB?: DiskGBAutoScaling; } export const AdvancedAutoScalingSettingsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ compute: S.optional(AdvancedComputeAutoScalingInput), diskGB: S.optional(DiskGBAutoScaling), }), ).annotate({ identifier: "AdvancedAutoScalingSettingsInput", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type AWSRegionConfig20240805InputBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const AWSRegionConfig20240805InputBackingProviderName = S.String; /** Type of storage you want to attach to your AWS-provisioned cluster. - `STANDARD` volume types can't exceed the default input/output operations per second (IOPS) rate for the selected volume size. - `PROVISIONED` volume types must fall within the allowable IOPS range for the selected volume size. - `HIGH_PERFORMANCE` volume types use IO2 EBS volumes and must fall within the allowable IOPS range for the selected volume size. NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type AWSHardwareSpec20240805InputEbsVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const AWSHardwareSpec20240805InputEbsVolumeType = S.String; /** Hardware specification for the instance sizes in this region in this shard. Each instance size has a default storage and memory capacity. Electable nodes and read-only nodes (known as "base nodes") within a single shard must use the same instance size. Analytics nodes can scale independently from base nodes within a shard. Both base nodes and analytics nodes can scale independently from their equivalents in other shards. */ export type AWSHardwareSpec20240805InputInstanceSize = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M100" | "M140" | "M200" | "M300" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "R700" | "M40_NVME" | "M50_NVME" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M400_NVME" | "M30_GEN_2" | "M40_GEN_2" | "M50_GEN_2" | "M60_GEN_2" | "M80_GEN_2" | "M140_GEN_2" | "M200_GEN_2" | "M300_GEN_2" | "R40_GEN_2" | "R50_GEN_2" | "R60_GEN_2" | "R80_GEN_2" | "R200_GEN_2" | "R300_GEN_2" | "R400_GEN_2" | "R700_GEN_2" | "M40_NVME_GEN_2" | "M50_NVME_GEN_2" | "M60_NVME_GEN_2" | "M80_NVME_GEN_2" | "M200_NVME_GEN_2" | "M400_NVME_GEN_2"; export const AWSHardwareSpec20240805InputInstanceSize = S.String; /** Hardware specifications for nodes deployed in the region. */ export interface AWSHardwareSpec20240805Input { /** Target IOPS (Input/Output Operations Per Second) desired for storage attached to this hardware. You can set different IOPS values on different shards when provisioned IOPS are supported. Change this parameter if you: - set `replicationSpecs[n].regionConfigs[m].providerName` to `AWS`. - set `replicationSpecs[n].regionConfigs[m].electableSpecs.instanceSize` to `M30` or greater (not including `Mxx_NVME` tiers). - set `replicationSpecs[n].regionConfigs[m].electableSpecs.ebsVolumeType` to `PROVISIONED`. The maximum input/output operations per second (IOPS) depend on the selected `.instanceSize` and `.diskSizeGB`. This parameter defaults to the cluster tier's standard IOPS value. Changing this value impacts cluster cost. MongoDB Cloud enforces minimum ratios of storage capacity to system memory for given cluster tiers. This keeps cluster performance consistent with large datasets. - Instance sizes `M10` to `M40` have a ratio of disk capacity to system memory of 60:1. - Instance sizes greater than `M40` have a ratio of 120:1. */ diskIOPS?: number; /** Storage capacity of instance data volumes expressed in gigabytes. Increase this number to add capacity. This value must be equal for all shards and node types. This value is not configurable on M0/M2/M5 clusters. MongoDB Cloud requires this parameter if you set `replicationSpecs`. If you specify a disk size below the minimum (10 GB), this parameter defaults to the minimum disk size value. Storage charge calculations depend on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require more storage space, consider upgrading your cluster to a higher tier. */ diskSizeGB?: number; /** Type of storage you want to attach to your AWS-provisioned cluster. - `STANDARD` volume types can't exceed the default input/output operations per second (IOPS) rate for the selected volume size. - `PROVISIONED` volume types must fall within the allowable IOPS range for the selected volume size. - `HIGH_PERFORMANCE` volume types use IO2 EBS volumes and must fall within the allowable IOPS range for the selected volume size. NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ ebsVolumeType?: AWSHardwareSpec20240805InputEbsVolumeType | (string & {}); /** Hardware specification for the instance sizes in this region in this shard. Each instance size has a default storage and memory capacity. Electable nodes and read-only nodes (known as "base nodes") within a single shard must use the same instance size. Analytics nodes can scale independently from base nodes within a shard. Both base nodes and analytics nodes can scale independently from their equivalents in other shards. */ instanceSize?: AWSHardwareSpec20240805InputInstanceSize | (string & {}); /** Number of nodes of the given type for MongoDB Cloud to deploy to the region. */ nodeCount?: number; } export const AWSHardwareSpec20240805Input = /*@__PURE__*/ S.suspend(() => S.Struct({ diskIOPS: S.optional(S.Number), diskSizeGB: S.optional(S.Number), ebsVolumeType: S.optional(AWSHardwareSpec20240805InputEbsVolumeType), instanceSize: S.optional(AWSHardwareSpec20240805InputInstanceSize), nodeCount: S.optional(S.Number), }), ).annotate({ identifier: "AWSHardwareSpec20240805Input", }) as any as S.Schema; /** Hardware specification for the instance sizes in this region in this shard. Each instance size has a default storage and memory capacity. Electable nodes and read-only nodes (known as "base nodes") within a single shard must use the same instance size. Analytics nodes can scale independently from base nodes within a shard. Both base nodes and analytics nodes can scale independently from their equivalents in other shards. */ export type AzureHardwareSpec20240805InstanceSize = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const AzureHardwareSpec20240805InstanceSize = S.String; export interface AzureHardwareSpec20240805 { /** Target throughput desired for storage attached to your Azure-provisioned cluster. Change this parameter if you: - set `replicationSpecs[n].regionConfigs[m].providerName` : `Azure`. - set `replicationSpecs[n].regionConfigs[m].electableSpecs.instanceSize` : `M40` or greater not including `Mxx_NVME` tiers. The maximum input/output operations per second (IOPS) depend on the selected `.instanceSize` and `.diskSizeGB`. This parameter defaults to the cluster tier's standard IOPS value. Changing this value impacts cluster cost. */ diskIOPS?: number; /** Storage capacity of instance data volumes expressed in gigabytes. Increase this number to add capacity. This value must be equal for all shards and node types. This value is not configurable on M0/M2/M5 clusters. MongoDB Cloud requires this parameter if you set `replicationSpecs`. If you specify a disk size below the minimum (10 GB), this parameter defaults to the minimum disk size value. Storage charge calculations depend on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require more storage space, consider upgrading your cluster to a higher tier. */ diskSizeGB?: number; /** Hardware specification for the instance sizes in this region in this shard. Each instance size has a default storage and memory capacity. Electable nodes and read-only nodes (known as "base nodes") within a single shard must use the same instance size. Analytics nodes can scale independently from base nodes within a shard. Both base nodes and analytics nodes can scale independently from their equivalents in other shards. */ instanceSize?: AzureHardwareSpec20240805InstanceSize | (string & {}); /** Number of nodes of the given type for MongoDB Cloud to deploy to the region. */ nodeCount?: number; } export const AzureHardwareSpec20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ diskIOPS: S.optional(S.Number), diskSizeGB: S.optional(S.Number), instanceSize: S.optional(AzureHardwareSpec20240805InstanceSize), nodeCount: S.optional(S.Number), }), ).annotate({ identifier: "AzureHardwareSpec20240805", }) as any as S.Schema; /** Hardware specification for the instance sizes in this region in this shard. Each instance size has a default storage and memory capacity. Electable nodes and read-only nodes (known as "base nodes") within a single shard must use the same instance size. Analytics nodes can scale independently from base nodes within a shard. Both base nodes and analytics nodes can scale independently from their equivalents in other shards. */ export type GCPHardwareSpec20240805InstanceSize = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M140" | "M200" | "M250" | "M300" | "M400" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "R600" | "M30_GEN_2" | "M40_GEN_2" | "M50_GEN_2" | "M60_GEN_2" | "M80_GEN_2" | "M140_GEN_2" | "M200_GEN_2" | "R40_GEN_2" | "R50_GEN_2" | "R60_GEN_2" | "R80_GEN_2" | "R200_GEN_2" | "R300_GEN_2" | "R400_GEN_2"; export const GCPHardwareSpec20240805InstanceSize = S.String; export interface GCPHardwareSpec20240805 { /** Storage capacity of instance data volumes expressed in gigabytes. Increase this number to add capacity. This value must be equal for all shards and node types. This value is not configurable on M0/M2/M5 clusters. MongoDB Cloud requires this parameter if you set `replicationSpecs`. If you specify a disk size below the minimum (10 GB), this parameter defaults to the minimum disk size value. Storage charge calculations depend on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require more storage space, consider upgrading your cluster to a higher tier. */ diskSizeGB?: number; /** Hardware specification for the instance sizes in this region in this shard. Each instance size has a default storage and memory capacity. Electable nodes and read-only nodes (known as "base nodes") within a single shard must use the same instance size. Analytics nodes can scale independently from base nodes within a shard. Both base nodes and analytics nodes can scale independently from their equivalents in other shards. */ instanceSize?: GCPHardwareSpec20240805InstanceSize | (string & {}); /** Number of nodes of the given type for MongoDB Cloud to deploy to the region. */ nodeCount?: number; } export const GCPHardwareSpec20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ diskSizeGB: S.optional(S.Number), instanceSize: S.optional(GCPHardwareSpec20240805InstanceSize), nodeCount: S.optional(S.Number), }), ).annotate({ identifier: "GCPHardwareSpec20240805", }) as any as S.Schema; /** Hardware specification for the instances in this M0/M2/M5 tier cluster. */ export type TenantHardwareSpec20240805InputInstanceSize = "M0" | "M2" | "M5"; export const TenantHardwareSpec20240805InputInstanceSize = S.String; export interface TenantHardwareSpec20240805Input { /** Storage capacity of instance data volumes expressed in gigabytes. Increase this number to add capacity. This value must be equal for all shards and node types. This value is not configurable on M0/M2/M5 clusters. MongoDB Cloud requires this parameter if you set `replicationSpecs`. If you specify a disk size below the minimum (10 GB), this parameter defaults to the minimum disk size value. Storage charge calculations depend on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require more storage space, consider upgrading your cluster to a higher tier. */ diskSizeGB?: number; /** Hardware specification for the instances in this M0/M2/M5 tier cluster. */ instanceSize?: TenantHardwareSpec20240805InputInstanceSize | (string & {}); } export const TenantHardwareSpec20240805Input = /*@__PURE__*/ S.suspend(() => S.Struct({ diskSizeGB: S.optional(S.Number), instanceSize: S.optional(TenantHardwareSpec20240805InputInstanceSize), }), ).annotate({ identifier: "TenantHardwareSpec20240805Input", }) as any as S.Schema; /** Hardware specifications for all electable nodes deployed in the region. Electable nodes can become the primary and can enable local reads. If you don't specify this option, MongoDB Cloud deploys no electable nodes to the region. */ export type HardwareSpec20240805Input = | AWSHardwareSpec20240805Input | AzureHardwareSpec20240805 | GCPHardwareSpec20240805 | TenantHardwareSpec20240805Input; export const HardwareSpec20240805Input = S.Unknown as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ export type AWSRegionConfig20240805InputProviderName = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const AWSRegionConfig20240805InputProviderName = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type AWSRegionConfig20240805InputRegionNameCase0 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const AWSRegionConfig20240805InputRegionNameCase0 = S.String; /** Microsoft Azure Regions. */ export type AWSRegionConfig20240805InputRegionNameCase1 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AWSRegionConfig20240805InputRegionNameCase1 = S.String; /** Google Compute Regions. */ export type AWSRegionConfig20240805InputRegionNameCase2 = | "EASTERN_US" | "EASTERN_US_AW" | "US_EAST_4" | "US_EAST_4_AW" | "US_EAST_5" | "US_EAST_5_AW" | "US_WEST_2" | "US_WEST_2_AW" | "US_WEST_3" | "US_WEST_3_AW" | "US_WEST_4" | "US_WEST_4_AW" | "US_SOUTH_1" | "US_SOUTH_1_AW" | "CENTRAL_US" | "CENTRAL_US_AW" | "WESTERN_US" | "WESTERN_US_AW" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "WESTERN_EUROPE" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_8" | "EUROPE_WEST_9" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "EUROPE_SOUTHWEST_1" | "EUROPE_CENTRAL_2" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "AFRICA_SOUTH_1" | "EASTERN_ASIA_PACIFIC" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTHEASTERN_ASIA_PACIFIC" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2"; export const AWSRegionConfig20240805InputRegionNameCase2 = S.String; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ export type AWSRegionConfig20240805InputRegionName = | AWSRegionConfig20240805InputRegionNameCase0 | AWSRegionConfig20240805InputRegionNameCase1 | AWSRegionConfig20240805InputRegionNameCase2; export const AWSRegionConfig20240805InputRegionName = S.Unknown as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data in one region on the specified MongoDB database. */ export interface AWSRegionConfig20240805Input { analyticsAutoScaling?: AdvancedAutoScalingSettingsInput; autoScaling?: AdvancedAutoScalingSettingsInput; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: | AWSRegionConfig20240805InputBackingProviderName | (string & {}); electableSpecs?: HardwareSpec20240805Input; /** Precedence is given to this region when a primary election occurs. If your `regionConfigs` has only `readOnlySpecs`, `analyticsSpecs`, or both, set this value to `0`. If you have multiple `regionConfigs` objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is `7`. **Example:** If you have three regions, their priorities would be `7`, `6`, and `5` respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be `4` and `3` respectively. */ priority?: number; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ providerName?: AWSRegionConfig20240805InputProviderName | (string & {}); /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ regionName?: AWSRegionConfig20240805InputRegionName; } export const AWSRegionConfig20240805Input = /*@__PURE__*/ S.suspend(() => S.Struct({ analyticsAutoScaling: S.optional(AdvancedAutoScalingSettingsInput), autoScaling: S.optional(AdvancedAutoScalingSettingsInput), backingProviderName: S.optional( AWSRegionConfig20240805InputBackingProviderName, ), electableSpecs: S.optional(HardwareSpec20240805Input), priority: S.optional(S.Number), providerName: S.optional(AWSRegionConfig20240805InputProviderName), regionName: S.optional(AWSRegionConfig20240805InputRegionName), }), ).annotate({ identifier: "AWSRegionConfig20240805Input", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type AzureRegionConfig20240805InputBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const AzureRegionConfig20240805InputBackingProviderName = S.String; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ export type AzureRegionConfig20240805InputProviderName = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const AzureRegionConfig20240805InputProviderName = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type AzureRegionConfig20240805InputRegionNameCase0 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const AzureRegionConfig20240805InputRegionNameCase0 = S.String; /** Microsoft Azure Regions. */ export type AzureRegionConfig20240805InputRegionNameCase1 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AzureRegionConfig20240805InputRegionNameCase1 = S.String; /** Google Compute Regions. */ export type AzureRegionConfig20240805InputRegionNameCase2 = | "EASTERN_US" | "EASTERN_US_AW" | "US_EAST_4" | "US_EAST_4_AW" | "US_EAST_5" | "US_EAST_5_AW" | "US_WEST_2" | "US_WEST_2_AW" | "US_WEST_3" | "US_WEST_3_AW" | "US_WEST_4" | "US_WEST_4_AW" | "US_SOUTH_1" | "US_SOUTH_1_AW" | "CENTRAL_US" | "CENTRAL_US_AW" | "WESTERN_US" | "WESTERN_US_AW" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "WESTERN_EUROPE" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_8" | "EUROPE_WEST_9" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "EUROPE_SOUTHWEST_1" | "EUROPE_CENTRAL_2" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "AFRICA_SOUTH_1" | "EASTERN_ASIA_PACIFIC" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTHEASTERN_ASIA_PACIFIC" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2"; export const AzureRegionConfig20240805InputRegionNameCase2 = S.String; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ export type AzureRegionConfig20240805InputRegionName = | AzureRegionConfig20240805InputRegionNameCase0 | AzureRegionConfig20240805InputRegionNameCase1 | AzureRegionConfig20240805InputRegionNameCase2; export const AzureRegionConfig20240805InputRegionName = S.Unknown as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data in one region on the specified MongoDB database. */ export interface AzureRegionConfig20240805Input { analyticsAutoScaling?: AdvancedAutoScalingSettingsInput; autoScaling?: AdvancedAutoScalingSettingsInput; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: | AzureRegionConfig20240805InputBackingProviderName | (string & {}); electableSpecs?: HardwareSpec20240805Input; /** Precedence is given to this region when a primary election occurs. If your `regionConfigs` has only `readOnlySpecs`, `analyticsSpecs`, or both, set this value to `0`. If you have multiple `regionConfigs` objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is `7`. **Example:** If you have three regions, their priorities would be `7`, `6`, and `5` respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be `4` and `3` respectively. */ priority?: number; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ providerName?: AzureRegionConfig20240805InputProviderName | (string & {}); /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ regionName?: AzureRegionConfig20240805InputRegionName; } export const AzureRegionConfig20240805Input = /*@__PURE__*/ S.suspend(() => S.Struct({ analyticsAutoScaling: S.optional(AdvancedAutoScalingSettingsInput), autoScaling: S.optional(AdvancedAutoScalingSettingsInput), backingProviderName: S.optional( AzureRegionConfig20240805InputBackingProviderName, ), electableSpecs: S.optional(HardwareSpec20240805Input), priority: S.optional(S.Number), providerName: S.optional(AzureRegionConfig20240805InputProviderName), regionName: S.optional(AzureRegionConfig20240805InputRegionName), }), ).annotate({ identifier: "AzureRegionConfig20240805Input", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type GCPRegionConfig20240805InputBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const GCPRegionConfig20240805InputBackingProviderName = S.String; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ export type GCPRegionConfig20240805InputProviderName = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const GCPRegionConfig20240805InputProviderName = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type GCPRegionConfig20240805InputRegionNameCase0 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const GCPRegionConfig20240805InputRegionNameCase0 = S.String; /** Microsoft Azure Regions. */ export type GCPRegionConfig20240805InputRegionNameCase1 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const GCPRegionConfig20240805InputRegionNameCase1 = S.String; /** Google Compute Regions. */ export type GCPRegionConfig20240805InputRegionNameCase2 = | "EASTERN_US" | "EASTERN_US_AW" | "US_EAST_4" | "US_EAST_4_AW" | "US_EAST_5" | "US_EAST_5_AW" | "US_WEST_2" | "US_WEST_2_AW" | "US_WEST_3" | "US_WEST_3_AW" | "US_WEST_4" | "US_WEST_4_AW" | "US_SOUTH_1" | "US_SOUTH_1_AW" | "CENTRAL_US" | "CENTRAL_US_AW" | "WESTERN_US" | "WESTERN_US_AW" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "WESTERN_EUROPE" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_8" | "EUROPE_WEST_9" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "EUROPE_SOUTHWEST_1" | "EUROPE_CENTRAL_2" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "AFRICA_SOUTH_1" | "EASTERN_ASIA_PACIFIC" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTHEASTERN_ASIA_PACIFIC" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2"; export const GCPRegionConfig20240805InputRegionNameCase2 = S.String; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ export type GCPRegionConfig20240805InputRegionName = | GCPRegionConfig20240805InputRegionNameCase0 | GCPRegionConfig20240805InputRegionNameCase1 | GCPRegionConfig20240805InputRegionNameCase2; export const GCPRegionConfig20240805InputRegionName = S.Unknown as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data in one region on the specified MongoDB database. */ export interface GCPRegionConfig20240805Input { analyticsAutoScaling?: AdvancedAutoScalingSettingsInput; autoScaling?: AdvancedAutoScalingSettingsInput; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: | GCPRegionConfig20240805InputBackingProviderName | (string & {}); electableSpecs?: HardwareSpec20240805Input; /** Precedence is given to this region when a primary election occurs. If your `regionConfigs` has only `readOnlySpecs`, `analyticsSpecs`, or both, set this value to `0`. If you have multiple `regionConfigs` objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is `7`. **Example:** If you have three regions, their priorities would be `7`, `6`, and `5` respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be `4` and `3` respectively. */ priority?: number; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ providerName?: GCPRegionConfig20240805InputProviderName | (string & {}); /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ regionName?: GCPRegionConfig20240805InputRegionName; } export const GCPRegionConfig20240805Input = /*@__PURE__*/ S.suspend(() => S.Struct({ analyticsAutoScaling: S.optional(AdvancedAutoScalingSettingsInput), autoScaling: S.optional(AdvancedAutoScalingSettingsInput), backingProviderName: S.optional( GCPRegionConfig20240805InputBackingProviderName, ), electableSpecs: S.optional(HardwareSpec20240805Input), priority: S.optional(S.Number), providerName: S.optional(GCPRegionConfig20240805InputProviderName), regionName: S.optional(GCPRegionConfig20240805InputRegionName), }), ).annotate({ identifier: "GCPRegionConfig20240805Input", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type TenantRegionConfig20240805InputBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const TenantRegionConfig20240805InputBackingProviderName = S.String; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ export type TenantRegionConfig20240805InputProviderName = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const TenantRegionConfig20240805InputProviderName = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type TenantRegionConfig20240805InputRegionNameCase0 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const TenantRegionConfig20240805InputRegionNameCase0 = S.String; /** Microsoft Azure Regions. */ export type TenantRegionConfig20240805InputRegionNameCase1 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const TenantRegionConfig20240805InputRegionNameCase1 = S.String; /** Google Compute Regions. */ export type TenantRegionConfig20240805InputRegionNameCase2 = | "EASTERN_US" | "EASTERN_US_AW" | "US_EAST_4" | "US_EAST_4_AW" | "US_EAST_5" | "US_EAST_5_AW" | "US_WEST_2" | "US_WEST_2_AW" | "US_WEST_3" | "US_WEST_3_AW" | "US_WEST_4" | "US_WEST_4_AW" | "US_SOUTH_1" | "US_SOUTH_1_AW" | "CENTRAL_US" | "CENTRAL_US_AW" | "WESTERN_US" | "WESTERN_US_AW" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "WESTERN_EUROPE" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_8" | "EUROPE_WEST_9" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "EUROPE_SOUTHWEST_1" | "EUROPE_CENTRAL_2" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "AFRICA_SOUTH_1" | "EASTERN_ASIA_PACIFIC" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTHEASTERN_ASIA_PACIFIC" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2"; export const TenantRegionConfig20240805InputRegionNameCase2 = S.String; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ export type TenantRegionConfig20240805InputRegionName = | TenantRegionConfig20240805InputRegionNameCase0 | TenantRegionConfig20240805InputRegionNameCase1 | TenantRegionConfig20240805InputRegionNameCase2; export const TenantRegionConfig20240805InputRegionName = S.Unknown as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data in one region on the specified MongoDB database. */ export interface TenantRegionConfig20240805Input { analyticsAutoScaling?: AdvancedAutoScalingSettingsInput; autoScaling?: AdvancedAutoScalingSettingsInput; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: | TenantRegionConfig20240805InputBackingProviderName | (string & {}); electableSpecs?: HardwareSpec20240805Input; /** Precedence is given to this region when a primary election occurs. If your `regionConfigs` has only `readOnlySpecs`, `analyticsSpecs`, or both, set this value to `0`. If you have multiple `regionConfigs` objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is `7`. **Example:** If you have three regions, their priorities would be `7`, `6`, and `5` respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be `4` and `3` respectively. */ priority?: number; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ providerName?: TenantRegionConfig20240805InputProviderName | (string & {}); /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ regionName?: TenantRegionConfig20240805InputRegionName; } export const TenantRegionConfig20240805Input = /*@__PURE__*/ S.suspend(() => S.Struct({ analyticsAutoScaling: S.optional(AdvancedAutoScalingSettingsInput), autoScaling: S.optional(AdvancedAutoScalingSettingsInput), backingProviderName: S.optional( TenantRegionConfig20240805InputBackingProviderName, ), electableSpecs: S.optional(HardwareSpec20240805Input), priority: S.optional(S.Number), providerName: S.optional(TenantRegionConfig20240805InputProviderName), regionName: S.optional(TenantRegionConfig20240805InputRegionName), }), ).annotate({ identifier: "TenantRegionConfig20240805Input", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisions the hosts. */ export type CloudRegionConfig20240805Input = | AWSRegionConfig20240805Input | AzureRegionConfig20240805Input | GCPRegionConfig20240805Input | TenantRegionConfig20240805Input; export const CloudRegionConfig20240805Input = S.Unknown as any as S.Schema; /** Hardware specifications for nodes set for a given region. Each `regionConfigs` object must be unique by region and cloud provider within the `replicationSpec`. Each `regionConfigs` object describes the region's priority in elections and the number and type of MongoDB nodes that MongoDB Cloud deploys to the region. Each `regionConfigs` object must have either an `analyticsSpecs` object, `electableSpecs` object, or `readOnlySpecs` object. Tenant clusters only require `electableSpecs`. Dedicated clusters can specify any of these specifications, but must have at least one `electableSpecs` object within a `replicationSpec`. **Example:** If you set `replicationSpecs[n].regionConfigs[m].analyticsSpecs.instanceSize` : `M30`, set `replicationSpecs[n].regionConfigs[m].electableSpecs.instanceSize` : `M30` if you have electable nodes and `replicationSpecs[n].regionConfigs[m].readOnlySpecs.instanceSize` : `M30` if you have read-only nodes. */ export type ReplicationSpec20240805InputRegionConfigsList = Array; export const ReplicationSpec20240805InputRegionConfigsList = /*@__PURE__*/ S.Array( CloudRegionConfig20240805Input, ) as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data on the specified MongoDB database. */ export interface ReplicationSpec20240805Input { /** Hardware specifications for nodes set for a given region. Each `regionConfigs` object must be unique by region and cloud provider within the `replicationSpec`. Each `regionConfigs` object describes the region's priority in elections and the number and type of MongoDB nodes that MongoDB Cloud deploys to the region. Each `regionConfigs` object must have either an `analyticsSpecs` object, `electableSpecs` object, or `readOnlySpecs` object. Tenant clusters only require `electableSpecs`. Dedicated clusters can specify any of these specifications, but must have at least one `electableSpecs` object within a `replicationSpec`. **Example:** If you set `replicationSpecs[n].regionConfigs[m].analyticsSpecs.instanceSize` : `M30`, set `replicationSpecs[n].regionConfigs[m].electableSpecs.instanceSize` : `M30` if you have electable nodes and `replicationSpecs[n].regionConfigs[m].readOnlySpecs.instanceSize` : `M30` if you have read-only nodes. */ regionConfigs?: ReplicationSpec20240805InputRegionConfigsList; /** Human-readable label that describes the zone this shard belongs to in a Global Cluster. Provide this value only if `clusterType` : `GEOSHARDED` but not `selfManagedSharding` : `true`. */ zoneName?: string; } export const ReplicationSpec20240805Input = /*@__PURE__*/ S.suspend(() => S.Struct({ regionConfigs: S.optional(ReplicationSpec20240805InputRegionConfigsList), zoneName: S.optional(S.String), }), ).annotate({ identifier: "ReplicationSpec20240805Input", }) as any as S.Schema; /** List of settings that configure your cluster regions. This array has one object per shard representing node configurations in each shard. For replica sets there is only one object representing node configurations. */ export type CreateGroupClusterRequestReplicationSpecsList = Array; export const CreateGroupClusterRequestReplicationSpecsList = /*@__PURE__*/ S.Array( ReplicationSpec20240805Input, ) as any as S.Schema; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ export type CreateGroupClusterRequestRootCertType = "ISRGROOTX1"; export const CreateGroupClusterRequestRootCertType = S.String; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ export type CreateGroupClusterRequestTagsList = Array; export const CreateGroupClusterRequestTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ export type CreateGroupClusterRequestVersionReleaseSystem = | "LTS" | "CONTINUOUS"; export const CreateGroupClusterRequestVersionReleaseSystem = S.String; export interface CreateGroupClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** If reconfiguration is necessary to regain a primary due to a regional outage, submit this field alongside your topology reconfiguration to request a new regional outage resistant topology. Forced reconfigurations during an outage of the majority of electable nodes carry a risk of data loss if replicated writes (even majority committed writes) have not been replicated to the new primary node. MongoDB Atlas docs contain more information. To proceed with an operation which carries that risk, set `acceptDataRisksAndForceReplicaSetReconfig` to the current date. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ acceptDataRisksAndForceReplicaSetReconfig?: string; /** Governs adaptive capacity behavior of Azure nodes in single-cloud Azure clusters or multi-cloud clusters that include Azure nodes. Adaptive capacity enables fallback hardware selection when the primary instance family is unavailable. ``ENABLED`` means the cluster explicitly opts in to adaptive capacity. ``DISABLED`` means the cluster explicitly opts out; the cluster receives capacity errors instead of being placed on fallback hardware. ``null`` means the field is unset; Azure clusters use adaptive capacity by default when the feature is enabled at the group level. Setting this field for single-cloud AWS or GCP clusters is a no-op. */ adaptiveCapacity?: | CreateGroupClusterRequestAdaptiveCapacity | (string & {}) | null; advancedConfiguration?: ApiAtlasClusterAdvancedConfigurationView; /** Flag that indicates whether the cluster can perform backups. If set to `true`, the cluster can perform backups. You must set this value to `true` for NVMe clusters. Backup uses Cloud Backups for dedicated clusters and [Shared Cluster Backups](https://docs.atlas.mongodb.com/backup/shared-tier/overview/) for tenant clusters. If set to `false`, the cluster doesn't use backups. */ backupEnabled?: boolean; biConnector?: BiConnector; /** Configuration of nodes that comprise the cluster. */ clusterType?: CreateGroupClusterRequestClusterType | (string & {}); /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ configServerManagementMode?: | CreateGroupClusterRequestConfigServerManagementMode | (string & {}); /** Disk warming mode selection. */ diskWarmingMode?: CreateGroupClusterRequestDiskWarmingMode | (string & {}); /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ encryptionAtRestProvider?: | CreateGroupClusterRequestEncryptionAtRestProvider | (string & {}); /** Set this field to configure the Sharding Management Mode when creating a new Global Cluster. When set to false, the management mode is set to Atlas-Managed Sharding. This mode fully manages the sharding of your Global Cluster and is built to provide a seamless deployment experience. When set to true, the management mode is set to Self-Managed Sharding. This mode leaves the management of shards in your hands and is built to provide an advanced and flexible deployment experience. This setting cannot be changed once the cluster is deployed. */ globalClusterSelfManagedSharding?: boolean; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ labels?: CreateGroupClusterRequestLabelsList; /** MongoDB major version of the cluster. Set to the binary major version. On creation: Choose from the available versions of MongoDB, or leave unspecified for the current recommended default in the MongoDB Cloud platform. The recommended version is a recent Long Term Support version. The default is not guaranteed to be the most recently released version throughout the entire release cycle. For versions available in a specific project, see the linked documentation or use the API endpoint for [project LTS versions endpoint](#tag/Projects/operation/getProjectLtsVersions). On update: Increase version only by 1 major version at a time. If the cluster is pinned to a MongoDB feature compatibility version exactly one major version below the current MongoDB version, the MongoDB version can be downgraded to the previous major version. */ mongoDBMajorVersion?: string; /** Human-readable label that identifies the cluster. */ name?: string; /** Flag that indicates whether the cluster is paused. */ paused?: boolean; /** Flag that indicates whether the cluster uses continuous cloud backups. */ pitEnabled?: boolean; /** Enable or disable log redaction. This setting configures the ``mongod`` or ``mongos`` to redact any document field contents from a message accompanying a given log event before logging. This prevents the program from writing potentially sensitive data stored on the database to the diagnostic log. Metadata such as error or operation codes, line numbers, and source file names are still visible in the logs. Use ``redactClientLogData`` in conjunction with Encryption at Rest and TLS/SSL (Transport Encryption) to assist compliance with regulatory requirements. *Note*: changing this setting on a cluster will trigger a rolling restart as soon as the cluster is updated. */ redactClientLogData?: boolean; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ replicaSetScalingStrategy?: | CreateGroupClusterRequestReplicaSetScalingStrategy | (string & {}); /** List of settings that configure your cluster regions. This array has one object per shard representing node configurations in each shard. For replica sets there is only one object representing node configurations. */ replicationSpecs?: CreateGroupClusterRequestReplicationSpecsList; /** Flag that indicates whether the cluster retains backups. */ retainBackups?: boolean; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ rootCertType?: CreateGroupClusterRequestRootCertType | (string & {}); /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ tags?: CreateGroupClusterRequestTagsList; /** Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster. */ terminationProtectionEnabled?: boolean; /** Flag that indicates whether AWS time-based snapshot copies will be used instead of slower standard snapshot copies during fast Atlas cross-region initial syncs. This flag is only relevant for clusters containing AWS nodes. */ useAwsTimeBasedSnapshotCopyForFastInitialSync?: boolean; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ versionReleaseSystem?: | CreateGroupClusterRequestVersionReleaseSystem | (string & {}); } export const CreateGroupClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), acceptDataRisksAndForceReplicaSetReconfig: S.optional(S.String), adaptiveCapacity: S.optional( S.NullOr(CreateGroupClusterRequestAdaptiveCapacity), ), advancedConfiguration: S.optional(ApiAtlasClusterAdvancedConfigurationView), backupEnabled: S.optional(S.Boolean), biConnector: S.optional(BiConnector), clusterType: S.optional(CreateGroupClusterRequestClusterType), configServerManagementMode: S.optional( CreateGroupClusterRequestConfigServerManagementMode, ), diskWarmingMode: S.optional(CreateGroupClusterRequestDiskWarmingMode), encryptionAtRestProvider: S.optional( CreateGroupClusterRequestEncryptionAtRestProvider, ), globalClusterSelfManagedSharding: S.optional(S.Boolean), labels: S.optional(CreateGroupClusterRequestLabelsList), mongoDBMajorVersion: S.optional(S.String), name: S.optional(S.String), paused: S.optional(S.Boolean), pitEnabled: S.optional(S.Boolean), redactClientLogData: S.optional(S.Boolean), replicaSetScalingStrategy: S.optional( CreateGroupClusterRequestReplicaSetScalingStrategy, ), replicationSpecs: S.optional(CreateGroupClusterRequestReplicationSpecsList), retainBackups: S.optional(S.Boolean), rootCertType: S.optional(CreateGroupClusterRequestRootCertType), tags: S.optional(CreateGroupClusterRequestTagsList), terminationProtectionEnabled: S.optional(S.Boolean), useAwsTimeBasedSnapshotCopyForFastInitialSync: S.optional(S.Boolean), versionReleaseSystem: S.optional( CreateGroupClusterRequestVersionReleaseSystem, ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters", code: 200, accept: "application/vnd.atlas.2024-10-23+json", }), ), ).annotate({ identifier: "CreateGroupClusterRequest", }) as any as S.Schema; /** Governs adaptive capacity behavior of Azure nodes in single-cloud Azure clusters or multi-cloud clusters that include Azure nodes. Adaptive capacity enables fallback hardware selection when the primary instance family is unavailable. ``ENABLED`` means the cluster explicitly opts in to adaptive capacity. ``DISABLED`` means the cluster explicitly opts out; the cluster receives capacity errors instead of being placed on fallback hardware. ``null`` means the field is unset; Azure clusters use adaptive capacity by default when the feature is enabled at the group level. Setting this field for single-cloud AWS or GCP clusters is a no-op. */ export type ClusterDescription20240805AdaptiveCapacity = "ENABLED" | "DISABLED"; export const ClusterDescription20240805AdaptiveCapacity = S.String; /** Configuration of nodes that comprise the cluster. */ export type ClusterDescription20240805ClusterType = | "REPLICASET" | "SHARDED" | "GEOSHARDED"; export const ClusterDescription20240805ClusterType = S.String; /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ export type ClusterDescription20240805ConfigServerManagementMode = | "ATLAS_MANAGED" | "FIXED_TO_DEDICATED"; export const ClusterDescription20240805ConfigServerManagementMode = S.String; /** Describes a sharded cluster's config server type. */ export type ClusterDescription20240805ConfigServerType = | "DEDICATED" | "EMBEDDED"; export const ClusterDescription20240805ConfigServerType = S.String; /** Private endpoint-aware connection strings that use AWS-hosted clusters with Amazon Web Services (AWS) PrivateLink. Each key identifies an Amazon Web Services (AWS) interface endpoint. Each value identifies the related `mongodb://` connection string that you use to connect to MongoDB Cloud through the interface endpoint that the key names. */ export type ClusterConnectionStringsAwsPrivateLinkMap = { [key: string]: string | undefined; }; export const ClusterConnectionStringsAwsPrivateLinkMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Private endpoint-aware connection strings that use AWS-hosted clusters with Amazon Web Services (AWS) PrivateLink. Each key identifies an Amazon Web Services (AWS) interface endpoint. Each value identifies the related `mongodb://` connection string that you use to connect to Atlas through the interface endpoint that the key names. If the cluster uses an optimized connection string, `awsPrivateLinkSrv` contains the optimized connection string. If the cluster has the non-optimized (legacy) connection string, `awsPrivateLinkSrv` contains the non-optimized connection string even if an optimized connection string is also present. */ export type ClusterConnectionStringsAwsPrivateLinkSrvMap = { [key: string]: string | undefined; }; export const ClusterConnectionStringsAwsPrivateLinkSrvMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Cloud provider in which MongoDB Cloud deploys the private endpoint. */ export type ClusterDescriptionConnectionStringsPrivateEndpointEndpointProviderName = | "AWS" | "AZURE" | "GCP"; export const ClusterDescriptionConnectionStringsPrivateEndpointEndpointProviderName = S.String; /** Details of a private endpoint deployed for this cluster. */ export interface ClusterDescriptionConnectionStringsPrivateEndpointEndpoint { /** Unique string that the cloud provider uses to identify the private endpoint. */ endpointId?: string; /** Cloud provider in which MongoDB Cloud deploys the private endpoint. */ providerName?: ClusterDescriptionConnectionStringsPrivateEndpointEndpointProviderName; /** Region where the private endpoint is deployed. */ region?: string; } export const ClusterDescriptionConnectionStringsPrivateEndpointEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ endpointId: S.optional(S.String), providerName: S.optional( ClusterDescriptionConnectionStringsPrivateEndpointEndpointProviderName, ), region: S.optional(S.String), }), ).annotate({ identifier: "ClusterDescriptionConnectionStringsPrivateEndpointEndpoint", }) as any as S.Schema; /** List that contains the private endpoints through which you connect to MongoDB Cloud when you use `connectionStrings.privateEndpoint[n].connectionString` or `connectionStrings.privateEndpoint[n].srvConnectionString`. */ export type ClusterDescriptionConnectionStringsPrivateEndpointEndpointsList = Array; export const ClusterDescriptionConnectionStringsPrivateEndpointEndpointsList = /*@__PURE__*/ S.Array( ClusterDescriptionConnectionStringsPrivateEndpointEndpoint, ) as any as S.Schema; /** MongoDB process type to which your application connects. Use `MONGOD` for replica sets and `MONGOS` for sharded clusters. */ export type ClusterDescriptionConnectionStringsPrivateEndpointType = | "MONGOD" | "MONGOS"; export const ClusterDescriptionConnectionStringsPrivateEndpointType = S.String; /** Private endpoint-aware connection string that you can use to connect to this cluster through a private endpoint. */ export interface ClusterDescriptionConnectionStringsPrivateEndpoint { /** Private endpoint-aware connection string that uses the `mongodb://` protocol to connect to MongoDB Cloud through a private endpoint. */ connectionString?: string | Redacted.Redacted; /** List that contains the private endpoints through which you connect to MongoDB Cloud when you use `connectionStrings.privateEndpoint[n].connectionString` or `connectionStrings.privateEndpoint[n].srvConnectionString`. */ endpoints?: ClusterDescriptionConnectionStringsPrivateEndpointEndpointsList; /** Private endpoint-aware connection string that uses the `mongodb+srv://` protocol to connect to MongoDB Cloud through a private endpoint. The `mongodb+srv` protocol tells the driver to look up the seed list of hosts in the Domain Name System (DNS). This list synchronizes with the nodes in a cluster. If the connection string uses this Uniform Resource Identifier (URI) format, you don't need to append the seed list or change the Uniform Resource Identifier (URI) if the nodes change. Use this Uniform Resource Identifier (URI) format if your application supports it. If it doesn't, use `connectionStrings.privateEndpoint[n].connectionString`. */ srvConnectionString?: string; /** Private endpoint-aware connection string optimized for sharded clusters that uses the `mongodb+srv://` protocol to connect to MongoDB Cloud through a private endpoint. If the connection string uses this Uniform Resource Identifier (URI) format, you don't need to change the Uniform Resource Identifier (URI) if the nodes change. Use this Uniform Resource Identifier (URI) format if your application and Atlas cluster supports it. If it doesn't, use and consult the documentation for `connectionStrings.privateEndpoint[n].srvConnectionString`. */ srvShardOptimizedConnectionString?: string; /** MongoDB process type to which your application connects. Use `MONGOD` for replica sets and `MONGOS` for sharded clusters. */ type?: ClusterDescriptionConnectionStringsPrivateEndpointType; } export const ClusterDescriptionConnectionStringsPrivateEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ connectionString: S.optional(S.String.pipe(T.SensitiveValue({}))), endpoints: S.optional( ClusterDescriptionConnectionStringsPrivateEndpointEndpointsList, ), srvConnectionString: S.optional(S.String), srvShardOptimizedConnectionString: S.optional(S.String), type: S.optional(ClusterDescriptionConnectionStringsPrivateEndpointType), }), ).annotate({ identifier: "ClusterDescriptionConnectionStringsPrivateEndpoint", }) as any as S.Schema; /** List of private endpoint-aware connection strings that you can use to connect to this cluster through a private endpoint. This parameter returns only if you deployed a private endpoint to all regions to which you deployed this clusters' nodes. */ export type ClusterConnectionStringsPrivateEndpointList = Array; export const ClusterConnectionStringsPrivateEndpointList = /*@__PURE__*/ S.Array( ClusterDescriptionConnectionStringsPrivateEndpoint, ) as any as S.Schema; /** Collection of Uniform Resource Locators that point to the MongoDB database. */ export interface ClusterConnectionStrings { /** Private endpoint-aware connection strings that use AWS-hosted clusters with Amazon Web Services (AWS) PrivateLink. Each key identifies an Amazon Web Services (AWS) interface endpoint. Each value identifies the related `mongodb://` connection string that you use to connect to MongoDB Cloud through the interface endpoint that the key names. */ awsPrivateLink?: ClusterConnectionStringsAwsPrivateLinkMap; /** Private endpoint-aware connection strings that use AWS-hosted clusters with Amazon Web Services (AWS) PrivateLink. Each key identifies an Amazon Web Services (AWS) interface endpoint. Each value identifies the related `mongodb://` connection string that you use to connect to Atlas through the interface endpoint that the key names. If the cluster uses an optimized connection string, `awsPrivateLinkSrv` contains the optimized connection string. If the cluster has the non-optimized (legacy) connection string, `awsPrivateLinkSrv` contains the non-optimized connection string even if an optimized connection string is also present. */ awsPrivateLinkSrv?: ClusterConnectionStringsAwsPrivateLinkSrvMap; /** Network peering connection strings for each interface Virtual Private Cloud (VPC) endpoint that you configured to connect to this cluster. This connection string uses the `mongodb+srv://` protocol. The resource returns this parameter once someone creates a network peering connection to this cluster. This protocol tells the application to look up the host seed list in the Domain Name System (DNS). This list synchronizes with the nodes in a cluster. If the connection string uses this Uniform Resource Identifier (URI) format, you don't need to append the seed list or change the URI if the nodes change. Use this URI format if your driver supports it. If it doesn't, use `connectionStrings.private`. For Amazon Web Services (AWS) clusters, this resource returns this parameter only if you enable custom DNS. */ private?: string; /** List of private endpoint-aware connection strings that you can use to connect to this cluster through a private endpoint. This parameter returns only if you deployed a private endpoint to all regions to which you deployed this clusters' nodes. */ privateEndpoint?: ClusterConnectionStringsPrivateEndpointList; /** Network peering connection strings for each interface Virtual Private Cloud (VPC) endpoint that you configured to connect to this cluster. This connection string uses the `mongodb+srv://` protocol. The resource returns this parameter when someone creates a network peering connection to this cluster. This protocol tells the application to look up the host seed list in the Domain Name System (DNS). This list synchronizes with the nodes in a cluster. If the connection string uses this Uniform Resource Identifier (URI) format, you don't need to append the seed list or change the Uniform Resource Identifier (URI) if the nodes change. Use this Uniform Resource Identifier (URI) format if your driver supports it. If it doesn't, use `connectionStrings.private`. For Amazon Web Services (AWS) clusters, this parameter returns only if you [enable custom DNS](https://docs.atlas.mongodb.com/reference/api/aws-custom-dns-update/). */ privateSrv?: string; /** Public connection string that you can use to connect to this cluster. This connection string uses the `mongodb://` protocol. */ standard?: string; /** Public connection string that you can use to connect to this cluster. This connection string uses the `mongodb+srv://` protocol. */ standardSrv?: string; } export const ClusterConnectionStrings = /*@__PURE__*/ S.suspend(() => S.Struct({ awsPrivateLink: S.optional(ClusterConnectionStringsAwsPrivateLinkMap), awsPrivateLinkSrv: S.optional(ClusterConnectionStringsAwsPrivateLinkSrvMap), private: S.optional(S.String), privateEndpoint: S.optional(ClusterConnectionStringsPrivateEndpointList), privateSrv: S.optional(S.String), standard: S.optional(S.String), standardSrv: S.optional(S.String), }), ).annotate({ identifier: "ClusterConnectionStrings", }) as any as S.Schema; /** Disk warming mode selection. */ export type ClusterDescription20240805DiskWarmingMode = | "FULLY_WARMED" | "VISIBLE_EARLIER" | "ENHANCED_FULLY_WARMED"; export const ClusterDescription20240805DiskWarmingMode = S.String; export type BaseCloudProviderInstanceSizeCase0 = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M100" | "M140" | "M200" | "M300" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "R700" | "M40_NVME" | "M50_NVME" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M400_NVME" | "M30_GEN_2" | "M40_GEN_2" | "M50_GEN_2" | "M60_GEN_2" | "M80_GEN_2" | "M140_GEN_2" | "M200_GEN_2" | "M300_GEN_2" | "R40_GEN_2" | "R50_GEN_2" | "R60_GEN_2" | "R80_GEN_2" | "R200_GEN_2" | "R300_GEN_2" | "R400_GEN_2" | "R700_GEN_2" | "M40_NVME_GEN_2" | "M50_NVME_GEN_2" | "M60_NVME_GEN_2" | "M80_NVME_GEN_2" | "M200_NVME_GEN_2" | "M400_NVME_GEN_2"; export const BaseCloudProviderInstanceSizeCase0 = S.String; export type BaseCloudProviderInstanceSizeCase1 = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const BaseCloudProviderInstanceSizeCase1 = S.String; export type BaseCloudProviderInstanceSizeCase2 = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M140" | "M200" | "M250" | "M300" | "M400" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "R600" | "M30_GEN_2" | "M40_GEN_2" | "M50_GEN_2" | "M60_GEN_2" | "M80_GEN_2" | "M140_GEN_2" | "M200_GEN_2" | "R40_GEN_2" | "R50_GEN_2" | "R60_GEN_2" | "R80_GEN_2" | "R200_GEN_2" | "R300_GEN_2" | "R400_GEN_2"; export const BaseCloudProviderInstanceSizeCase2 = S.String; /** Instance size boundary to which your cluster can automatically scale. */ export type BaseCloudProviderInstanceSize = | BaseCloudProviderInstanceSizeCase0 | BaseCloudProviderInstanceSizeCase1 | BaseCloudProviderInstanceSizeCase2; export const BaseCloudProviderInstanceSize = S.Unknown as any as S.Schema; /** Options that determine how this cluster handles CPU scaling. */ export interface AdvancedComputeAutoScaling { /** Flag that indicates whether instance size reactive auto-scaling is enabled. - Set to `true` to enable instance size reactive auto-scaling. If enabled, you must specify a value for `replicationSpecs[n].regionConfigs[m].autoScaling.compute.maxInstanceSize`. - Set to `false` to disable instance size reactive auto-scaling. */ enabled?: boolean; maxInstanceSize?: BaseCloudProviderInstanceSize; minInstanceSize?: BaseCloudProviderInstanceSize; /** Flag that indicates whether the instance size may scale down via reactive auto-scaling. MongoDB Cloud requires this parameter if `replicationSpecs[n].regionConfigs[m].autoScaling.compute.enabled` is `true`. If you enable this option, specify a value for `replicationSpecs[n].regionConfigs[m].autoScaling.compute.minInstanceSize`. */ scaleDownEnabled?: boolean; } export const AdvancedComputeAutoScaling = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), maxInstanceSize: S.optional(BaseCloudProviderInstanceSize), minInstanceSize: S.optional(BaseCloudProviderInstanceSize), scaleDownEnabled: S.optional(S.Boolean), }), ).annotate({ identifier: "AdvancedComputeAutoScaling", }) as any as S.Schema; /** Options that determine how this cluster handles resource scaling. */ export interface AdvancedAutoScalingSettings { compute?: AdvancedComputeAutoScaling; diskGB?: DiskGBAutoScaling; } export const AdvancedAutoScalingSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ compute: S.optional(AdvancedComputeAutoScaling), diskGB: S.optional(DiskGBAutoScaling), }), ).annotate({ identifier: "AdvancedAutoScalingSettings", }) as any as S.Schema; /** Type of storage you want to attach to your AWS-provisioned cluster. - `STANDARD` volume types can't exceed the default input/output operations per second (IOPS) rate for the selected volume size. - `PROVISIONED` volume types must fall within the allowable IOPS range for the selected volume size. - `HIGH_PERFORMANCE` volume types use IO2 EBS volumes and must fall within the allowable IOPS range for the selected volume size. NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type AWSHardwareSpec20240805EbsVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const AWSHardwareSpec20240805EbsVolumeType = S.String; /** Hardware specification for the instance sizes in this region in this shard. Each instance size has a default storage and memory capacity. Electable nodes and read-only nodes (known as "base nodes") within a single shard must use the same instance size. Analytics nodes can scale independently from base nodes within a shard. Both base nodes and analytics nodes can scale independently from their equivalents in other shards. */ export type AWSHardwareSpec20240805InstanceSize = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M100" | "M140" | "M200" | "M300" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "R700" | "M40_NVME" | "M50_NVME" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M400_NVME" | "M30_GEN_2" | "M40_GEN_2" | "M50_GEN_2" | "M60_GEN_2" | "M80_GEN_2" | "M140_GEN_2" | "M200_GEN_2" | "M300_GEN_2" | "R40_GEN_2" | "R50_GEN_2" | "R60_GEN_2" | "R80_GEN_2" | "R200_GEN_2" | "R300_GEN_2" | "R400_GEN_2" | "R700_GEN_2" | "M40_NVME_GEN_2" | "M50_NVME_GEN_2" | "M60_NVME_GEN_2" | "M80_NVME_GEN_2" | "M200_NVME_GEN_2" | "M400_NVME_GEN_2"; export const AWSHardwareSpec20240805InstanceSize = S.String; /** Hardware specifications for nodes deployed in the region. */ export interface AWSHardwareSpec20240805 { /** Target IOPS (Input/Output Operations Per Second) desired for storage attached to this hardware. You can set different IOPS values on different shards when provisioned IOPS are supported. Change this parameter if you: - set `replicationSpecs[n].regionConfigs[m].providerName` to `AWS`. - set `replicationSpecs[n].regionConfigs[m].electableSpecs.instanceSize` to `M30` or greater (not including `Mxx_NVME` tiers). - set `replicationSpecs[n].regionConfigs[m].electableSpecs.ebsVolumeType` to `PROVISIONED`. The maximum input/output operations per second (IOPS) depend on the selected `.instanceSize` and `.diskSizeGB`. This parameter defaults to the cluster tier's standard IOPS value. Changing this value impacts cluster cost. MongoDB Cloud enforces minimum ratios of storage capacity to system memory for given cluster tiers. This keeps cluster performance consistent with large datasets. - Instance sizes `M10` to `M40` have a ratio of disk capacity to system memory of 60:1. - Instance sizes greater than `M40` have a ratio of 120:1. */ diskIOPS?: number; /** Storage capacity of instance data volumes expressed in gigabytes. Increase this number to add capacity. This value must be equal for all shards and node types. This value is not configurable on M0/M2/M5 clusters. MongoDB Cloud requires this parameter if you set `replicationSpecs`. If you specify a disk size below the minimum (10 GB), this parameter defaults to the minimum disk size value. Storage charge calculations depend on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require more storage space, consider upgrading your cluster to a higher tier. */ diskSizeGB?: number; /** Target throughput desired for storage attached to this hardware. Only returned for Gen 2 instance sizes with Standard (GP3) volume type. */ diskThroughput?: number; /** Type of storage you want to attach to your AWS-provisioned cluster. - `STANDARD` volume types can't exceed the default input/output operations per second (IOPS) rate for the selected volume size. - `PROVISIONED` volume types must fall within the allowable IOPS range for the selected volume size. - `HIGH_PERFORMANCE` volume types use IO2 EBS volumes and must fall within the allowable IOPS range for the selected volume size. NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ ebsVolumeType?: AWSHardwareSpec20240805EbsVolumeType; /** Hardware specification for the instance sizes in this region in this shard. Each instance size has a default storage and memory capacity. Electable nodes and read-only nodes (known as "base nodes") within a single shard must use the same instance size. Analytics nodes can scale independently from base nodes within a shard. Both base nodes and analytics nodes can scale independently from their equivalents in other shards. */ instanceSize?: AWSHardwareSpec20240805InstanceSize; /** Number of nodes of the given type for MongoDB Cloud to deploy to the region. */ nodeCount?: number; } export const AWSHardwareSpec20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ diskIOPS: S.optional(S.Number), diskSizeGB: S.optional(S.Number), diskThroughput: S.optional(S.Number), ebsVolumeType: S.optional(AWSHardwareSpec20240805EbsVolumeType), instanceSize: S.optional(AWSHardwareSpec20240805InstanceSize), nodeCount: S.optional(S.Number), }), ).annotate({ identifier: "AWSHardwareSpec20240805", }) as any as S.Schema; /** The current hardware specifications for read only nodes in the region. */ export type DedicatedHardwareSpec20240805 = | AWSHardwareSpec20240805 | AzureHardwareSpec20240805 | GCPHardwareSpec20240805; export const DedicatedHardwareSpec20240805 = S.Unknown as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type AWSRegionConfig20240805BackingProviderName = | "AWS" | "GCP" | "AZURE"; export const AWSRegionConfig20240805BackingProviderName = S.String; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ export type TenantHardwareSpec20240805EffectiveInstanceSize = | "FLEX" | "M2" | "M5" | "M0"; export const TenantHardwareSpec20240805EffectiveInstanceSize = S.String; /** Hardware specification for the instances in this M0/M2/M5 tier cluster. */ export type TenantHardwareSpec20240805InstanceSize = "M0" | "M2" | "M5"; export const TenantHardwareSpec20240805InstanceSize = S.String; export interface TenantHardwareSpec20240805 { /** Storage capacity of instance data volumes expressed in gigabytes. Increase this number to add capacity. This value must be equal for all shards and node types. This value is not configurable on M0/M2/M5 clusters. MongoDB Cloud requires this parameter if you set `replicationSpecs`. If you specify a disk size below the minimum (10 GB), this parameter defaults to the minimum disk size value. Storage charge calculations depend on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require more storage space, consider upgrading your cluster to a higher tier. */ diskSizeGB?: number; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ effectiveInstanceSize?: TenantHardwareSpec20240805EffectiveInstanceSize; /** Hardware specification for the instances in this M0/M2/M5 tier cluster. */ instanceSize?: TenantHardwareSpec20240805InstanceSize; } export const TenantHardwareSpec20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ diskSizeGB: S.optional(S.Number), effectiveInstanceSize: S.optional( TenantHardwareSpec20240805EffectiveInstanceSize, ), instanceSize: S.optional(TenantHardwareSpec20240805InstanceSize), }), ).annotate({ identifier: "TenantHardwareSpec20240805", }) as any as S.Schema; /** Hardware specifications for all electable nodes deployed in the region. Electable nodes can become the primary and can enable local reads. If you don't specify this option, MongoDB Cloud deploys no electable nodes to the region. */ export type HardwareSpec20240805 = | AWSHardwareSpec20240805 | AzureHardwareSpec20240805 | GCPHardwareSpec20240805 | TenantHardwareSpec20240805; export const HardwareSpec20240805 = S.Unknown as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ export type AWSRegionConfig20240805ProviderName = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const AWSRegionConfig20240805ProviderName = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type AWSRegionConfig20240805RegionNameCase0 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const AWSRegionConfig20240805RegionNameCase0 = S.String; /** Microsoft Azure Regions. */ export type AWSRegionConfig20240805RegionNameCase1 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AWSRegionConfig20240805RegionNameCase1 = S.String; /** Google Compute Regions. */ export type AWSRegionConfig20240805RegionNameCase2 = | "EASTERN_US" | "EASTERN_US_AW" | "US_EAST_4" | "US_EAST_4_AW" | "US_EAST_5" | "US_EAST_5_AW" | "US_WEST_2" | "US_WEST_2_AW" | "US_WEST_3" | "US_WEST_3_AW" | "US_WEST_4" | "US_WEST_4_AW" | "US_SOUTH_1" | "US_SOUTH_1_AW" | "CENTRAL_US" | "CENTRAL_US_AW" | "WESTERN_US" | "WESTERN_US_AW" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "WESTERN_EUROPE" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_8" | "EUROPE_WEST_9" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "EUROPE_SOUTHWEST_1" | "EUROPE_CENTRAL_2" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "AFRICA_SOUTH_1" | "EASTERN_ASIA_PACIFIC" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTHEASTERN_ASIA_PACIFIC" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2"; export const AWSRegionConfig20240805RegionNameCase2 = S.String; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ export type AWSRegionConfig20240805RegionName = | AWSRegionConfig20240805RegionNameCase0 | AWSRegionConfig20240805RegionNameCase1 | AWSRegionConfig20240805RegionNameCase2; export const AWSRegionConfig20240805RegionName = S.Unknown as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data in one region on the specified MongoDB database. */ export interface AWSRegionConfig20240805 { analyticsAutoScaling?: AdvancedAutoScalingSettings; analyticsSpecs?: DedicatedHardwareSpec20240805; autoScaling?: AdvancedAutoScalingSettings; effectiveAnalyticsSpecs?: DedicatedHardwareSpec20240805; effectiveElectableSpecs?: DedicatedHardwareSpec20240805; effectiveReadOnlySpecs?: DedicatedHardwareSpec20240805; readOnlySpecs?: DedicatedHardwareSpec20240805; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: AWSRegionConfig20240805BackingProviderName; electableSpecs?: HardwareSpec20240805; /** Precedence is given to this region when a primary election occurs. If your `regionConfigs` has only `readOnlySpecs`, `analyticsSpecs`, or both, set this value to `0`. If you have multiple `regionConfigs` objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is `7`. **Example:** If you have three regions, their priorities would be `7`, `6`, and `5` respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be `4` and `3` respectively. */ priority?: number; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ providerName?: AWSRegionConfig20240805ProviderName; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ regionName?: AWSRegionConfig20240805RegionName; } export const AWSRegionConfig20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ analyticsAutoScaling: S.optional(AdvancedAutoScalingSettings), analyticsSpecs: S.optional(DedicatedHardwareSpec20240805), autoScaling: S.optional(AdvancedAutoScalingSettings), effectiveAnalyticsSpecs: S.optional(DedicatedHardwareSpec20240805), effectiveElectableSpecs: S.optional(DedicatedHardwareSpec20240805), effectiveReadOnlySpecs: S.optional(DedicatedHardwareSpec20240805), readOnlySpecs: S.optional(DedicatedHardwareSpec20240805), backingProviderName: S.optional(AWSRegionConfig20240805BackingProviderName), electableSpecs: S.optional(HardwareSpec20240805), priority: S.optional(S.Number), providerName: S.optional(AWSRegionConfig20240805ProviderName), regionName: S.optional(AWSRegionConfig20240805RegionName), }), ).annotate({ identifier: "AWSRegionConfig20240805", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type AzureRegionConfig20240805BackingProviderName = | "AWS" | "GCP" | "AZURE"; export const AzureRegionConfig20240805BackingProviderName = S.String; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ export type AzureRegionConfig20240805ProviderName = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const AzureRegionConfig20240805ProviderName = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type AzureRegionConfig20240805RegionNameCase0 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const AzureRegionConfig20240805RegionNameCase0 = S.String; /** Microsoft Azure Regions. */ export type AzureRegionConfig20240805RegionNameCase1 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AzureRegionConfig20240805RegionNameCase1 = S.String; /** Google Compute Regions. */ export type AzureRegionConfig20240805RegionNameCase2 = | "EASTERN_US" | "EASTERN_US_AW" | "US_EAST_4" | "US_EAST_4_AW" | "US_EAST_5" | "US_EAST_5_AW" | "US_WEST_2" | "US_WEST_2_AW" | "US_WEST_3" | "US_WEST_3_AW" | "US_WEST_4" | "US_WEST_4_AW" | "US_SOUTH_1" | "US_SOUTH_1_AW" | "CENTRAL_US" | "CENTRAL_US_AW" | "WESTERN_US" | "WESTERN_US_AW" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "WESTERN_EUROPE" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_8" | "EUROPE_WEST_9" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "EUROPE_SOUTHWEST_1" | "EUROPE_CENTRAL_2" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "AFRICA_SOUTH_1" | "EASTERN_ASIA_PACIFIC" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTHEASTERN_ASIA_PACIFIC" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2"; export const AzureRegionConfig20240805RegionNameCase2 = S.String; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ export type AzureRegionConfig20240805RegionName = | AzureRegionConfig20240805RegionNameCase0 | AzureRegionConfig20240805RegionNameCase1 | AzureRegionConfig20240805RegionNameCase2; export const AzureRegionConfig20240805RegionName = S.Unknown as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data in one region on the specified MongoDB database. */ export interface AzureRegionConfig20240805 { analyticsAutoScaling?: AdvancedAutoScalingSettings; analyticsSpecs?: DedicatedHardwareSpec20240805; autoScaling?: AdvancedAutoScalingSettings; effectiveAnalyticsSpecs?: DedicatedHardwareSpec20240805; effectiveElectableSpecs?: DedicatedHardwareSpec20240805; effectiveReadOnlySpecs?: DedicatedHardwareSpec20240805; readOnlySpecs?: DedicatedHardwareSpec20240805; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: AzureRegionConfig20240805BackingProviderName; electableSpecs?: HardwareSpec20240805; /** Precedence is given to this region when a primary election occurs. If your `regionConfigs` has only `readOnlySpecs`, `analyticsSpecs`, or both, set this value to `0`. If you have multiple `regionConfigs` objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is `7`. **Example:** If you have three regions, their priorities would be `7`, `6`, and `5` respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be `4` and `3` respectively. */ priority?: number; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ providerName?: AzureRegionConfig20240805ProviderName; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ regionName?: AzureRegionConfig20240805RegionName; } export const AzureRegionConfig20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ analyticsAutoScaling: S.optional(AdvancedAutoScalingSettings), analyticsSpecs: S.optional(DedicatedHardwareSpec20240805), autoScaling: S.optional(AdvancedAutoScalingSettings), effectiveAnalyticsSpecs: S.optional(DedicatedHardwareSpec20240805), effectiveElectableSpecs: S.optional(DedicatedHardwareSpec20240805), effectiveReadOnlySpecs: S.optional(DedicatedHardwareSpec20240805), readOnlySpecs: S.optional(DedicatedHardwareSpec20240805), backingProviderName: S.optional( AzureRegionConfig20240805BackingProviderName, ), electableSpecs: S.optional(HardwareSpec20240805), priority: S.optional(S.Number), providerName: S.optional(AzureRegionConfig20240805ProviderName), regionName: S.optional(AzureRegionConfig20240805RegionName), }), ).annotate({ identifier: "AzureRegionConfig20240805", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type GCPRegionConfig20240805BackingProviderName = | "AWS" | "GCP" | "AZURE"; export const GCPRegionConfig20240805BackingProviderName = S.String; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ export type GCPRegionConfig20240805ProviderName = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const GCPRegionConfig20240805ProviderName = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type GCPRegionConfig20240805RegionNameCase0 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const GCPRegionConfig20240805RegionNameCase0 = S.String; /** Microsoft Azure Regions. */ export type GCPRegionConfig20240805RegionNameCase1 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const GCPRegionConfig20240805RegionNameCase1 = S.String; /** Google Compute Regions. */ export type GCPRegionConfig20240805RegionNameCase2 = | "EASTERN_US" | "EASTERN_US_AW" | "US_EAST_4" | "US_EAST_4_AW" | "US_EAST_5" | "US_EAST_5_AW" | "US_WEST_2" | "US_WEST_2_AW" | "US_WEST_3" | "US_WEST_3_AW" | "US_WEST_4" | "US_WEST_4_AW" | "US_SOUTH_1" | "US_SOUTH_1_AW" | "CENTRAL_US" | "CENTRAL_US_AW" | "WESTERN_US" | "WESTERN_US_AW" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "WESTERN_EUROPE" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_8" | "EUROPE_WEST_9" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "EUROPE_SOUTHWEST_1" | "EUROPE_CENTRAL_2" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "AFRICA_SOUTH_1" | "EASTERN_ASIA_PACIFIC" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTHEASTERN_ASIA_PACIFIC" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2"; export const GCPRegionConfig20240805RegionNameCase2 = S.String; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ export type GCPRegionConfig20240805RegionName = | GCPRegionConfig20240805RegionNameCase0 | GCPRegionConfig20240805RegionNameCase1 | GCPRegionConfig20240805RegionNameCase2; export const GCPRegionConfig20240805RegionName = S.Unknown as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data in one region on the specified MongoDB database. */ export interface GCPRegionConfig20240805 { analyticsAutoScaling?: AdvancedAutoScalingSettings; analyticsSpecs?: DedicatedHardwareSpec20240805; autoScaling?: AdvancedAutoScalingSettings; effectiveAnalyticsSpecs?: DedicatedHardwareSpec20240805; effectiveElectableSpecs?: DedicatedHardwareSpec20240805; effectiveReadOnlySpecs?: DedicatedHardwareSpec20240805; readOnlySpecs?: DedicatedHardwareSpec20240805; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: GCPRegionConfig20240805BackingProviderName; electableSpecs?: HardwareSpec20240805; /** Precedence is given to this region when a primary election occurs. If your `regionConfigs` has only `readOnlySpecs`, `analyticsSpecs`, or both, set this value to `0`. If you have multiple `regionConfigs` objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is `7`. **Example:** If you have three regions, their priorities would be `7`, `6`, and `5` respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be `4` and `3` respectively. */ priority?: number; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ providerName?: GCPRegionConfig20240805ProviderName; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ regionName?: GCPRegionConfig20240805RegionName; } export const GCPRegionConfig20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ analyticsAutoScaling: S.optional(AdvancedAutoScalingSettings), analyticsSpecs: S.optional(DedicatedHardwareSpec20240805), autoScaling: S.optional(AdvancedAutoScalingSettings), effectiveAnalyticsSpecs: S.optional(DedicatedHardwareSpec20240805), effectiveElectableSpecs: S.optional(DedicatedHardwareSpec20240805), effectiveReadOnlySpecs: S.optional(DedicatedHardwareSpec20240805), readOnlySpecs: S.optional(DedicatedHardwareSpec20240805), backingProviderName: S.optional(GCPRegionConfig20240805BackingProviderName), electableSpecs: S.optional(HardwareSpec20240805), priority: S.optional(S.Number), providerName: S.optional(GCPRegionConfig20240805ProviderName), regionName: S.optional(GCPRegionConfig20240805RegionName), }), ).annotate({ identifier: "GCPRegionConfig20240805", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type TenantRegionConfig20240805BackingProviderName = | "AWS" | "GCP" | "AZURE"; export const TenantRegionConfig20240805BackingProviderName = S.String; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ export type TenantRegionConfig20240805ProviderName = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const TenantRegionConfig20240805ProviderName = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type TenantRegionConfig20240805RegionNameCase0 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const TenantRegionConfig20240805RegionNameCase0 = S.String; /** Microsoft Azure Regions. */ export type TenantRegionConfig20240805RegionNameCase1 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const TenantRegionConfig20240805RegionNameCase1 = S.String; /** Google Compute Regions. */ export type TenantRegionConfig20240805RegionNameCase2 = | "EASTERN_US" | "EASTERN_US_AW" | "US_EAST_4" | "US_EAST_4_AW" | "US_EAST_5" | "US_EAST_5_AW" | "US_WEST_2" | "US_WEST_2_AW" | "US_WEST_3" | "US_WEST_3_AW" | "US_WEST_4" | "US_WEST_4_AW" | "US_SOUTH_1" | "US_SOUTH_1_AW" | "CENTRAL_US" | "CENTRAL_US_AW" | "WESTERN_US" | "WESTERN_US_AW" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "WESTERN_EUROPE" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_8" | "EUROPE_WEST_9" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "EUROPE_SOUTHWEST_1" | "EUROPE_CENTRAL_2" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "AFRICA_SOUTH_1" | "EASTERN_ASIA_PACIFIC" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTHEASTERN_ASIA_PACIFIC" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2"; export const TenantRegionConfig20240805RegionNameCase2 = S.String; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ export type TenantRegionConfig20240805RegionName = | TenantRegionConfig20240805RegionNameCase0 | TenantRegionConfig20240805RegionNameCase1 | TenantRegionConfig20240805RegionNameCase2; export const TenantRegionConfig20240805RegionName = S.Unknown as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data in one region on the specified MongoDB database. */ export interface TenantRegionConfig20240805 { analyticsAutoScaling?: AdvancedAutoScalingSettings; analyticsSpecs?: DedicatedHardwareSpec20240805; autoScaling?: AdvancedAutoScalingSettings; effectiveAnalyticsSpecs?: DedicatedHardwareSpec20240805; effectiveElectableSpecs?: DedicatedHardwareSpec20240805; effectiveReadOnlySpecs?: DedicatedHardwareSpec20240805; readOnlySpecs?: DedicatedHardwareSpec20240805; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant cluster. The resource returns this parameter when `providerName` is `TENANT` and `electableSpecs.instanceSize` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of `M2` or `M5` will create a Flex cluster instead. Support for the `instanceSize` of `M2` or `M5` will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: TenantRegionConfig20240805BackingProviderName; electableSpecs?: HardwareSpec20240805; /** Precedence is given to this region when a primary election occurs. If your `regionConfigs` has only `readOnlySpecs`, `analyticsSpecs`, or both, set this value to `0`. If you have multiple `regionConfigs` objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is `7`. **Example:** If you have three regions, their priorities would be `7`, `6`, and `5` respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be `4` and `3` respectively. */ priority?: number; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ providerName?: TenantRegionConfig20240805ProviderName; /** Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. The region name is only returned in the response for single-region clusters. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. It assigns the VPC a Classless Inter-Domain Routing (CIDR) block. To limit a new VPC peering connection to one Classless Inter-Domain Routing (CIDR) block and region, create the connection first. Deploy the cluster after the connection starts. GCP Clusters and Multi-region clusters require one VPC peering connection for each region. MongoDB nodes can use only the peering connection that resides in the same region as the nodes to communicate with the peered VPC. */ regionName?: TenantRegionConfig20240805RegionName; } export const TenantRegionConfig20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ analyticsAutoScaling: S.optional(AdvancedAutoScalingSettings), analyticsSpecs: S.optional(DedicatedHardwareSpec20240805), autoScaling: S.optional(AdvancedAutoScalingSettings), effectiveAnalyticsSpecs: S.optional(DedicatedHardwareSpec20240805), effectiveElectableSpecs: S.optional(DedicatedHardwareSpec20240805), effectiveReadOnlySpecs: S.optional(DedicatedHardwareSpec20240805), readOnlySpecs: S.optional(DedicatedHardwareSpec20240805), backingProviderName: S.optional( TenantRegionConfig20240805BackingProviderName, ), electableSpecs: S.optional(HardwareSpec20240805), priority: S.optional(S.Number), providerName: S.optional(TenantRegionConfig20240805ProviderName), regionName: S.optional(TenantRegionConfig20240805RegionName), }), ).annotate({ identifier: "TenantRegionConfig20240805", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisions the hosts. */ export type CloudRegionConfig20240805 = | AWSRegionConfig20240805 | AzureRegionConfig20240805 | GCPRegionConfig20240805 | TenantRegionConfig20240805; export const CloudRegionConfig20240805 = S.Unknown as any as S.Schema; /** Hardware specifications for nodes set for a given region. Each `regionConfigs` object must be unique by region and cloud provider within the `replicationSpec`. Each `regionConfigs` object describes the region's priority in elections and the number and type of MongoDB nodes that MongoDB Cloud deploys to the region. Each `regionConfigs` object must have either an `analyticsSpecs` object, `electableSpecs` object, or `readOnlySpecs` object. Tenant clusters only require `electableSpecs`. Dedicated clusters can specify any of these specifications, but must have at least one `electableSpecs` object within a `replicationSpec`. **Example:** If you set `replicationSpecs[n].regionConfigs[m].analyticsSpecs.instanceSize` : `M30`, set `replicationSpecs[n].regionConfigs[m].electableSpecs.instanceSize` : `M30` if you have electable nodes and `replicationSpecs[n].regionConfigs[m].readOnlySpecs.instanceSize` : `M30` if you have read-only nodes. */ export type ReplicationSpec20240805RegionConfigsList = Array; export const ReplicationSpec20240805RegionConfigsList = /*@__PURE__*/ S.Array( CloudRegionConfig20240805, ) as any as S.Schema; /** Details that explain how MongoDB Cloud replicates data on the specified MongoDB database. */ export interface ReplicationSpec20240805 { /** Unique 24-hexadecimal digit string that identifies the replication object for a shard in a Cluster. If you include existing shard replication configurations in the request, you must specify this parameter. If you add a new shard to an existing Cluster, you may specify this parameter. The request deletes any existing shards in the Cluster that you exclude from the request. This corresponds to Shard ID displayed in the UI. */ id?: string; /** Hardware specifications for nodes set for a given region. Each `regionConfigs` object must be unique by region and cloud provider within the `replicationSpec`. Each `regionConfigs` object describes the region's priority in elections and the number and type of MongoDB nodes that MongoDB Cloud deploys to the region. Each `regionConfigs` object must have either an `analyticsSpecs` object, `electableSpecs` object, or `readOnlySpecs` object. Tenant clusters only require `electableSpecs`. Dedicated clusters can specify any of these specifications, but must have at least one `electableSpecs` object within a `replicationSpec`. **Example:** If you set `replicationSpecs[n].regionConfigs[m].analyticsSpecs.instanceSize` : `M30`, set `replicationSpecs[n].regionConfigs[m].electableSpecs.instanceSize` : `M30` if you have electable nodes and `replicationSpecs[n].regionConfigs[m].readOnlySpecs.instanceSize` : `M30` if you have read-only nodes. */ regionConfigs?: ReplicationSpec20240805RegionConfigsList; /** Unique 24-hexadecimal digit string that identifies the zone in a Global Cluster. This value can be used to configure Global Cluster backup policies. */ zoneId?: string; /** Human-readable label that describes the zone this shard belongs to in a Global Cluster. Provide this value only if `clusterType` : `GEOSHARDED` but not `selfManagedSharding` : `true`. */ zoneName?: string; } export const ReplicationSpec20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.String), regionConfigs: S.optional(ReplicationSpec20240805RegionConfigsList), zoneId: S.optional(S.String), zoneName: S.optional(S.String), }), ).annotate({ identifier: "ReplicationSpec20240805", }) as any as S.Schema; /** List of settings that represent the actual cluster state. This is read-only and always returned in the response. It reflects the current cluster configuration, which may differ from `replicationSpecs` due to system-managed changes. */ export type ClusterDescription20240805EffectiveReplicationSpecsList = Array; export const ClusterDescription20240805EffectiveReplicationSpecsList = /*@__PURE__*/ S.Array( ReplicationSpec20240805, ) as any as S.Schema; /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ export type ClusterDescription20240805EncryptionAtRestProvider = | "NONE" | "AWS" | "AZURE" | "GCP"; export const ClusterDescription20240805EncryptionAtRestProvider = S.String; /** Internal classification of the cluster's role. Possible values: `NONE` (regular user cluster), `SYSTEM_CLUSTER` (system cluster for backup), `INTERNAL_SHADOW_CLUSTER` (internal use shadow cluster for testing). */ export type ClusterDescription20240805InternalClusterRole = | "NONE" | "SYSTEM_CLUSTER" | "INTERNAL_SHADOW_CLUSTER"; export const ClusterDescription20240805InternalClusterRole = S.String; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ export type ClusterDescription20240805LabelsList = Array; export const ClusterDescription20240805LabelsList = /*@__PURE__*/ S.Array( ComponentLabel, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ClusterDescription20240805LinksList = Array; export const ClusterDescription20240805LinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Level of access to grant to MongoDB Employees. */ export type EmployeeAccessGrantViewGrantType = | "CLUSTER_DATABASE_LOGS" | "CLUSTER_INFRASTRUCTURE" | "CLUSTER_INFRASTRUCTURE_AND_APP_SERVICES_SYNC_DATA"; export const EmployeeAccessGrantViewGrantType = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type EmployeeAccessGrantViewLinksList = Array; export const EmployeeAccessGrantViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** MongoDB employee granted access level and expiration for a cluster. */ export interface EmployeeAccessGrantView { /** Expiration date for the employee access grant. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expirationTime: string; /** Level of access to grant to MongoDB Employees. */ grantType: EmployeeAccessGrantViewGrantType; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: EmployeeAccessGrantViewLinksList; } export const EmployeeAccessGrantView = /*@__PURE__*/ S.suspend(() => S.Struct({ expirationTime: S.String, grantType: EmployeeAccessGrantViewGrantType, links: S.optional(EmployeeAccessGrantViewLinksList), }), ).annotate({ identifier: "EmployeeAccessGrantView", }) as any as S.Schema; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ export type ClusterDescription20240805ReplicaSetScalingStrategy = | "SEQUENTIAL" | "WORKLOAD_TYPE" | "NODE_TYPE"; export const ClusterDescription20240805ReplicaSetScalingStrategy = S.String; /** List of settings that configure your cluster regions. This array has one object per shard representing node configurations in each shard. For replica sets there is only one object representing node configurations. */ export type ClusterDescription20240805ReplicationSpecsList = Array; export const ClusterDescription20240805ReplicationSpecsList = /*@__PURE__*/ S.Array( ReplicationSpec20240805, ) as any as S.Schema; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ export type ClusterDescription20240805RootCertType = "ISRGROOTX1"; export const ClusterDescription20240805RootCertType = S.String; /** Human-readable label that indicates any current activity being taken on this cluster by the Atlas control plane. With the exception of CREATING and DELETING states, clusters should always be available and have a Primary node even when in states indicating ongoing activity. - `IDLE`: Atlas is making no changes to this cluster and all changes requested via the UI or API can be assumed to have been applied. - `CREATING`: A cluster being provisioned for the very first time returns state CREATING until it is ready for connections. Ensure IP Access List and DB Users are configured before attempting to connect. - `UPDATING`: A change requested via the UI, API, AutoScaling, or other scheduled activity is taking place. - `DELETING`: The cluster is in the process of deletion and will soon be deleted. - `REPAIRING`: One or more nodes in the cluster are being returned to service by the Atlas control plane. Other nodes should continue to provide service as normal. */ export type ClusterDescription20240805StateName = | "IDLE" | "CREATING" | "UPDATING" | "DELETING" | "REPAIRING"; export const ClusterDescription20240805StateName = S.String; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ export type ClusterDescription20240805TagsList = Array; export const ClusterDescription20240805TagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ export type ClusterDescription20240805VersionReleaseSystem = | "LTS" | "CONTINUOUS"; export const ClusterDescription20240805VersionReleaseSystem = S.String; /** Configuration of a MongoDB Atlas cluster, including its replication topology, instance sizing, storage, and operational settings. */ export interface ClusterDescription20240805 { /** If reconfiguration is necessary to regain a primary due to a regional outage, submit this field alongside your topology reconfiguration to request a new regional outage resistant topology. Forced reconfigurations during an outage of the majority of electable nodes carry a risk of data loss if replicated writes (even majority committed writes) have not been replicated to the new primary node. MongoDB Atlas docs contain more information. To proceed with an operation which carries that risk, set `acceptDataRisksAndForceReplicaSetReconfig` to the current date. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ acceptDataRisksAndForceReplicaSetReconfig?: string; /** Governs adaptive capacity behavior of Azure nodes in single-cloud Azure clusters or multi-cloud clusters that include Azure nodes. Adaptive capacity enables fallback hardware selection when the primary instance family is unavailable. ``ENABLED`` means the cluster explicitly opts in to adaptive capacity. ``DISABLED`` means the cluster explicitly opts out; the cluster receives capacity errors instead of being placed on fallback hardware. ``null`` means the field is unset; Azure clusters use adaptive capacity by default when the feature is enabled at the group level. Setting this field for single-cloud AWS or GCP clusters is a no-op. */ adaptiveCapacity?: ClusterDescription20240805AdaptiveCapacity | null; advancedConfiguration?: ApiAtlasClusterAdvancedConfigurationView; /** Flag that indicates whether the cluster can perform backups. If set to `true`, the cluster can perform backups. You must set this value to `true` for NVMe clusters. Backup uses Cloud Backups for dedicated clusters and [Shared Cluster Backups](https://docs.atlas.mongodb.com/backup/shared-tier/overview/) for tenant clusters. If set to `false`, the cluster doesn't use backups. */ backupEnabled?: boolean; biConnector?: BiConnector; /** Configuration of nodes that comprise the cluster. */ clusterType?: ClusterDescription20240805ClusterType; /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ configServerManagementMode?: ClusterDescription20240805ConfigServerManagementMode; /** Describes a sharded cluster's config server type. */ configServerType?: ClusterDescription20240805ConfigServerType; connectionStrings?: ClusterConnectionStrings; /** Date and time when MongoDB Cloud created this cluster. This parameter expresses its value in ISO 8601 format in UTC. */ createDate?: string; /** Disk warming mode selection. */ diskWarmingMode?: ClusterDescription20240805DiskWarmingMode; /** List of settings that represent the actual cluster state. This is read-only and always returned in the response. It reflects the current cluster configuration, which may differ from `replicationSpecs` due to system-managed changes. */ effectiveReplicationSpecs?: ClusterDescription20240805EffectiveReplicationSpecsList; /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ encryptionAtRestProvider?: ClusterDescription20240805EncryptionAtRestProvider; /** Feature compatibility version of the cluster. This will always appear regardless of whether FCV is pinned. */ featureCompatibilityVersion?: string; /** Feature compatibility version expiration date. Will only appear if FCV is pinned. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ featureCompatibilityVersionExpirationDate?: string; /** Set this field to configure the Sharding Management Mode when creating a new Global Cluster. When set to false, the management mode is set to Atlas-Managed Sharding. This mode fully manages the sharding of your Global Cluster and is built to provide a seamless deployment experience. When set to true, the management mode is set to Self-Managed Sharding. This mode leaves the management of shards in your hands and is built to provide an advanced and flexible deployment experience. This setting cannot be changed once the cluster is deployed. */ globalClusterSelfManagedSharding?: boolean; /** Unique 24-hexadecimal character string that identifies the project. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the cluster. */ id?: string; /** Internal classification of the cluster's role. Possible values: `NONE` (regular user cluster), `SYSTEM_CLUSTER` (system cluster for backup), `INTERNAL_SHADOW_CLUSTER` (internal use shadow cluster for testing). */ internalClusterRole?: ClusterDescription20240805InternalClusterRole; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ labels?: ClusterDescription20240805LabelsList; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ClusterDescription20240805LinksList; mongoDBEmployeeAccessGrant?: EmployeeAccessGrantView; /** MongoDB major version of the cluster. Set to the binary major version. On creation: Choose from the available versions of MongoDB, or leave unspecified for the current recommended default in the MongoDB Cloud platform. The recommended version is a recent Long Term Support version. The default is not guaranteed to be the most recently released version throughout the entire release cycle. For versions available in a specific project, see the linked documentation or use the API endpoint for [project LTS versions endpoint](#tag/Projects/operation/getProjectLtsVersions). On update: Increase version only by 1 major version at a time. If the cluster is pinned to a MongoDB feature compatibility version exactly one major version below the current MongoDB version, the MongoDB version can be downgraded to the previous major version. */ mongoDBMajorVersion?: string; /** Version of MongoDB that the cluster runs. */ mongoDBVersion?: string; /** Human-readable label that identifies the cluster. */ name?: string; /** Flag that indicates whether the cluster is paused. */ paused?: boolean; /** Flag that indicates whether the cluster uses continuous cloud backups. */ pitEnabled?: boolean; /** Enable or disable log redaction. This setting configures the ``mongod`` or ``mongos`` to redact any document field contents from a message accompanying a given log event before logging. This prevents the program from writing potentially sensitive data stored on the database to the diagnostic log. Metadata such as error or operation codes, line numbers, and source file names are still visible in the logs. Use ``redactClientLogData`` in conjunction with Encryption at Rest and TLS/SSL (Transport Encryption) to assist compliance with regulatory requirements. *Note*: changing this setting on a cluster will trigger a rolling restart as soon as the cluster is updated. */ redactClientLogData?: boolean; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ replicaSetScalingStrategy?: ClusterDescription20240805ReplicaSetScalingStrategy; /** List of settings that configure your cluster regions. This array has one object per shard representing node configurations in each shard. For replica sets there is only one object representing node configurations. */ replicationSpecs?: ClusterDescription20240805ReplicationSpecsList; /** Flag that indicates whether the cluster retains backups. */ retainBackups?: boolean; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ rootCertType?: ClusterDescription20240805RootCertType; /** Human-readable label that indicates any current activity being taken on this cluster by the Atlas control plane. With the exception of CREATING and DELETING states, clusters should always be available and have a Primary node even when in states indicating ongoing activity. - `IDLE`: Atlas is making no changes to this cluster and all changes requested via the UI or API can be assumed to have been applied. - `CREATING`: A cluster being provisioned for the very first time returns state CREATING until it is ready for connections. Ensure IP Access List and DB Users are configured before attempting to connect. - `UPDATING`: A change requested via the UI, API, AutoScaling, or other scheduled activity is taking place. - `DELETING`: The cluster is in the process of deletion and will soon be deleted. - `REPAIRING`: One or more nodes in the cluster are being returned to service by the Atlas control plane. Other nodes should continue to provide service as normal. */ stateName?: ClusterDescription20240805StateName; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ tags?: ClusterDescription20240805TagsList; /** Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster. */ terminationProtectionEnabled?: boolean; /** Flag that indicates whether AWS time-based snapshot copies will be used instead of slower standard snapshot copies during fast Atlas cross-region initial syncs. This flag is only relevant for clusters containing AWS nodes. */ useAwsTimeBasedSnapshotCopyForFastInitialSync?: boolean; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ versionReleaseSystem?: ClusterDescription20240805VersionReleaseSystem; } export const ClusterDescription20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ acceptDataRisksAndForceReplicaSetReconfig: S.optional(S.String), adaptiveCapacity: S.optional( S.NullOr(ClusterDescription20240805AdaptiveCapacity), ), advancedConfiguration: S.optional(ApiAtlasClusterAdvancedConfigurationView), backupEnabled: S.optional(S.Boolean), biConnector: S.optional(BiConnector), clusterType: S.optional(ClusterDescription20240805ClusterType), configServerManagementMode: S.optional( ClusterDescription20240805ConfigServerManagementMode, ), configServerType: S.optional(ClusterDescription20240805ConfigServerType), connectionStrings: S.optional(ClusterConnectionStrings), createDate: S.optional(S.String), diskWarmingMode: S.optional(ClusterDescription20240805DiskWarmingMode), effectiveReplicationSpecs: S.optional( ClusterDescription20240805EffectiveReplicationSpecsList, ), encryptionAtRestProvider: S.optional( ClusterDescription20240805EncryptionAtRestProvider, ), featureCompatibilityVersion: S.optional(S.String), featureCompatibilityVersionExpirationDate: S.optional(S.String), globalClusterSelfManagedSharding: S.optional(S.Boolean), groupId: S.optional(S.String), id: S.optional(S.String), internalClusterRole: S.optional( ClusterDescription20240805InternalClusterRole, ), labels: S.optional(ClusterDescription20240805LabelsList), links: S.optional(ClusterDescription20240805LinksList), mongoDBEmployeeAccessGrant: S.optional(EmployeeAccessGrantView), mongoDBMajorVersion: S.optional(S.String), mongoDBVersion: S.optional(S.String), name: S.optional(S.String), paused: S.optional(S.Boolean), pitEnabled: S.optional(S.Boolean), redactClientLogData: S.optional(S.Boolean), replicaSetScalingStrategy: S.optional( ClusterDescription20240805ReplicaSetScalingStrategy, ), replicationSpecs: S.optional( ClusterDescription20240805ReplicationSpecsList, ), retainBackups: S.optional(S.Boolean), rootCertType: S.optional(ClusterDescription20240805RootCertType), stateName: S.optional(ClusterDescription20240805StateName), tags: S.optional(ClusterDescription20240805TagsList), terminationProtectionEnabled: S.optional(S.Boolean), useAwsTimeBasedSnapshotCopyForFastInitialSync: S.optional(S.Boolean), versionReleaseSystem: S.optional( ClusterDescription20240805VersionReleaseSystem, ), }), ).annotate({ identifier: "ClusterDescription20240805", }) as any as S.Schema; /** Collection of key-value pairs that represent custom data to add to the metadata file that MongoDB Cloud uploads to the bucket when the export job finishes. */ export interface BackupLabel { /** Key for the metadata file that MongoDB Cloud uploads to the bucket when the export job finishes. */ key?: string; /** Value for the key to include in file that MongoDB Cloud uploads to the bucket when the export job finishes. */ value?: string; } export const BackupLabel = /*@__PURE__*/ S.suspend(() => S.Struct({ key: S.optional(S.String), value: S.optional(S.String), }), ).annotate({ identifier: "BackupLabel" }) as any as S.Schema; /** Collection of key-value pairs that represent custom data to add to the metadata file that MongoDB Cloud uploads to the bucket when the export job finishes. */ export type CreateGroupClusterBackupExportRequestCustomDataList = Array; export const CreateGroupClusterBackupExportRequestCustomDataList = /*@__PURE__*/ S.Array( BackupLabel, ) as any as S.Schema; export interface CreateGroupClusterBackupExportRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Collection of key-value pairs that represent custom data to add to the metadata file that MongoDB Cloud uploads to the bucket when the export job finishes. */ customData?: CreateGroupClusterBackupExportRequestCustomDataList; /** Unique 24-hexadecimal character string that identifies the Export Bucket. */ exportBucketId: string; /** Unique 24-hexadecimal character string that identifies the Cloud Backup Snapshot to export. */ snapshotId: string; } export const CreateGroupClusterBackupExportRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), customData: S.optional( CreateGroupClusterBackupExportRequestCustomDataList, ), exportBucketId: S.String, snapshotId: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupClusterBackupExportRequest", }) as any as S.Schema; export interface DiskBackupExportMember { /** Unique 24-hexadecimal character string that identifies the the Cloud Backup snapshot export job for each shard in a sharded cluster. */ exportId?: string; /** Human-readable label that identifies the replica set on the sharded cluster. */ replicaSetName?: string; } export const DiskBackupExportMember = /*@__PURE__*/ S.suspend(() => S.Struct({ exportId: S.optional(S.String), replicaSetName: S.optional(S.String), }), ).annotate({ identifier: "DiskBackupExportMember", }) as any as S.Schema; /** Information on the export job for each replica set in the sharded cluster. */ export type DiskBackupExportJobComponentsList = Array; export const DiskBackupExportJobComponentsList = /*@__PURE__*/ S.Array( DiskBackupExportMember, ) as any as S.Schema; /** Collection of key-value pairs that represent custom data for the metadata file that MongoDB Cloud uploads when the Export Job finishes. */ export type DiskBackupExportJobCustomDataList = Array; export const DiskBackupExportJobCustomDataList = /*@__PURE__*/ S.Array( BackupLabel, ) as any as S.Schema; /** State of the Export Job. */ export interface ExportStatus { /** Count of collections whose documents were exported to the Export Bucket. */ exportedCollections?: number; /** Total count of collections whose documents will be exported to the Export Bucket. */ totalCollections?: number; } export const ExportStatus = /*@__PURE__*/ S.suspend(() => S.Struct({ exportedCollections: S.optional(S.Number), totalCollections: S.optional(S.Number), }), ).annotate({ identifier: "ExportStatus" }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupExportJobLinksList = Array; export const DiskBackupExportJobLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** State of the Export Job. */ export type DiskBackupExportJobState = | "Cancelled" | "Failed" | "InProgress" | "Queued" | "Successful"; export const DiskBackupExportJobState = S.String; /** State reason of the Job. This is set when the job state is "Failed". */ export interface StateReason { /** Error code relating to state. */ errorCode?: string; /** Message describing error or state. */ message?: string; } export const StateReason = /*@__PURE__*/ S.suspend(() => S.Struct({ errorCode: S.optional(S.String), message: S.optional(S.String), }), ).annotate({ identifier: "StateReason" }) as any as S.Schema; export interface DiskBackupExportJob { /** Information on the export job for each replica set in the sharded cluster. */ components?: DiskBackupExportJobComponentsList; /** Date and time when a user or Atlas created the Export Job. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. */ createdAt?: string; /** Collection of key-value pairs that represent custom data for the metadata file that MongoDB Cloud uploads when the Export Job finishes. */ customData?: DiskBackupExportJobCustomDataList; /** Unique 24-hexadecimal character string that identifies the Export Bucket. */ exportBucketId: string; exportStatus?: ExportStatus; /** Date and time when this Export Job completed. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. */ finishedAt?: string; /** Unique 24-hexadecimal character string that identifies the restore job. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupExportJobLinksList; /** Prefix used for all blob storage objects uploaded as part of the Export Job. */ prefix?: string; /** Unique 24-hexadecimal character string that identifies the snapshot. */ snapshotId?: string; /** State of the Export Job. */ state?: DiskBackupExportJobState; stateReason?: StateReason; } export const DiskBackupExportJob = /*@__PURE__*/ S.suspend(() => S.Struct({ components: S.optional(DiskBackupExportJobComponentsList), createdAt: S.optional(S.String), customData: S.optional(DiskBackupExportJobCustomDataList), exportBucketId: S.String, exportStatus: S.optional(ExportStatus), finishedAt: S.optional(S.String), id: S.optional(S.String), links: S.optional(DiskBackupExportJobLinksList), prefix: S.optional(S.String), snapshotId: S.optional(S.String), state: S.optional(DiskBackupExportJobState), stateReason: S.optional(StateReason), }), ).annotate({ identifier: "DiskBackupExportJob", }) as any as S.Schema; /** Human-readable label that categorizes the restore job to create. */ export type CreateGroupClusterBackupRestoreJobRequestDeliveryType = | "automated" | "download" | "pointInTime"; export const CreateGroupClusterBackupRestoreJobRequestDeliveryType = S.String; export interface CreateGroupClusterBackupRestoreJobRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that categorizes the restore job to create. */ deliveryType: | CreateGroupClusterBackupRestoreJobRequestDeliveryType | (string & {}); /** Oplog operation number from which you want to restore this snapshot. This number represents the second part of an Oplog timestamp. The resource returns this parameter when `"deliveryType" : "pointInTime"` and `oplogTs` exceeds `0`. */ oplogInc?: number; /** Date and time from which you want to restore this snapshot. This parameter expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. This number represents the first part of an Oplog timestamp. The resource returns this parameter when `"deliveryType" : "pointInTime"` and `oplogTs` exceeds `0`. */ oplogTs?: number; /** Date and time from which MongoDB Cloud restored this snapshot. This parameter expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. The resource returns this parameter when `"deliveryType" : "pointInTime"` and `pointInTimeUTCSeconds` exceeds `0`. */ pointInTimeUTCSeconds?: number; /** Unique 24-hexadecimal character string that identifies the snapshot. */ snapshotId?: string; /** Human-readable label that identifies the target cluster to which the restore job restores the snapshot. The resource returns this parameter when `"deliveryType":` `"automated"`. Required for `automated` and `pointInTime` restore types. */ targetClusterName?: string; /** Unique 24-hexadecimal digit string that identifies the target project for the specified `targetClusterName`. Required for `automated` and `pointInTime` restore types. */ targetGroupId?: string; } export const CreateGroupClusterBackupRestoreJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), deliveryType: CreateGroupClusterBackupRestoreJobRequestDeliveryType, oplogInc: S.optional(S.Number), oplogTs: S.optional(S.Number), pointInTimeUTCSeconds: S.optional(S.Number), snapshotId: S.optional(S.String), targetClusterName: S.optional(S.String), targetGroupId: S.optional(S.String), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupClusterBackupRestoreJobRequest", }) as any as S.Schema; /** One Uniform Resource Locator (URL) that points to the compressed snapshot files for manual download and the corresponding private endpoint. */ export interface ApiPrivateDownloadDeliveryUrl { /** One Uniform Resource Locator that points to the compressed snapshot files for manual download. */ deliveryUrl?: string; /** Unique 22-character alphanumeric string that identifies the private endpoint. */ endpointId?: string; } export const ApiPrivateDownloadDeliveryUrl = /*@__PURE__*/ S.suspend(() => S.Struct({ deliveryUrl: S.optional(S.String), endpointId: S.optional(S.String), }), ).annotate({ identifier: "ApiPrivateDownloadDeliveryUrl", }) as any as S.Schema; /** One or more Uniform Resource Locators (URLs) that point to the compressed snapshot files for manual download and the corresponding private endpoint(s). MongoDB Cloud returns this parameter when `"deliveryType" : "download"` and the download can be performed privately. */ export type DiskBackupRestoreMemberPrivateDownloadDeliveryUrlsList = Array; export const DiskBackupRestoreMemberPrivateDownloadDeliveryUrlsList = /*@__PURE__*/ S.Array( ApiPrivateDownloadDeliveryUrl, ) as any as S.Schema; export interface DiskBackupRestoreMember { /** One Uniform Resource Locator that points to the compressed snapshot files for manual download. MongoDB Cloud returns this parameter when `"deliveryType" : "download"`. */ downloadUrl?: string; /** One or more Uniform Resource Locators (URLs) that point to the compressed snapshot files for manual download and the corresponding private endpoint(s). MongoDB Cloud returns this parameter when `"deliveryType" : "download"` and the download can be performed privately. */ privateDownloadDeliveryUrls?: DiskBackupRestoreMemberPrivateDownloadDeliveryUrlsList; /** Human-readable label that identifies the replica set on the sharded cluster. */ replicaSetName?: string; } export const DiskBackupRestoreMember = /*@__PURE__*/ S.suspend(() => S.Struct({ downloadUrl: S.optional(S.String), privateDownloadDeliveryUrls: S.optional( DiskBackupRestoreMemberPrivateDownloadDeliveryUrlsList, ), replicaSetName: S.optional(S.String), }), ).annotate({ identifier: "DiskBackupRestoreMember", }) as any as S.Schema; /** Information on the restore job for each replica set in the sharded cluster. */ export type DiskBackupSnapshotRestoreJobComponentsList = Array; export const DiskBackupSnapshotRestoreJobComponentsList = /*@__PURE__*/ S.Array( DiskBackupRestoreMember, ) as any as S.Schema; /** Human-readable label that categorizes the restore job to create. */ export type DiskBackupSnapshotRestoreJobDeliveryType = | "automated" | "download" | "pointInTime"; export const DiskBackupSnapshotRestoreJobDeliveryType = S.String; /** One or more Uniform Resource Locators (URLs) that point to the compressed snapshot files for manual download. MongoDB Cloud returns this parameter when `"deliveryType" : "download"`. */ export type DiskBackupSnapshotRestoreJobDeliveryUrlList = Array; export const DiskBackupSnapshotRestoreJobDeliveryUrlList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** BSON timestamp that indicates when the checkpoint token entry in the oplog occurred. */ export interface ApiBSONTimestampView { /** Date and time when the oplog recorded this database operation. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ date?: string; /** Order of the database operation that the oplog recorded at specific date and time. */ increment?: number; } export const ApiBSONTimestampView = /*@__PURE__*/ S.suspend(() => S.Struct({ date: S.optional(S.String), increment: S.optional(S.Number), }), ).annotate({ identifier: "ApiBSONTimestampView", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupSnapshotRestoreJobLinksList = Array; export const DiskBackupSnapshotRestoreJobLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** One or more Uniform Resource Locators (URLs) that point to the compressed snapshot files for manual download and the corresponding private endpoint(s). MongoDB Cloud returns this parameter when `"deliveryType" : "download"` and the download can be performed privately. */ export type DiskBackupSnapshotRestoreJobPrivateDownloadDeliveryUrlsList = Array; export const DiskBackupSnapshotRestoreJobPrivateDownloadDeliveryUrlsList = /*@__PURE__*/ S.Array( ApiPrivateDownloadDeliveryUrl, ) as any as S.Schema; export interface DiskBackupSnapshotRestoreJob { /** Flag that indicates whether someone canceled this restore job. */ cancelled?: boolean; /** Information on the restore job for each replica set in the sharded cluster. */ components?: DiskBackupSnapshotRestoreJobComponentsList; /** Human-readable label that categorizes the restore job to create. */ deliveryType: DiskBackupSnapshotRestoreJobDeliveryType; /** One or more Uniform Resource Locators (URLs) that point to the compressed snapshot files for manual download. MongoDB Cloud returns this parameter when `"deliveryType" : "download"`. */ deliveryUrl?: DiskBackupSnapshotRestoreJobDeliveryUrlList; desiredTimestamp?: ApiBSONTimestampView; /** Flag that indicates whether the restore job expired. */ expired?: boolean; /** Date and time when the restore job expires. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expiresAt?: string; /** Flag that indicates whether the restore job failed. */ failed?: boolean; /** Date and time when the restore job completed. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ finishedAt?: string; /** Unique 24-hexadecimal character string that identifies the restore job. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupSnapshotRestoreJobLinksList; /** Oplog operation number from which you want to restore this snapshot. This number represents the second part of an Oplog timestamp. The resource returns this parameter when `"deliveryType" : "pointInTime"` and `oplogTs` exceeds `0`. */ oplogInc?: number; /** Date and time from which you want to restore this snapshot. This parameter expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. This number represents the first part of an Oplog timestamp. The resource returns this parameter when `"deliveryType" : "pointInTime"` and `oplogTs` exceeds `0`. */ oplogTs?: number; /** Date and time from which MongoDB Cloud restored this snapshot. This parameter expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. The resource returns this parameter when `"deliveryType" : "pointInTime"` and `pointInTimeUTCSeconds` exceeds `0`. */ pointInTimeUTCSeconds?: number; /** One or more Uniform Resource Locators (URLs) that point to the compressed snapshot files for manual download and the corresponding private endpoint(s). MongoDB Cloud returns this parameter when `"deliveryType" : "download"` and the download can be performed privately. */ privateDownloadDeliveryUrls?: DiskBackupSnapshotRestoreJobPrivateDownloadDeliveryUrlsList; /** Unique 24-hexadecimal character string that identifies the snapshot. */ snapshotId?: string; /** Human-readable label that identifies the target cluster to which the restore job restores the snapshot. The resource returns this parameter when `"deliveryType":` `"automated"`. Required for `automated` and `pointInTime` restore types. */ targetClusterName?: string; /** Unique 24-hexadecimal digit string that identifies the target project for the specified `targetClusterName`. Required for `automated` and `pointInTime` restore types. */ targetGroupId?: string; /** Date and time when MongoDB Cloud took the snapshot associated with `snapshotId`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ timestamp?: string; } export const DiskBackupSnapshotRestoreJob = /*@__PURE__*/ S.suspend(() => S.Struct({ cancelled: S.optional(S.Boolean), components: S.optional(DiskBackupSnapshotRestoreJobComponentsList), deliveryType: DiskBackupSnapshotRestoreJobDeliveryType, deliveryUrl: S.optional(DiskBackupSnapshotRestoreJobDeliveryUrlList), desiredTimestamp: S.optional(ApiBSONTimestampView), expired: S.optional(S.Boolean), expiresAt: S.optional(S.String), failed: S.optional(S.Boolean), finishedAt: S.optional(S.String), id: S.optional(S.String), links: S.optional(DiskBackupSnapshotRestoreJobLinksList), oplogInc: S.optional(S.Number), oplogTs: S.optional(S.Number), pointInTimeUTCSeconds: S.optional(S.Number), privateDownloadDeliveryUrls: S.optional( DiskBackupSnapshotRestoreJobPrivateDownloadDeliveryUrlsList, ), snapshotId: S.optional(S.String), targetClusterName: S.optional(S.String), targetGroupId: S.optional(S.String), timestamp: S.optional(S.String), }), ).annotate({ identifier: "DiskBackupSnapshotRestoreJob", }) as any as S.Schema; /** Source and optional target namespace for a restore. */ export interface ApiAtlasRestoreNamespaceView { /** Namespace requested to restore (e.g. database name or `database.collection`). */ sourceNamespace: string; /** Requested target namespace for the restored data; if empty, source namespace is used. */ targetNamespace?: string; } export const ApiAtlasRestoreNamespaceView = /*@__PURE__*/ S.suspend(() => S.Struct({ sourceNamespace: S.String, targetNamespace: S.optional(S.String), }), ).annotate({ identifier: "ApiAtlasRestoreNamespaceView", }) as any as S.Schema; /** List of collections to restore (up to 100 items). */ export type CreateGroupClusterCollectionRestoreJobRequestCollectionsList = Array; export const CreateGroupClusterCollectionRestoreJobRequestCollectionsList = /*@__PURE__*/ S.Array( ApiAtlasRestoreNamespaceView, ) as any as S.Schema; /** List of databases to restore (up to 100 items). */ export type CreateGroupClusterCollectionRestoreJobRequestDatabasesList = Array; export const CreateGroupClusterCollectionRestoreJobRequestDatabasesList = /*@__PURE__*/ S.Array( ApiAtlasRestoreNamespaceView, ) as any as S.Schema; /** Strategy for restoring indexes (all, none, or all except TTL). */ export type CreateGroupClusterCollectionRestoreJobRequestIndexStrategy = | "ALL" | "NONE" | "ALL_EXCEPT_TTL"; export const CreateGroupClusterCollectionRestoreJobRequestIndexStrategy = S.String; /** Strategy for writing data on the target (create as new or overwrite existing). With `OVERWRITE_EXISTING`, any writes to the affected databases or collections during the restore will be lost when the existing namespaces are dropped and replaced. To avoid data loss, stop writes to the affected namespaces before starting the restore. */ export type CreateGroupClusterCollectionRestoreJobRequestWriteStrategy = | "CREATE_NEW" | "OVERWRITE_EXISTING"; export const CreateGroupClusterCollectionRestoreJobRequestWriteStrategy = S.String; export interface CreateGroupClusterCollectionRestoreJobRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the source cluster for the restore. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Optional suffix applied to restored collection names. */ collectionSuffix?: string | null; /** List of collections to restore (up to 100 items). */ collections?: CreateGroupClusterCollectionRestoreJobRequestCollectionsList; /** Optional suffix applied to restored database names. */ databaseSuffix?: string | null; /** List of databases to restore (up to 100 items). */ databases?: CreateGroupClusterCollectionRestoreJobRequestDatabasesList; /** Strategy for restoring indexes (all, none, or all except TTL). */ indexStrategy: | CreateGroupClusterCollectionRestoreJobRequestIndexStrategy | (string & {}); /** Oplog increment for point-in-time restore. */ oplogInc?: number | null; /** Oplog timestamp (seconds part) for point-in-time restore. */ oplogTs?: number | null; /** Point-in-time restore time in seconds since UNIX epoch. */ pointInTimeUtcSeconds?: number | null; /** ID of the snapshot to restore. */ snapshotId?: string; /** Target cluster name. */ targetClusterName: string; /** Unique 24-hexadecimal digit string that identifies the target group. */ targetGroupId: string; /** Strategy for writing data on the target (create as new or overwrite existing). With `OVERWRITE_EXISTING`, any writes to the affected databases or collections during the restore will be lost when the existing namespaces are dropped and replaced. To avoid data loss, stop writes to the affected namespaces before starting the restore. */ writeStrategy: | CreateGroupClusterCollectionRestoreJobRequestWriteStrategy | (string & {}); } export const CreateGroupClusterCollectionRestoreJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), collectionSuffix: S.optional(S.NullOr(S.String)), collections: S.optional( CreateGroupClusterCollectionRestoreJobRequestCollectionsList, ), databaseSuffix: S.optional(S.NullOr(S.String)), databases: S.optional( CreateGroupClusterCollectionRestoreJobRequestDatabasesList, ), indexStrategy: CreateGroupClusterCollectionRestoreJobRequestIndexStrategy, oplogInc: S.optional(S.NullOr(S.Number)), oplogTs: S.optional(S.NullOr(S.Number)), pointInTimeUtcSeconds: S.optional(S.NullOr(S.Number)), snapshotId: S.optional(S.String), targetClusterName: S.String, targetGroupId: S.String, writeStrategy: CreateGroupClusterCollectionRestoreJobRequestWriteStrategy, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collectionRestoreJobs", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateGroupClusterCollectionRestoreJobRequest", }) as any as S.Schema; /** List of collections in the restore scope (up to 100 items). */ export type ApiAtlasCollectionRestoreJobResponseCollectionsList = Array; export const ApiAtlasCollectionRestoreJobResponseCollectionsList = /*@__PURE__*/ S.Array( ApiAtlasRestoreNamespaceView, ) as any as S.Schema; /** List of databases in the restore scope (up to 100 items). */ export type ApiAtlasCollectionRestoreJobResponseDatabasesList = Array; export const ApiAtlasCollectionRestoreJobResponseDatabasesList = /*@__PURE__*/ S.Array( ApiAtlasRestoreNamespaceView, ) as any as S.Schema; /** Index build state indicating the status of index creation during or after a restore operation. */ export type ApiAtlasCollectionRestoreJobIndexStatusState = | "NOT_STARTED" | "IN_PROGRESS" | "SUCCESSFUL" | "FAILED" | "NOT_RESTORED"; export const ApiAtlasCollectionRestoreJobIndexStatusState = S.String; /** Overall index build status for a collection restore job. */ export interface ApiAtlasCollectionRestoreJobIndexStatus { /** Number of collections that failed to build indexes. */ failedCollectionCount?: number; /** Index build state indicating the status of index creation during or after a restore operation. */ state?: ApiAtlasCollectionRestoreJobIndexStatusState; } export const ApiAtlasCollectionRestoreJobIndexStatus = /*@__PURE__*/ S.suspend( () => S.Struct({ failedCollectionCount: S.optional(S.Number), state: S.optional(ApiAtlasCollectionRestoreJobIndexStatusState), }), ).annotate({ identifier: "ApiAtlasCollectionRestoreJobIndexStatus", }) as any as S.Schema; /** Strategy for restoring indexes (all, none, or all except TTL). */ export type ApiAtlasCollectionRestoreJobResponseIndexStrategy = | "ALL" | "NONE" | "ALL_EXCEPT_TTL"; export const ApiAtlasCollectionRestoreJobResponseIndexStrategy = S.String; /** Current state of the collection restore job. */ export type ApiAtlasCollectionRestoreJobResponseState = | "INITIALIZING" | "IN_PROGRESS" | "FINALIZING" | "SUCCESSFUL" | "CANCELED" | "FAILED"; export const ApiAtlasCollectionRestoreJobResponseState = S.String; /** Strategy for writing data on the target (create as new or overwrite existing). With `OVERWRITE_EXISTING`, any writes to the affected databases or collections during the restore will be lost when the existing namespaces are dropped and replaced. To avoid data loss, stop writes to the affected namespaces before starting the restore. */ export type ApiAtlasCollectionRestoreJobResponseWriteStrategy = | "CREATE_NEW" | "OVERWRITE_EXISTING"; export const ApiAtlasCollectionRestoreJobResponseWriteStrategy = S.String; /** Collection restore job summary including the list of databases and collections in the restore scope (up to 100 items each). */ export interface ApiAtlasCollectionRestoreJobResponse { /** Suffix applied to restored collection names. */ collectionSuffix?: string; /** List of collections in the restore scope (up to 100 items). */ collections?: ApiAtlasCollectionRestoreJobResponseCollectionsList; /** Date and time when the restore job was created (ISO 8601 format in UTC). */ createdAt?: string; /** Suffix applied to restored database names. */ databaseSuffix?: string; /** List of databases in the restore scope (up to 100 items). */ databases?: ApiAtlasCollectionRestoreJobResponseDatabasesList; /** Error message when the job has failed or been canceled. */ errorMessage?: string; /** Date and time when the restore job finished (ISO 8601 format in UTC). */ finishedAt?: string; /** Unique 24-hexadecimal digit string that identifies the collection restore job. */ id?: string; indexStatus?: ApiAtlasCollectionRestoreJobIndexStatus; /** Strategy for restoring indexes (all, none, or all except TTL). */ indexStrategy?: ApiAtlasCollectionRestoreJobResponseIndexStrategy; /** Oplog increment for point-in-time restore. */ oplogInc?: number; /** Oplog timestamp (seconds part) for point-in-time restore. */ oplogTs?: number; /** Point-in-time restore time in seconds since UNIX epoch. */ pointInTimeUtcSeconds?: number; /** Number of documents restored so far across all supported collections. */ restoredDocuments?: number; /** Unique 24-hexadecimal digit string that identifies the snapshot being restored. */ snapshotId?: string; /** Current state of the collection restore job. */ state?: ApiAtlasCollectionRestoreJobResponseState; /** Human-readable label that identifies the target cluster. */ targetClusterName?: string; /** Unique 24-hexadecimal digit string that identifies the target group. */ targetGroupId?: string; /** Total number of documents across all supported collections in the restore job. This value may initially reflect an estimate based on collection metadata and can change as accurate document counts become available during the restore. */ totalDocuments?: number; /** Strategy for writing data on the target (create as new or overwrite existing). With `OVERWRITE_EXISTING`, any writes to the affected databases or collections during the restore will be lost when the existing namespaces are dropped and replaced. To avoid data loss, stop writes to the affected namespaces before starting the restore. */ writeStrategy?: ApiAtlasCollectionRestoreJobResponseWriteStrategy; } export const ApiAtlasCollectionRestoreJobResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ collectionSuffix: S.optional(S.String), collections: S.optional( ApiAtlasCollectionRestoreJobResponseCollectionsList, ), createdAt: S.optional(S.String), databaseSuffix: S.optional(S.String), databases: S.optional(ApiAtlasCollectionRestoreJobResponseDatabasesList), errorMessage: S.optional(S.String), finishedAt: S.optional(S.String), id: S.optional(S.String), indexStatus: S.optional(ApiAtlasCollectionRestoreJobIndexStatus), indexStrategy: S.optional( ApiAtlasCollectionRestoreJobResponseIndexStrategy, ), oplogInc: S.optional(S.Number), oplogTs: S.optional(S.Number), pointInTimeUtcSeconds: S.optional(S.Number), restoredDocuments: S.optional(S.Number), snapshotId: S.optional(S.String), state: S.optional(ApiAtlasCollectionRestoreJobResponseState), targetClusterName: S.optional(S.String), targetGroupId: S.optional(S.String), totalDocuments: S.optional(S.Number), writeStrategy: S.optional( ApiAtlasCollectionRestoreJobResponseWriteStrategy, ), }), ).annotate({ identifier: "ApiAtlasCollectionRestoreJobResponse", }) as any as S.Schema; /** Human-readable label that identifies the subset of a global cluster. */ export interface ZoneMapping { /** Code that represents a location that maps to a zone in your global cluster. MongoDB Cloud represents this location with a ISO 3166-2 location and subdivision codes when possible. */ location: string; /** Human-readable label that identifies the zone in your global cluster. This zone maps to a location code. */ zone: string; } export const ZoneMapping = /*@__PURE__*/ S.suspend(() => S.Struct({ location: S.String, zone: S.String, }), ).annotate({ identifier: "ZoneMapping" }) as any as S.Schema; /** List that contains comma-separated key value pairs to map zones to geographic regions. These pairs map an ISO 3166-1a2 location code, with an ISO 3166-2 subdivision code when possible, to the human-readable label for the desired custom zone. MongoDB Cloud maps the ISO 3166-1a2 code to the nearest geographical zone by default. Include this parameter to override the default mappings. This parameter returns an empty object if no custom zones exist. */ export type CreateGroupClusterGlobalWriteCustomZoneMappingRequestCustomZoneMappingsList = Array; export const CreateGroupClusterGlobalWriteCustomZoneMappingRequestCustomZoneMappingsList = /*@__PURE__*/ S.Array( ZoneMapping, ) as any as S.Schema; export interface CreateGroupClusterGlobalWriteCustomZoneMappingRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** List that contains comma-separated key value pairs to map zones to geographic regions. These pairs map an ISO 3166-1a2 location code, with an ISO 3166-2 subdivision code when possible, to the human-readable label for the desired custom zone. MongoDB Cloud maps the ISO 3166-1a2 code to the nearest geographical zone by default. Include this parameter to override the default mappings. This parameter returns an empty object if no custom zones exist. */ customZoneMappings: CreateGroupClusterGlobalWriteCustomZoneMappingRequestCustomZoneMappingsList; } export const CreateGroupClusterGlobalWriteCustomZoneMappingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), customZoneMappings: CreateGroupClusterGlobalWriteCustomZoneMappingRequestCustomZoneMappingsList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/customZoneMapping", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "CreateGroupClusterGlobalWriteCustomZoneMappingRequest", }) as any as S.Schema; /** List that contains comma-separated key value pairs to map zones to geographic regions. These pairs map an ISO 3166-1a2 location code, with an ISO 3166-2 subdivision code when possible, to a unique 24-hexadecimal string that identifies the custom zone. The 24-hexadecimal string corresponds to a `Replication Specifications` `zoneId` property. This parameter returns an empty object if no custom zones exist. Example: `{"US-VA": "6716c5a804f4ce77e899bf99", "DE": "6716c5a804f4ce77e899bf9a"}`. */ export type GeoSharding20240805CustomZoneMappingMap = { [key: string]: string | undefined; }; export const GeoSharding20240805CustomZoneMappingMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export interface ManagedNamespaces { /** Human-readable label of the collection to manage for this Global Cluster. */ collection: string; /** Database parameter used to divide the *collection* into shards. Global clusters require a compound shard key. This compound shard key combines the location parameter and the user-selected custom key. */ customShardKey: string; /** Human-readable label of the database to manage for this Global Cluster. */ db: string; /** Flag that indicates whether someone hashed the custom shard key for the specified collection. If you set this value to `false`, MongoDB Cloud uses ranged sharding. */ isCustomShardKeyHashed?: boolean; /** Flag that indicates whether someone [hashed](https://www.mongodb.com/docs/manual/reference/method/sh.shardCollection/#hashed-shard-keys) the custom shard key. If this parameter returns `false`, this cluster uses [ranged sharding](https://www.mongodb.com/docs/manual/core/ranged-sharding/). */ isShardKeyUnique?: boolean; /** Minimum number of chunks to create initially when sharding an empty collection with a [hashed shard key](https://www.mongodb.com/docs/manual/core/hashed-sharding/). */ numInitialChunks?: number; /** Flag that indicates whether MongoDB Cloud should create and distribute initial chunks for an empty or non-existing collection. MongoDB Cloud distributes data based on the defined zones and zone ranges for the collection. */ presplitHashedZones?: boolean; } export const ManagedNamespaces = /*@__PURE__*/ S.suspend(() => S.Struct({ collection: S.String, customShardKey: S.String, db: S.String, isCustomShardKeyHashed: S.optional(S.Boolean), isShardKeyUnique: S.optional(S.Boolean), numInitialChunks: S.optional(S.Number), presplitHashedZones: S.optional(S.Boolean), }), ).annotate({ identifier: "ManagedNamespaces", }) as any as S.Schema; /** List that contains a namespace for a Global Cluster. MongoDB Cloud manages this cluster. */ export type GeoSharding20240805ManagedNamespacesList = Array; export const GeoSharding20240805ManagedNamespacesList = /*@__PURE__*/ S.Array( ManagedNamespaces, ) as any as S.Schema; export interface GeoSharding20240805 { /** List that contains comma-separated key value pairs to map zones to geographic regions. These pairs map an ISO 3166-1a2 location code, with an ISO 3166-2 subdivision code when possible, to a unique 24-hexadecimal string that identifies the custom zone. The 24-hexadecimal string corresponds to a `Replication Specifications` `zoneId` property. This parameter returns an empty object if no custom zones exist. Example: `{"US-VA": "6716c5a804f4ce77e899bf99", "DE": "6716c5a804f4ce77e899bf9a"}`. */ customZoneMapping?: GeoSharding20240805CustomZoneMappingMap; /** List that contains a namespace for a Global Cluster. MongoDB Cloud manages this cluster. */ managedNamespaces?: GeoSharding20240805ManagedNamespacesList; /** Boolean that controls which management mode the Global Cluster is operating under. If this parameter is true Self-Managed Sharding is enabled and users are in control of the zone sharding within the Global Cluster. If this parameter is false Atlas-Managed Sharding is enabled and Atlas is control of zone sharding within the Global Cluster. */ selfManagedSharding?: boolean; } export const GeoSharding20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ customZoneMapping: S.optional(GeoSharding20240805CustomZoneMappingMap), managedNamespaces: S.optional(GeoSharding20240805ManagedNamespacesList), selfManagedSharding: S.optional(S.Boolean), }), ).annotate({ identifier: "GeoSharding20240805", }) as any as S.Schema; export interface CreateGroupClusterGlobalWriteManagedNamespaceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label of the collection to manage for this Global Cluster. */ collection: string; /** Database parameter used to divide the *collection* into shards. Global clusters require a compound shard key. This compound shard key combines the location parameter and the user-selected custom key. */ customShardKey: string; /** Human-readable label of the database to manage for this Global Cluster. */ db: string; /** Flag that indicates whether someone hashed the custom shard key for the specified collection. If you set this value to `false`, MongoDB Cloud uses ranged sharding. */ isCustomShardKeyHashed?: boolean; /** Flag that indicates whether someone [hashed](https://www.mongodb.com/docs/manual/reference/method/sh.shardCollection/#hashed-shard-keys) the custom shard key. If this parameter returns `false`, this cluster uses [ranged sharding](https://www.mongodb.com/docs/manual/core/ranged-sharding/). */ isShardKeyUnique?: boolean; /** Minimum number of chunks to create initially when sharding an empty collection with a [hashed shard key](https://www.mongodb.com/docs/manual/core/hashed-sharding/). */ numInitialChunks?: number; /** Flag that indicates whether MongoDB Cloud should create and distribute initial chunks for an empty or non-existing collection. MongoDB Cloud distributes data based on the defined zones and zone ranges for the collection. */ presplitHashedZones?: boolean; } export const CreateGroupClusterGlobalWriteManagedNamespaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), collection: S.String, customShardKey: S.String, db: S.String, isCustomShardKeyHashed: S.optional(S.Boolean), isShardKeyUnique: S.optional(S.Boolean), numInitialChunks: S.optional(S.Number), presplitHashedZones: S.optional(S.Boolean), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/managedNamespaces", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "CreateGroupClusterGlobalWriteManagedNamespaceRequest", }) as any as S.Schema; /** Method to handle whitespace and punctuation as base characters for purposes of comparison. `"non-ignorable"` will evaluate Whitespace and Punctuation as Base Characters. `"shifted"` will not, MongoDB Cloud distinguishes these characters when `"strength" > 3`. */ export type CollationAlternate = "non-ignorable" | "shifted"; export const CollationAlternate = S.String; /** Method to handle sort order of case differences during tertiary level comparisons. `"upper"` sorts Uppercase before lowercase. `"lower"` sorts Lowercase before uppercase. `"off"` is similar to "lower" with slight differences. */ export type CollationCaseFirst = "lower" | "off" | "upper"; export const CollationCaseFirst = S.String; /** International Components for Unicode (ICU) code that represents a localized language. To specify simple binary comparison, set `"locale" : "simple"`. */ export type CollationLocale = | "af" | "sq" | "am" | "ar" | "hy" | "as" | "az" | "bn" | "be" | "bs" | "bs_Cyrl" | "bg" | "my" | "ca" | "chr" | "zh" | "zh_Hant" | "hr" | "cs" | "da" | "nl" | "dz" | "en" | "en_US" | "en_US_POSIX" | "eo" | "et" | "ee" | "fo" | "fil" | "fi_FI" | "fr" | "fr_CA" | "gl" | "ka" | "de" | "de_AT" | "el" | "gu" | "ha" | "haw" | "he" | "hi" | "hu" | "is" | "ig" | "smn" | "id" | "ga" | "it" | "ja" | "kl" | "kn" | "kk" | "km" | "kok" | "ko" | "ky" | "lk" | "lo" | "lv" | "li" | "lt" | "dsb" | "lb" | "mk" | "ms" | "ml" | "mt" | "mr" | "mn" | "ne" | "se" | "nb" | "nn" | "or" | "om" | "ps" | "fa" | "fa_AF" | "pl" | "pt" | "pa" | "ro" | "ru" | "sr" | "sr_Latn" | "si" | "sk" | "sl" | "es" | "sw" | "sv" | "ta" | "te" | "th" | "bo" | "to" | "tr" | "uk" | "hsb" | "ur" | "ug" | "vi" | "wae" | "cy" | "yi" | "yo" | "zu" | "simple"; export const CollationLocale = S.String; /** Field that indicates which characters can be ignored when `"alternate" : "shifted"`.`"punct"` ignores both whitespace and punctuation. `"space"` ignores whitespace. This has no affect if `"alternate" : "non-ignorable"`. */ export type CollationMaxVariable = "punct" | "space"; export const CollationMaxVariable = S.String; /** One or more settings that specify language-specific rules to compare strings within this index. */ export interface Collation { /** Method to handle whitespace and punctuation as base characters for purposes of comparison. `"non-ignorable"` will evaluate Whitespace and Punctuation as Base Characters. `"shifted"` will not, MongoDB Cloud distinguishes these characters when `"strength" > 3`. */ alternate?: CollationAlternate | (string & {}); /** Flag that indicates whether strings with diacritics sort from back of the string. Some French dictionary orders strings in this way. `true` will compare from back to front. `false` will compare from front to back. */ backwards?: boolean; /** Method to handle sort order of case differences during tertiary level comparisons. `"upper"` sorts Uppercase before lowercase. `"lower"` sorts Lowercase before uppercase. `"off"` is similar to "lower" with slight differences. */ caseFirst?: CollationCaseFirst | (string & {}); /** Flag that indicates whether to include case comparison when `"strength" : 1` or `"strength" : 2`. - `true` - Include casing in comparison - Strength Level: 1 - Base characters and case. - Strength Level: 2 - Base characters, diacritics (and possible other secondary differences), and case. - `false` - Case is NOT included in comparison. */ caseLevel?: boolean; /** International Components for Unicode (ICU) code that represents a localized language. To specify simple binary comparison, set `"locale" : "simple"`. */ locale: CollationLocale | (string & {}); /** Field that indicates which characters can be ignored when `"alternate" : "shifted"`.`"punct"` ignores both whitespace and punctuation. `"space"` ignores whitespace. This has no affect if `"alternate" : "non-ignorable"`. */ maxVariable?: CollationMaxVariable | (string & {}); /** Flag that indicates whether to check if the text requires normalization and then perform it. Most text doesn't require this normalization processing. `true` will check if fully normalized and perform normalization to compare text. `false` will not check. */ normalization?: boolean; /** Flag that indicates whether to compare sequences of digits as numbers or as strings. `true` will compare as numbers, this results in `10 > 2`. `false` will Compare as strings. This results in `"10" < "2"`. */ numericOrdering?: boolean; /** Degree of comparison to perform when sorting words. MongoDB Cloud accepts the following _numeric values_ that correspond to the _comparison level_ and what that _comparison method_ is. - `1` - "Primary" - Compares the base characters only, ignoring other differences such as diacritics and case. - `2` - "Secondary" - Compares base characters (primary) and diacritics (secondary). Primary differences take precedence over secondary differences. - `3` - "Tertiary" - Compares base characters (primary), diacritics (secondary), and case and variants (tertiary). Differences between base characters takes precedence over secondary differences which take precedence over tertiary differences. - `4` - "Quaternary" - Compares for the specific use case to consider punctuation when levels 1 through 3 ignore punctuation or for processing Japanese text. - `5` - "Identical" - Compares for the specific use case of tie breaker. */ strength?: number; } export const Collation = /*@__PURE__*/ S.suspend(() => S.Struct({ alternate: S.optional(CollationAlternate), backwards: S.optional(S.Boolean), caseFirst: S.optional(CollationCaseFirst), caseLevel: S.optional(S.Boolean), locale: CollationLocale, maxVariable: S.optional(CollationMaxVariable), normalization: S.optional(S.Boolean), numericOrdering: S.optional(S.Boolean), strength: S.optional(S.Number), }), ).annotate({ identifier: "Collation" }) as any as S.Schema; /** Key-value pair that sets the parameter to index as the key and the type of index as its value. To create a [multi-key index](https://docs.mongodb.com/manual/core/index-multikey/), list each parameter in its own object within this array. */ export type CreateGroupClusterIndexRollingIndexRequestKeysItemMap = { [key: string]: string | undefined; }; export const CreateGroupClusterIndexRollingIndexRequestKeysItemMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** List that contains one or more objects that describe the parameters that you want to index. */ export type CreateGroupClusterIndexRollingIndexRequestKeysList = Array; export const CreateGroupClusterIndexRollingIndexRequestKeysList = /*@__PURE__*/ S.Array( CreateGroupClusterIndexRollingIndexRequestKeysItemMap, ) as any as S.Schema; /** The `columnstoreProjection` document allows to include or exclude sub-schemas schema. One cannot combine inclusion and exclusion statements. Accordingly, the can be either of the following: 1 or true to include the field and recursively all fields it is a prefix of in the index 0 or false to exclude the field and recursively all fields it is a prefix of from the index. */ export type IndexOptionsColumnstoreProjectionMap = { [key: string]: number | undefined; }; export const IndexOptionsColumnstoreProjectionMap = /*@__PURE__*/ S.Record( S.String, S.Number, ) as any as S.Schema; /** Rules that limit the documents that the index references to a filter expression. All MongoDB index types accept a `partialFilterExpression` option. `partialFilterExpression` can include following expressions: - equality (`"parameter" : "value"` or using the `$eq` operator) - `"$exists": true` , maximum: `$gt`, `$gte`, `$lt`, `$lte` comparisons - `$type` - `$and` (top-level only) This option applies to all index types. */ export type IndexOptionsPartialFilterExpressionMap = { [key: string]: unknown | undefined; }; export const IndexOptionsPartialFilterExpressionMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** Storage engine set for the specific index. This value can be set only at creation. This option uses the following format: `"storageEngine" : { "" : "" }` MongoDB validates storage engine configuration options when creating indexes. To support replica sets with members with different storage engines, MongoDB logs these options to the oplog during replication. This option applies to all index types. */ export type IndexOptionsStorageEngineMap = { [key: string]: unknown | undefined; }; export const IndexOptionsStorageEngineMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** Relative importance to place upon provided index parameters. This object expresses this as key/value pairs of index parameter and weight to apply to that parameter. You can specify weights for some or all the indexed parameters. The weight must be an integer between 1 and 99,999. MongoDB 5.0 and later can apply **weights** to **text** indexes only. */ export type IndexOptionsWeightsMap = { [key: string]: unknown | undefined }; export const IndexOptionsWeightsMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** One or more settings that determine how the MongoDB Cloud creates this MongoDB index. */ export interface IndexOptions { /** Index version number applied to the 2dsphere index. MongoDB 3.2 and later use version 3. Use this option to override the default version number. This option applies to the **2dsphere** index type only. */ _2dsphereIndexVersion?: number; /** Flag that indicates whether MongoDB should build the index in the background. This applies to MongoDB databases running feature compatibility version 4.0 or earlier. MongoDB databases running FCV 4.2 or later build indexes using an optimized build process. This process holds the exclusive lock only at the beginning and end of the build process. The rest of the build process yields to interleaving read and write operations. MongoDB databases running FCV 4.2 or later ignore this option. This option applies to all index types. */ background?: boolean; /** Number of precision applied to the stored geohash value of the location data. This option applies to the **2d** index type only. */ bits?: number; /** Number of units within which to group the location values. You could group in the same bucket those location values within the specified number of units to each other. This option applies to the geoHaystack index type only. MongoDB 5.0 removed geoHaystack Indexes and the `geoSearch` command. */ bucketSize?: number; /** The `columnstoreProjection` document allows to include or exclude sub-schemas schema. One cannot combine inclusion and exclusion statements. Accordingly, the can be either of the following: 1 or true to include the field and recursively all fields it is a prefix of in the index 0 or false to exclude the field and recursively all fields it is a prefix of from the index. */ columnstoreProjection?: IndexOptionsColumnstoreProjectionMap; /** Human language that determines the list of stop words and the rules for the stemmer and tokenizer. This option accepts the supported languages using its name in lowercase English or the ISO 639-2 code. If you set this parameter to `"none"`, then the text search uses simple tokenization with no list of stop words and no stemming. This option applies to the **text** index type only. */ default_language?: string; /** Number of seconds that MongoDB retains documents in a Time To Live (TTL) index. */ expireAfterSeconds?: number; /** Flag that determines whether the index is hidden from the query planner. A hidden index is not evaluated as part of the query plan selection. */ hidden?: boolean; /** Human-readable label that identifies the document parameter that contains the override language for the document. This option applies to the **text** index type only. */ language_override?: string; /** Upper inclusive boundary to limit the longitude and latitude values. This option applies to the 2d index type only. */ max?: number; /** Lower inclusive boundary to limit the longitude and latitude values. This option applies to the 2d index type only. */ min?: number; /** Human-readable label that identifies this index. This option applies to all index types. */ name?: string; /** Rules that limit the documents that the index references to a filter expression. All MongoDB index types accept a `partialFilterExpression` option. `partialFilterExpression` can include following expressions: - equality (`"parameter" : "value"` or using the `$eq` operator) - `"$exists": true` , maximum: `$gt`, `$gte`, `$lt`, `$lte` comparisons - `$type` - `$and` (top-level only) This option applies to all index types. */ partialFilterExpression?: IndexOptionsPartialFilterExpressionMap; /** Flag that indicates whether the index references documents that only have the specified parameter. These indexes use less space but behave differently in some situations like when sorting. The following index types default to sparse and ignore this option: `2dsphere`, `2d`, `geoHaystack`, `text`. Compound indexes that includes one or more indexes with `2dsphere` keys alongside other key types, only the `2dsphere` index parameters determine which documents the index references. If you run MongoDB 3.2 or later, use partial indexes. This option applies to all index types. */ sparse?: boolean; /** Storage engine set for the specific index. This value can be set only at creation. This option uses the following format: `"storageEngine" : { "" : "" }` MongoDB validates storage engine configuration options when creating indexes. To support replica sets with members with different storage engines, MongoDB logs these options to the oplog during replication. This option applies to all index types. */ storageEngine?: IndexOptionsStorageEngineMap; /** Version applied to this text index. MongoDB 3.2 and later use version `3`. Use this option to override the default version number. This option applies to the **text** index type only. */ textIndexVersion?: number; /** Relative importance to place upon provided index parameters. This object expresses this as key/value pairs of index parameter and weight to apply to that parameter. You can specify weights for some or all the indexed parameters. The weight must be an integer between 1 and 99,999. MongoDB 5.0 and later can apply **weights** to **text** indexes only. */ weights?: IndexOptionsWeightsMap; } export const IndexOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ _2dsphereIndexVersion: S.optional( S.Number.pipe(T.Body("2dsphereIndexVersion")), ), background: S.optional(S.Boolean), bits: S.optional(S.Number), bucketSize: S.optional(S.Number), columnstoreProjection: S.optional(IndexOptionsColumnstoreProjectionMap), default_language: S.optional(S.String), expireAfterSeconds: S.optional(S.Number), hidden: S.optional(S.Boolean), language_override: S.optional(S.String), max: S.optional(S.Number), min: S.optional(S.Number), name: S.optional(S.String), partialFilterExpression: S.optional(IndexOptionsPartialFilterExpressionMap), sparse: S.optional(S.Boolean), storageEngine: S.optional(IndexOptionsStorageEngineMap), textIndexVersion: S.optional(S.Number), weights: S.optional(IndexOptionsWeightsMap), }), ).annotate({ identifier: "IndexOptions" }) as any as S.Schema; export interface CreateGroupClusterIndexRollingIndexRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster on which MongoDB Cloud creates an index. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; collation?: Collation; /** Human-readable label of the collection for which MongoDB Cloud creates an index. */ collection: string; /** Human-readable label of the database that holds the collection on which MongoDB Cloud creates an index. */ db: string; /** List that contains one or more objects that describe the parameters that you want to index. */ keys: CreateGroupClusterIndexRollingIndexRequestKeysList; options?: IndexOptions; } export const CreateGroupClusterIndexRollingIndexRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), collation: S.optional(Collation), collection: S.String, db: S.String, keys: CreateGroupClusterIndexRollingIndexRequestKeysList, options: S.optional(IndexOptions), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/index", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupClusterIndexRollingIndexRequest", }) as any as S.Schema; export interface CreateGroupClusterIndexRollingIndexResponse {} export const CreateGroupClusterIndexRollingIndexResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "CreateGroupClusterIndexRollingIndexResponse", }) as any as S.Schema; /** Classification of MongoDB database collection that you want to return. If you set this parameter to `TIMESERIES`, set `"criteria.type" : "date"` and `"criteria.dateFormat" : "ISODATE"`. */ export type CreateGroupClusterOnlineArchiveRequestCollectionType = | "TIMESERIES" | "STANDARD"; export const CreateGroupClusterOnlineArchiveRequestCollectionType = S.String; /** Means by which MongoDB Cloud selects data to archive. Data can be chosen using the age of the data or a MongoDB query. `DATE` selects documents to archive based on a date. `CUSTOM` selects documents to archive based on a custom JSON query. MongoDB Cloud doesn't support `CUSTOM` when `"collectionType": "TIMESERIES"`. */ export type CriteriaViewType = "DATE" | "CUSTOM"; export const CriteriaViewType = S.String; /** Rules by which MongoDB Cloud archives data. Use the `criteria.type` field to choose how MongoDB Cloud selects data to archive. Choose data using the age of the data or a MongoDB query. `"criteria.type": "DATE"` selects documents to archive based on a date. `"criteria.type": "CUSTOM"` selects documents to archive based on a custom JSON query. MongoDB Cloud doesn't support `"criteria.type": "CUSTOM"` when `"collectionType": "TIMESERIES"`. */ export interface CriteriaView { /** Means by which MongoDB Cloud selects data to archive. Data can be chosen using the age of the data or a MongoDB query. `DATE` selects documents to archive based on a date. `CUSTOM` selects documents to archive based on a custom JSON query. MongoDB Cloud doesn't support `CUSTOM` when `"collectionType": "TIMESERIES"`. */ type?: CriteriaViewType | (string & {}); } export const CriteriaView = /*@__PURE__*/ S.suspend(() => S.Struct({ type: S.optional(CriteriaViewType), }), ).annotate({ identifier: "CriteriaView" }) as any as S.Schema; /** Rule for specifying when data should be deleted from the archive. */ export interface DataExpirationRuleView { /** Number of days used in the date criteria for nominating documents for deletion. */ expireAfterDays?: number; } export const DataExpirationRuleView = /*@__PURE__*/ S.suspend(() => S.Struct({ expireAfterDays: S.optional(S.Number), }), ).annotate({ identifier: "DataExpirationRuleView", }) as any as S.Schema; /** Human-readable label that identifies the Cloud service provider where you wish to store your archived data. `AZURE` or `GCP` may be selected only if it is the Cloud service provider for the cluster and no archives for any other cloud provider have been created for the cluster. */ export type CreateDataProcessRegionViewCloudProvider = "AWS" | "AZURE" | "GCP"; export const CreateDataProcessRegionViewCloudProvider = S.String; /** Settings to configure the region where you wish to store your archived data. */ export interface CreateDataProcessRegionView { /** Human-readable label that identifies the Cloud service provider where you wish to store your archived data. `AZURE` or `GCP` may be selected only if it is the Cloud service provider for the cluster and no archives for any other cloud provider have been created for the cluster. */ cloudProvider?: CreateDataProcessRegionViewCloudProvider | (string & {}); } export const CreateDataProcessRegionView = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(CreateDataProcessRegionViewCloudProvider), }), ).annotate({ identifier: "CreateDataProcessRegionView", }) as any as S.Schema; /** Metadata to partition this online archive. */ export interface PartitionFieldViewInput { /** Human-readable label that identifies the parameter that MongoDB Cloud uses to partition data. To specify a nested parameter, use the dot notation. */ fieldName: string; /** Sequence in which MongoDB Cloud slices the collection data to create partitions. The resource expresses this sequence starting with zero. The value of the `criteria.dateField` parameter defaults as the first item in the partition sequence. */ order: number; } export const PartitionFieldViewInput = /*@__PURE__*/ S.suspend(() => S.Struct({ fieldName: S.String, order: S.Number, }), ).annotate({ identifier: "PartitionFieldViewInput", }) as any as S.Schema; /** List that contains document parameters to use to logically divide data within a collection. Partitions provide a coarse level of filtering of the underlying collection data. To divide your data, specify parameters that you frequently query. If you specified `criteria.type`: `DATE` in the Create One Online Archive endpoint, then you can specify up to three parameters by which to query. One of these parameters must be the `DATE` value, which is required in this case. If you specified `criteria.type`: `CUSTOM` in the Create One Online Archive endpoint, then you can specify up to two parameters by which to query. Queries that don't use `criteria.type`: `DATE` or `criteria.type`: `CUSTOM` parameters cause MongoDB to scan a full collection of all archived documents. This takes more time and increases your costs. */ export type CreateGroupClusterOnlineArchiveRequestPartitionFieldsList = Array; export const CreateGroupClusterOnlineArchiveRequestPartitionFieldsList = /*@__PURE__*/ S.Array( PartitionFieldViewInput, ) as any as S.Schema; /** Type of schedule. */ export type DailyScheduleViewType = "DEFAULT" | "DAILY" | "WEEKLY" | "MONTHLY"; export const DailyScheduleViewType = S.String; export interface DailyScheduleView { /** Hour of the day when the scheduled window to run one online archive ends. This field uses the UTC time zone. The window must have a duration of at least two hours. If the end time is before or equal to the start time, the window extends to the next day. */ endHour?: number; /** Minute of the hour when the scheduled window to run one online archive ends. This field uses the UTC time zone. The window must have a duration of at least two hours. If the end time is before or equal to the start time, the window extends to the next day. */ endMinute?: number; /** Hour of the day when the scheduled window to run one online archive starts. This field uses the UTC time zone. */ startHour?: number; /** Minute of the hour when the scheduled window to run one online archive starts. This field uses the UTC time zone. */ startMinute?: number; /** Day of the week when the scheduled archive starts. The week starts with Monday (`1`) and ends with Sunday (`7`). */ dayOfWeek?: number; /** Day of the month when the scheduled archive starts. */ dayOfMonth?: number; /** Type of schedule. */ type: DailyScheduleViewType | (string & {}); } export const DailyScheduleView = /*@__PURE__*/ S.suspend(() => S.Struct({ endHour: S.optional(S.Number), endMinute: S.optional(S.Number), startHour: S.optional(S.Number), startMinute: S.optional(S.Number), dayOfWeek: S.optional(S.Number), dayOfMonth: S.optional(S.Number), type: DailyScheduleViewType, }), ).annotate({ identifier: "DailyScheduleView", }) as any as S.Schema; /** Type of schedule. */ export type WeeklyScheduleViewType = "DEFAULT" | "DAILY" | "WEEKLY" | "MONTHLY"; export const WeeklyScheduleViewType = S.String; export interface WeeklyScheduleView { /** Hour of the day when the scheduled window to run one online archive ends. This field uses the UTC time zone. The window must have a duration of at least two hours. If the end time is before or equal to the start time, the window extends to the next day. */ endHour?: number; /** Minute of the hour when the scheduled window to run one online archive ends. This field uses the UTC time zone. The window must have a duration of at least two hours. If the end time is before or equal to the start time, the window extends to the next day. */ endMinute?: number; /** Hour of the day when the scheduled window to run one online archive starts. This field uses the UTC time zone. */ startHour?: number; /** Minute of the hour when the scheduled window to run one online archive starts. This field uses the UTC time zone. */ startMinute?: number; /** Day of the week when the scheduled archive starts. The week starts with Monday (`1`) and ends with Sunday (`7`). */ dayOfWeek?: number; /** Day of the month when the scheduled archive starts. */ dayOfMonth?: number; /** Type of schedule. */ type: WeeklyScheduleViewType | (string & {}); } export const WeeklyScheduleView = /*@__PURE__*/ S.suspend(() => S.Struct({ endHour: S.optional(S.Number), endMinute: S.optional(S.Number), startHour: S.optional(S.Number), startMinute: S.optional(S.Number), dayOfWeek: S.optional(S.Number), dayOfMonth: S.optional(S.Number), type: WeeklyScheduleViewType, }), ).annotate({ identifier: "WeeklyScheduleView", }) as any as S.Schema; /** Type of schedule. */ export type MonthlyScheduleViewType = | "DEFAULT" | "DAILY" | "WEEKLY" | "MONTHLY"; export const MonthlyScheduleViewType = S.String; export interface MonthlyScheduleView { /** Hour of the day when the scheduled window to run one online archive ends. This field uses the UTC time zone. The window must have a duration of at least two hours. If the end time is before or equal to the start time, the window extends to the next day. */ endHour?: number; /** Minute of the hour when the scheduled window to run one online archive ends. This field uses the UTC time zone. The window must have a duration of at least two hours. If the end time is before or equal to the start time, the window extends to the next day. */ endMinute?: number; /** Hour of the day when the scheduled window to run one online archive starts. This field uses the UTC time zone. */ startHour?: number; /** Minute of the hour when the scheduled window to run one online archive starts. This field uses the UTC time zone. */ startMinute?: number; /** Day of the week when the scheduled archive starts. The week starts with Monday (`1`) and ends with Sunday (`7`). */ dayOfWeek?: number; /** Day of the month when the scheduled archive starts. */ dayOfMonth?: number; /** Type of schedule. */ type: MonthlyScheduleViewType | (string & {}); } export const MonthlyScheduleView = /*@__PURE__*/ S.suspend(() => S.Struct({ endHour: S.optional(S.Number), endMinute: S.optional(S.Number), startHour: S.optional(S.Number), startMinute: S.optional(S.Number), dayOfWeek: S.optional(S.Number), dayOfMonth: S.optional(S.Number), type: MonthlyScheduleViewType, }), ).annotate({ identifier: "MonthlyScheduleView", }) as any as S.Schema; /** Regular frequency and duration when archiving process occurs. */ export type OnlineArchiveSchedule = | DailyScheduleView | WeeklyScheduleView | MonthlyScheduleView; export const OnlineArchiveSchedule = S.Unknown as any as S.Schema; export interface CreateGroupClusterOnlineArchiveRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster that contains the collection for which you want to create one online archive. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the collection for which you created the online archive. */ collName: string; /** Classification of MongoDB database collection that you want to return. If you set this parameter to `TIMESERIES`, set `"criteria.type" : "date"` and `"criteria.dateFormat" : "ISODATE"`. */ collectionType?: | CreateGroupClusterOnlineArchiveRequestCollectionType | (string & {}); criteria: CriteriaView; dataExpirationRule?: DataExpirationRuleView; dataProcessRegion?: CreateDataProcessRegionView; /** Human-readable label of the database that contains the collection that contains the online archive. */ dbName: string; /** List that contains document parameters to use to logically divide data within a collection. Partitions provide a coarse level of filtering of the underlying collection data. To divide your data, specify parameters that you frequently query. If you specified `criteria.type`: `DATE` in the Create One Online Archive endpoint, then you can specify up to three parameters by which to query. One of these parameters must be the `DATE` value, which is required in this case. If you specified `criteria.type`: `CUSTOM` in the Create One Online Archive endpoint, then you can specify up to two parameters by which to query. Queries that don't use `criteria.type`: `DATE` or `criteria.type`: `CUSTOM` parameters cause MongoDB to scan a full collection of all archived documents. This takes more time and increases your costs. */ partitionFields?: CreateGroupClusterOnlineArchiveRequestPartitionFieldsList; /** Flag that indicates whether this online archive exists in the paused state. A request to resume fails if the collection has another active online archive. To pause an active online archive or resume a paused online archive, you must include this parameter. To pause an active archive, set this to **true**. To resume a paused archive, set this to **false**. */ paused?: boolean; schedule?: OnlineArchiveSchedule; } export const CreateGroupClusterOnlineArchiveRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), collName: S.String, collectionType: S.optional( CreateGroupClusterOnlineArchiveRequestCollectionType, ), criteria: CriteriaView, dataExpirationRule: S.optional(DataExpirationRuleView), dataProcessRegion: S.optional(CreateDataProcessRegionView), dbName: S.String, partitionFields: S.optional( CreateGroupClusterOnlineArchiveRequestPartitionFieldsList, ), paused: S.optional(S.Boolean), schedule: S.optional(OnlineArchiveSchedule), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupClusterOnlineArchiveRequest", }) as any as S.Schema; /** Classification of MongoDB database collection that you want to return. If you set this parameter to `TIMESERIES`, set `"criteria.type" : "date"` and `"criteria.dateFormat" : "ISODATE"`. */ export type BackupOnlineArchiveCollectionType = "TIMESERIES" | "STANDARD"; export const BackupOnlineArchiveCollectionType = S.String; /** Human-readable label that identifies the Cloud service provider where you store your archived data. */ export type DataProcessRegionViewCloudProvider = "AWS" | "AZURE" | "GCP"; export const DataProcessRegionViewCloudProvider = S.String; /** Settings to configure the region where you wish to store your archived data. */ export interface DataProcessRegionView { /** Human-readable label that identifies the Cloud service provider where you store your archived data. */ cloudProvider?: DataProcessRegionViewCloudProvider; } export const DataProcessRegionView = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(DataProcessRegionViewCloudProvider), }), ).annotate({ identifier: "DataProcessRegionView", }) as any as S.Schema; /** Data type of the parameter that that MongoDB Cloud uses to partition data. Partition parameters of type UUID must be of binary subtype 4. MongoDB Cloud skips partition parameters of type UUID with subtype 3. */ export type PartitionFieldViewFieldType = | "date" | "int" | "long" | "objectId" | "string" | "uuid"; export const PartitionFieldViewFieldType = S.String; /** Metadata to partition this online archive. */ export interface PartitionFieldView { /** Human-readable label that identifies the parameter that MongoDB Cloud uses to partition data. To specify a nested parameter, use the dot notation. */ fieldName: string; /** Data type of the parameter that that MongoDB Cloud uses to partition data. Partition parameters of type UUID must be of binary subtype 4. MongoDB Cloud skips partition parameters of type UUID with subtype 3. */ fieldType?: PartitionFieldViewFieldType; /** Sequence in which MongoDB Cloud slices the collection data to create partitions. The resource expresses this sequence starting with zero. The value of the `criteria.dateField` parameter defaults as the first item in the partition sequence. */ order: number; } export const PartitionFieldView = /*@__PURE__*/ S.suspend(() => S.Struct({ fieldName: S.String, fieldType: S.optional(PartitionFieldViewFieldType), order: S.Number, }), ).annotate({ identifier: "PartitionFieldView", }) as any as S.Schema; /** List that contains document parameters to use to logically divide data within a collection. Partitions provide a coarse level of filtering of the underlying collection data. To divide your data, specify parameters that you frequently query. If you specified `criteria.type`: `DATE` in the Create One Online Archive endpoint, then you can specify up to three parameters by which to query. One of these parameters must be the `DATE` value, which is required in this case. If you specified `criteria.type`: `CUSTOM` in the Create One Online Archive endpoint, then you can specify up to two parameters by which to query. Queries that don't use `criteria.type`: `DATE` or `criteria.type`: `CUSTOM` parameters cause MongoDB to scan a full collection of all archived documents. This takes more time and increases your costs. */ export type BackupOnlineArchivePartitionFieldsList = Array; export const BackupOnlineArchivePartitionFieldsList = /*@__PURE__*/ S.Array( PartitionFieldView, ) as any as S.Schema; /** Phase of the process to create this online archive when you made this request. | State | Indication | |-------------|------------| | `PENDING` | MongoDB Cloud has queued documents for archive. Archiving hasn't started. | | `ARCHIVING` | MongoDB Cloud started archiving documents that meet the archival criteria. | | `IDLE` | MongoDB Cloud waits to start the next archival job. | | `PAUSING` | Someone chose to stop archiving. MongoDB Cloud finishes the running archival job then changes the state to `PAUSED` when that job completes. | | `PAUSED` | MongoDB Cloud has stopped archiving. Archived documents can be queried. The specified archiving operation on the active cluster cannot archive additional documents. You can resume archiving for paused archives at any time. | | `ORPHANED` | Someone has deleted the collection associated with an active or paused archive. MongoDB Cloud doesn't delete the archived data. You must manually delete the online archives associated with the deleted collection. | | `DELETED` | Someone has deleted the archive was deleted. When someone deletes an online archive, MongoDB Cloud removes all associated archived documents from the cloud object storage. | */ export type BackupOnlineArchiveState = | "PENDING" | "ACTIVE" | "PAUSING" | "PAUSED" | "DELETED" | "ORPHANED"; export const BackupOnlineArchiveState = S.String; export interface BackupOnlineArchive { /** Unique 24-hexadecimal digit string that identifies the online archive. */ _id?: string; /** Human-readable label that identifies the cluster that contains the collection for which you want to create an online archive. */ clusterName?: string; /** Human-readable label that identifies the collection for which you created the online archive. */ collName?: string; /** Classification of MongoDB database collection that you want to return. If you set this parameter to `TIMESERIES`, set `"criteria.type" : "date"` and `"criteria.dateFormat" : "ISODATE"`. */ collectionType?: BackupOnlineArchiveCollectionType; criteria?: CriteriaView; dataExpirationRule?: DataExpirationRuleView; dataProcessRegion?: DataProcessRegionView; /** Human-readable label that identifies the dataset that Atlas generates for this online archive. */ dataSetName?: string; /** Human-readable label of the database that contains the collection that contains the online archive. */ dbName?: string; /** Unique 24-hexadecimal digit string that identifies the project that contains the specified cluster. The specified cluster contains the collection for which to create the online archive. */ groupId?: string; /** List that contains document parameters to use to logically divide data within a collection. Partitions provide a coarse level of filtering of the underlying collection data. To divide your data, specify parameters that you frequently query. If you specified `criteria.type`: `DATE` in the Create One Online Archive endpoint, then you can specify up to three parameters by which to query. One of these parameters must be the `DATE` value, which is required in this case. If you specified `criteria.type`: `CUSTOM` in the Create One Online Archive endpoint, then you can specify up to two parameters by which to query. Queries that don't use `criteria.type`: `DATE` or `criteria.type`: `CUSTOM` parameters cause MongoDB to scan a full collection of all archived documents. This takes more time and increases your costs. */ partitionFields?: BackupOnlineArchivePartitionFieldsList; /** Flag that indicates whether this online archive exists in the paused state. A request to resume fails if the collection has another active online archive. To pause an active online archive or resume a paused online archive, you must include this parameter. To pause an active archive, set this to **true**. To resume a paused archive, set this to **false**. */ paused?: boolean; schedule?: OnlineArchiveSchedule; /** Phase of the process to create this online archive when you made this request. | State | Indication | |-------------|------------| | `PENDING` | MongoDB Cloud has queued documents for archive. Archiving hasn't started. | | `ARCHIVING` | MongoDB Cloud started archiving documents that meet the archival criteria. | | `IDLE` | MongoDB Cloud waits to start the next archival job. | | `PAUSING` | Someone chose to stop archiving. MongoDB Cloud finishes the running archival job then changes the state to `PAUSED` when that job completes. | | `PAUSED` | MongoDB Cloud has stopped archiving. Archived documents can be queried. The specified archiving operation on the active cluster cannot archive additional documents. You can resume archiving for paused archives at any time. | | `ORPHANED` | Someone has deleted the collection associated with an active or paused archive. MongoDB Cloud doesn't delete the archived data. You must manually delete the online archives associated with the deleted collection. | | `DELETED` | Someone has deleted the archive was deleted. When someone deletes an online archive, MongoDB Cloud removes all associated archived documents from the cloud object storage. | */ state?: BackupOnlineArchiveState; } export const BackupOnlineArchive = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.String), clusterName: S.optional(S.String), collName: S.optional(S.String), collectionType: S.optional(BackupOnlineArchiveCollectionType), criteria: S.optional(CriteriaView), dataExpirationRule: S.optional(DataExpirationRuleView), dataProcessRegion: S.optional(DataProcessRegionView), dataSetName: S.optional(S.String), dbName: S.optional(S.String), groupId: S.optional(S.String), partitionFields: S.optional(BackupOnlineArchivePartitionFieldsList), paused: S.optional(S.Boolean), schedule: S.optional(OnlineArchiveSchedule), state: S.optional(BackupOnlineArchiveState), }), ).annotate({ identifier: "BackupOnlineArchive", }) as any as S.Schema; export interface CreateGroupClusterOverloadSimulationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster on which to start the overload protection simulation. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Duration of the overload protection simulation in seconds. */ durationSeconds: number; } export const CreateGroupClusterOverloadSimulationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), durationSeconds: S.Number, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/overloadSimulations", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateGroupClusterOverloadSimulationRequest", }) as any as S.Schema; /** Overload protection simulation for a cluster. */ export interface OverloadProtectionSimulationResponse { /** Date and time when cancellation of the overload protection simulation was requested. This parameter is only present when a cancellation has been requested and expresses its value in the ISO 8601 timestamp format in UTC. */ cancelRequestedAt?: string; /** Human-readable label that identifies the cluster on which the simulation is running. */ clusterName: string; /** Duration of the overload protection simulation in seconds. */ durationSeconds: number; /** Date and time when the overload protection simulation expires. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expiresAt: string; /** Unique 24-hexadecimal character string that identifies the project that contains the cluster. */ groupId: string; /** Date and time when the overload protection simulation was requested. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ requestDate: string; /** Unique identifier of the overload protection simulation. */ simulationId: string; /** Current state of the overload protection simulation. */ state: string; } export const OverloadProtectionSimulationResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ cancelRequestedAt: S.optional(S.String), clusterName: S.String, durationSeconds: S.Number, expiresAt: S.String, groupId: S.String, requestDate: S.String, simulationId: S.String, state: S.String, }), ).annotate({ identifier: "OverloadProtectionSimulationResponse", }) as any as S.Schema; /** Cloud service provider that hosts the Search Nodes in this region. Required when a region is specified. */ export type ApiSearchDeploymentRequestSpecViewCloudProvider = | "AWS" | "AZURE" | "GCP"; export const ApiSearchDeploymentRequestSpecViewCloudProvider = S.String; /** Hardware specification for the Search Node instance sizes. */ export type ApiSearchDeploymentRequestSpecViewInstanceSize = | "S10_HIGHCPU" | "S20_HIGHCPU_NVME" | "S30_HIGHCPU_NVME" | "S40_HIGHCPU_NVME" | "S50_HIGHCPU_NVME" | "S60_HIGHCPU_NVME" | "S70_HIGHCPU_NVME" | "S80_HIGHCPU_NVME" | "S30_LOWCPU_NVME" | "S40_LOWCPU_NVME" | "S50_LOWCPU_NVME" | "S60_LOWCPU_NVME" | "S70_LOWCPU_NVME" | "S80_LOWCPU_NVME" | "S90_LOWCPU_NVME" | "S100_LOWCPU_NVME" | "S110_LOWCPU_NVME" | "S120_LOWCPU_NVME" | "S130_LOWCPU_NVME" | "S135_LOWCPU_NVME" | "S140_LOWCPU_NVME" | "S40_STORAGE_NVME" | "S50_STORAGE_NVME" | "S60_STORAGE_NVME" | "S80_STORAGE_NVME" | "S90_STORAGE_NVME"; export const ApiSearchDeploymentRequestSpecViewInstanceSize = S.String; export interface ApiSearchDeploymentRequestSpecView { /** Cloud service provider that hosts the Search Nodes in this region. Required when a region is specified. */ cloudProvider?: | ApiSearchDeploymentRequestSpecViewCloudProvider | (string & {}) | null; /** Hardware specification for the Search Node instance sizes. */ instanceSize: ApiSearchDeploymentRequestSpecViewInstanceSize | (string & {}); /** Number of Search Nodes in this region. Optional; falls back to the request-level default when omitted. */ nodeCount?: number | null; /** Cloud provider region where Search Nodes are provisioned. Required when the request configures more than one region; optional for single-region requests. */ regionName?: string | null; } export const ApiSearchDeploymentRequestSpecView = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional( S.NullOr(ApiSearchDeploymentRequestSpecViewCloudProvider), ), instanceSize: ApiSearchDeploymentRequestSpecViewInstanceSize, nodeCount: S.optional(S.NullOr(S.Number)), regionName: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "ApiSearchDeploymentRequestSpecView", }) as any as S.Schema; /** List of settings that configure the Search Nodes for your cluster. Provide one element per region when configuring asymmetric deployments; a single element applies to all regions. */ export type CreateGroupClusterSearchDeploymentRequestSpecsList = Array; export const CreateGroupClusterSearchDeploymentRequestSpecsList = /*@__PURE__*/ S.Array( ApiSearchDeploymentRequestSpecView, ) as any as S.Schema; export interface CreateGroupClusterSearchDeploymentRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the cluster to create Search Nodes for. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Default number of Search Nodes per region. Applied to a region without an explicit override. */ defaultNodeCount?: number | null; /** List of settings that configure the Search Nodes for your cluster. Provide one element per region when configuring asymmetric deployments; a single element applies to all regions. */ specs: CreateGroupClusterSearchDeploymentRequestSpecsList; } export const CreateGroupClusterSearchDeploymentRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), defaultNodeCount: S.optional(S.NullOr(S.Number)), specs: CreateGroupClusterSearchDeploymentRequestSpecsList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/deployment", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "CreateGroupClusterSearchDeploymentRequest", }) as any as S.Schema; /** Cloud service provider on which Search Nodes are provisioned. */ export type ApiSearchDeploymentEffectiveSpecViewCloudProvider = | "AWS" | "AZURE" | "GCP"; export const ApiSearchDeploymentEffectiveSpecViewCloudProvider = S.String; /** Hardware specification for the Search Node instance sizes. */ export type ApiSearchDeploymentEffectiveSpecViewInstanceSize = | "S10_HIGHCPU" | "S20_HIGHCPU_NVME" | "S30_HIGHCPU_NVME" | "S40_HIGHCPU_NVME" | "S50_HIGHCPU_NVME" | "S60_HIGHCPU_NVME" | "S70_HIGHCPU_NVME" | "S80_HIGHCPU_NVME" | "S30_LOWCPU_NVME" | "S40_LOWCPU_NVME" | "S50_LOWCPU_NVME" | "S60_LOWCPU_NVME" | "S70_LOWCPU_NVME" | "S80_LOWCPU_NVME" | "S90_LOWCPU_NVME" | "S100_LOWCPU_NVME" | "S110_LOWCPU_NVME" | "S120_LOWCPU_NVME" | "S130_LOWCPU_NVME" | "S135_LOWCPU_NVME" | "S140_LOWCPU_NVME" | "S40_STORAGE_NVME" | "S50_STORAGE_NVME" | "S60_STORAGE_NVME" | "S80_STORAGE_NVME" | "S90_STORAGE_NVME"; export const ApiSearchDeploymentEffectiveSpecViewInstanceSize = S.String; export interface ApiSearchDeploymentEffectiveSpecView { /** Cloud service provider on which Search Nodes are provisioned. */ cloudProvider?: ApiSearchDeploymentEffectiveSpecViewCloudProvider; /** Hardware specification for the Search Node instance sizes. */ instanceSize?: ApiSearchDeploymentEffectiveSpecViewInstanceSize; /** Number of Search Nodes in this region. */ nodeCount?: number; /** Cloud provider region where Search Nodes are provisioned. */ regionName?: string; } export const ApiSearchDeploymentEffectiveSpecView = /*@__PURE__*/ S.suspend( () => S.Struct({ cloudProvider: S.optional( ApiSearchDeploymentEffectiveSpecViewCloudProvider, ), instanceSize: S.optional( ApiSearchDeploymentEffectiveSpecViewInstanceSize, ), nodeCount: S.optional(S.Number), regionName: S.optional(S.String), }), ).annotate({ identifier: "ApiSearchDeploymentEffectiveSpecView", }) as any as S.Schema; /** List of settings that configure the Search Nodes for your cluster, with per-region detail including the region name and cloud provider. */ export type ApiSearchDeploymentResponseViewEffectiveSpecsList = Array; export const ApiSearchDeploymentResponseViewEffectiveSpecsList = /*@__PURE__*/ S.Array( ApiSearchDeploymentEffectiveSpecView, ) as any as S.Schema; /** Cloud service provider that manages your customer keys to provide an additional layer of Encryption At Rest for the cluster. */ export type ApiSearchDeploymentResponseViewEncryptionAtRestProvider = | "NONE" | "AWS" | "AZURE" | "GCP"; export const ApiSearchDeploymentResponseViewEncryptionAtRestProvider = S.String; /** Hardware specification for the Search Node instance sizes. */ export type ApiSearchDeploymentSpecViewInstanceSize = | "S10_HIGHCPU" | "S20_HIGHCPU_NVME" | "S30_HIGHCPU_NVME" | "S40_HIGHCPU_NVME" | "S50_HIGHCPU_NVME" | "S60_HIGHCPU_NVME" | "S70_HIGHCPU_NVME" | "S80_HIGHCPU_NVME" | "S30_LOWCPU_NVME" | "S40_LOWCPU_NVME" | "S50_LOWCPU_NVME" | "S60_LOWCPU_NVME" | "S70_LOWCPU_NVME" | "S80_LOWCPU_NVME" | "S90_LOWCPU_NVME" | "S100_LOWCPU_NVME" | "S110_LOWCPU_NVME" | "S120_LOWCPU_NVME" | "S130_LOWCPU_NVME" | "S135_LOWCPU_NVME" | "S140_LOWCPU_NVME" | "S40_STORAGE_NVME" | "S50_STORAGE_NVME" | "S60_STORAGE_NVME" | "S80_STORAGE_NVME" | "S90_STORAGE_NVME"; export const ApiSearchDeploymentSpecViewInstanceSize = S.String; /** Hardware specification for the Search Nodes that back a search deployment. */ export interface ApiSearchDeploymentSpecView { /** Hardware specification for the Search Node instance sizes. */ instanceSize: ApiSearchDeploymentSpecViewInstanceSize; /** Number of Search Nodes in the cluster. */ nodeCount: number; } export const ApiSearchDeploymentSpecView = /*@__PURE__*/ S.suspend(() => S.Struct({ instanceSize: ApiSearchDeploymentSpecViewInstanceSize, nodeCount: S.Number, }), ).annotate({ identifier: "ApiSearchDeploymentSpecView", }) as any as S.Schema; /** Deprecated. `specs` will be removed in a future release. We strongly recommend that you use `effectiveSpecs` instead. */ export type ApiSearchDeploymentResponseViewSpecsList = Array; export const ApiSearchDeploymentResponseViewSpecsList = /*@__PURE__*/ S.Array( ApiSearchDeploymentSpecView, ) as any as S.Schema; /** Human-readable label that indicates the current operating condition of this search deployment. */ export type ApiSearchDeploymentResponseViewStateName = | "IDLE" | "PAUSED" | "UPDATING"; export const ApiSearchDeploymentResponseViewStateName = S.String; export interface ApiSearchDeploymentResponseView { /** List of settings that configure the Search Nodes for your cluster, with per-region detail including the region name and cloud provider. */ effectiveSpecs?: ApiSearchDeploymentResponseViewEffectiveSpecsList; /** Cloud service provider that manages your customer keys to provide an additional layer of Encryption At Rest for the cluster. */ encryptionAtRestProvider?: ApiSearchDeploymentResponseViewEncryptionAtRestProvider | null; /** Unique 24-hexadecimal character string that identifies the project. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the search deployment. */ id?: string; /** Deprecated. `specs` will be removed in a future release. We strongly recommend that you use `effectiveSpecs` instead. */ specs?: ApiSearchDeploymentResponseViewSpecsList; /** Human-readable label that indicates the current operating condition of this search deployment. */ stateName?: ApiSearchDeploymentResponseViewStateName; } export const ApiSearchDeploymentResponseView = /*@__PURE__*/ S.suspend(() => S.Struct({ effectiveSpecs: S.optional( ApiSearchDeploymentResponseViewEffectiveSpecsList, ), encryptionAtRestProvider: S.optional( S.NullOr(ApiSearchDeploymentResponseViewEncryptionAtRestProvider), ), groupId: S.optional(S.String), id: S.optional(S.String), specs: S.optional(ApiSearchDeploymentResponseViewSpecsList), stateName: S.optional(ApiSearchDeploymentResponseViewStateName), }), ).annotate({ identifier: "ApiSearchDeploymentResponseView", }) as any as S.Schema; /** Type of the index. The default type is search. */ export type CreateGroupClusterSearchIndexRequestType = | "search" | "vectorSearch"; export const CreateGroupClusterSearchIndexRequestType = S.String; export interface CreateGroupClusterSearchIndexRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Name of the cluster that contains the collection on which to create an Atlas Search index. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Label that identifies the collection to create an Atlas Search index in. */ collectionName: string; /** Label that identifies the database that contains the collection to create an Atlas Search index in. */ database: string; /** Label that identifies this index. Within each namespace, names of all indexes in the namespace must be unique. */ name: string; /** Type of the index. The default type is search. */ type?: CreateGroupClusterSearchIndexRequestType | (string & {}); } export const CreateGroupClusterSearchIndexRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), collectionName: S.String, database: S.String, name: S.String, type: S.optional(CreateGroupClusterSearchIndexRequestType), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "CreateGroupClusterSearchIndexRequest", }) as any as S.Schema; /** The search index definition set by the user. */ export interface SearchIndexDefinition { /** Number of index partitions. Allowed values are [1, 2, 4]. */ numPartitions?: number; /** Flag that indicates whether to store all fields (true) on Atlas Search. By default, Atlas doesn't store (false) the fields on Atlas Search. Alternatively, you can specify an object that only contains the list of fields to store (include) or not store (exclude) on Atlas Search. Note that storing all fields (true) is not allowed for vector search indexes. To learn more, see Stored Source Fields. */ storedSource?: unknown; } export const SearchIndexDefinition = /*@__PURE__*/ S.suspend(() => S.Struct({ numPartitions: S.optional(S.Number), storedSource: S.optional(S.Unknown), }), ).annotate({ identifier: "SearchIndexDefinition", }) as any as S.Schema; /** Object which includes the version number of the index definition and the time that the index definition was created. */ export interface SearchIndexDefinitionVersion { /** The time at which this index definition was created. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** The version number associated with this index definition when it was created. */ version?: number; } export const SearchIndexDefinitionVersion = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.optional(S.String), version: S.optional(S.Number), }), ).annotate({ identifier: "SearchIndexDefinitionVersion", }) as any as S.Schema; /** Condition of the search index when you made this request. - `DELETING`: The index is being deleted. - `FAILED` The index build failed. Indexes can enter the FAILED state due to an invalid index definition. - `STALE`: The index is queryable but has stopped replicating data from the indexed collection. Searches on the index may return out-of-date data. - `PENDING`: Atlas has not yet started building the index. - `BUILDING`: Atlas is building or re-building the index after an edit. - `READY`: The index is ready and can support queries. */ export type SearchIndexResponseStatus = | "DELETING" | "FAILED" | "STALE" | "PENDING" | "BUILDING" | "READY" | "DOES_NOT_EXIST"; export const SearchIndexResponseStatus = S.String; /** Condition of the search index when you made this request. - `DELETING`: The index is being deleted. - `FAILED` The index build failed. Indexes can enter the FAILED state due to an invalid index definition. - `STALE`: The index is queryable but has stopped replicating data from the indexed collection. Searches on the index may return out-of-date data. - `PENDING`: Atlas has not yet started building the index. - `BUILDING`: Atlas is building or re-building the index after an edit. - `READY`: The index is ready and can support queries. */ export type SearchMainIndexStatusDetailStatus = | "DELETING" | "FAILED" | "STALE" | "PENDING" | "BUILDING" | "READY" | "DOES_NOT_EXIST"; export const SearchMainIndexStatusDetailStatus = S.String; /** Contains status information about the active index. */ export interface SearchMainIndexStatusDetail { definition?: SearchIndexDefinition; definitionVersion?: SearchIndexDefinitionVersion; /** Optional message describing an error. */ message?: string; /** Flag that indicates whether the index generation is queryable on the host. */ queryable?: boolean; /** Condition of the search index when you made this request. - `DELETING`: The index is being deleted. - `FAILED` The index build failed. Indexes can enter the FAILED state due to an invalid index definition. - `STALE`: The index is queryable but has stopped replicating data from the indexed collection. Searches on the index may return out-of-date data. - `PENDING`: Atlas has not yet started building the index. - `BUILDING`: Atlas is building or re-building the index after an edit. - `READY`: The index is ready and can support queries. */ status?: SearchMainIndexStatusDetailStatus; } export const SearchMainIndexStatusDetail = /*@__PURE__*/ S.suspend(() => S.Struct({ definition: S.optional(SearchIndexDefinition), definitionVersion: S.optional(SearchIndexDefinitionVersion), message: S.optional(S.String), queryable: S.optional(S.Boolean), status: S.optional(SearchMainIndexStatusDetailStatus), }), ).annotate({ identifier: "SearchMainIndexStatusDetail", }) as any as S.Schema; /** Condition of the search index when you made this request. - `DELETING`: The index is being deleted. - `FAILED` The index build failed. Indexes can enter the FAILED state due to an invalid index definition. - `STALE`: The index is queryable but has stopped replicating data from the indexed collection. Searches on the index may return out-of-date data. - `PENDING`: Atlas has not yet started building the index. - `BUILDING`: Atlas is building or re-building the index after an edit. - `READY`: The index is ready and can support queries. */ export type SearchStagedIndexStatusDetailStatus = | "DELETING" | "FAILED" | "STALE" | "PENDING" | "BUILDING" | "READY" | "DOES_NOT_EXIST"; export const SearchStagedIndexStatusDetailStatus = S.String; /** Contains status information about an index building in the background. */ export interface SearchStagedIndexStatusDetail { definition?: SearchIndexDefinition; definitionVersion?: SearchIndexDefinitionVersion; /** Optional message describing an error. */ message?: string; /** Flag that indicates whether the index generation is queryable on the host. */ queryable?: boolean; /** Condition of the search index when you made this request. - `DELETING`: The index is being deleted. - `FAILED` The index build failed. Indexes can enter the FAILED state due to an invalid index definition. - `STALE`: The index is queryable but has stopped replicating data from the indexed collection. Searches on the index may return out-of-date data. - `PENDING`: Atlas has not yet started building the index. - `BUILDING`: Atlas is building or re-building the index after an edit. - `READY`: The index is ready and can support queries. */ status?: SearchStagedIndexStatusDetailStatus; } export const SearchStagedIndexStatusDetail = /*@__PURE__*/ S.suspend(() => S.Struct({ definition: S.optional(SearchIndexDefinition), definitionVersion: S.optional(SearchIndexDefinitionVersion), message: S.optional(S.String), queryable: S.optional(S.Boolean), status: S.optional(SearchStagedIndexStatusDetailStatus), }), ).annotate({ identifier: "SearchStagedIndexStatusDetail", }) as any as S.Schema; /** Condition of the search index when you made this request. - `DELETING`: The index is being deleted. - `FAILED` The index build failed. Indexes can enter the FAILED state due to an invalid index definition. - `STALE`: The index is queryable but has stopped replicating data from the indexed collection. Searches on the index may return out-of-date data. - `PENDING`: Atlas has not yet started building the index. - `BUILDING`: Atlas is building or re-building the index after an edit. - `READY`: The index is ready and can support queries. */ export type SearchHostStatusDetailStatus = | "DELETING" | "FAILED" | "STALE" | "PENDING" | "BUILDING" | "READY" | "DOES_NOT_EXIST"; export const SearchHostStatusDetailStatus = S.String; export interface SearchHostStatusDetail { /** Hostname that corresponds to the status detail. */ hostname?: string; mainIndex?: SearchMainIndexStatusDetail; /** Flag that indicates whether the index is queryable on the host. */ queryable?: boolean; stagedIndex?: SearchStagedIndexStatusDetail; /** Condition of the search index when you made this request. - `DELETING`: The index is being deleted. - `FAILED` The index build failed. Indexes can enter the FAILED state due to an invalid index definition. - `STALE`: The index is queryable but has stopped replicating data from the indexed collection. Searches on the index may return out-of-date data. - `PENDING`: Atlas has not yet started building the index. - `BUILDING`: Atlas is building or re-building the index after an edit. - `READY`: The index is ready and can support queries. */ status?: SearchHostStatusDetailStatus; } export const SearchHostStatusDetail = /*@__PURE__*/ S.suspend(() => S.Struct({ hostname: S.optional(S.String), mainIndex: S.optional(SearchMainIndexStatusDetail), queryable: S.optional(S.Boolean), stagedIndex: S.optional(SearchStagedIndexStatusDetail), status: S.optional(SearchHostStatusDetailStatus), }), ).annotate({ identifier: "SearchHostStatusDetail", }) as any as S.Schema; /** List of documents detailing index status on each host. */ export type SearchIndexResponseStatusDetailList = Array; export const SearchIndexResponseStatusDetailList = /*@__PURE__*/ S.Array( SearchHostStatusDetail, ) as any as S.Schema; /** Type of the index. The default type is search. */ export type SearchIndexResponseType = "search" | "vectorSearch"; export const SearchIndexResponseType = S.String; export interface SearchIndexResponse { /** Label that identifies the collection that contains one or more Atlas Search indexes. */ collectionName?: string; /** Label that identifies the database that contains the collection with one or more Atlas Search indexes. */ database?: string; /** Unique 24-hexadecimal digit string that identifies this Atlas Search index. */ indexID?: string; latestDefinition?: SearchIndexDefinition; latestDefinitionVersion?: SearchIndexDefinitionVersion; /** Label that identifies this index. Within each namespace, the names of all indexes must be unique. */ name?: string; /** Flag that indicates whether the index is queryable on all hosts. */ queryable?: boolean; /** Condition of the search index when you made this request. - `DELETING`: The index is being deleted. - `FAILED` The index build failed. Indexes can enter the FAILED state due to an invalid index definition. - `STALE`: The index is queryable but has stopped replicating data from the indexed collection. Searches on the index may return out-of-date data. - `PENDING`: Atlas has not yet started building the index. - `BUILDING`: Atlas is building or re-building the index after an edit. - `READY`: The index is ready and can support queries. */ status?: SearchIndexResponseStatus; /** List of documents detailing index status on each host. */ statusDetail?: SearchIndexResponseStatusDetailList; /** Type of the index. The default type is search. */ type?: SearchIndexResponseType; } export const SearchIndexResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ collectionName: S.optional(S.String), database: S.optional(S.String), indexID: S.optional(S.String), latestDefinition: S.optional(SearchIndexDefinition), latestDefinitionVersion: S.optional(SearchIndexDefinitionVersion), name: S.optional(S.String), queryable: S.optional(S.Boolean), status: S.optional(SearchIndexResponseStatus), statusDetail: S.optional(SearchIndexResponseStatusDetailList), type: S.optional(SearchIndexResponseType), }), ).annotate({ identifier: "SearchIndexResponse", }) as any as S.Schema; /** Cloud service provider that serves the requested network peering containers. */ export type CreateGroupContainerRequestProviderName = | "AWS" | "GCP" | "AZURE" | "TENANT" | "SERVERLESS"; export const CreateGroupContainerRequestProviderName = S.String; export interface CreateGroupContainerRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Cloud service provider that serves the requested network peering containers. */ providerName?: CreateGroupContainerRequestProviderName | (string & {}); } export const CreateGroupContainerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), providerName: S.optional(CreateGroupContainerRequestProviderName), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/containers", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupContainerRequest", }) as any as S.Schema; /** List of GCP regions to which you want to deploy this MongoDB Cloud network peering container. In this MongoDB Cloud project, you can deploy clusters only to the GCP regions in this list. To deploy MongoDB Cloud clusters to other GCP regions, create additional projects. */ export type AzureCloudProviderContainerRegionsItem = | "AFRICA_SOUTH_1" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "CENTRAL_US" | "EASTERN_ASIA_PACIFIC" | "EASTERN_US" | "EUROPE_CENTRAL_2" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "SOUTHEASTERN_ASIA_PACIFIC" | "US_EAST_4" | "US_EAST_5" | "US_WEST_2" | "US_WEST_3" | "US_WEST_4" | "US_SOUTH_1" | "WESTERN_EUROPE" | "WESTERN_US"; export const AzureCloudProviderContainerRegionsItem = S.String; /** List of GCP regions to which you want to deploy this MongoDB Cloud network peering container. In this MongoDB Cloud project, you can deploy clusters only to the GCP regions in this list. To deploy MongoDB Cloud clusters to other GCP regions, create additional projects. */ export type AzureCloudProviderContainerRegionsList = Array; export const AzureCloudProviderContainerRegionsList = /*@__PURE__*/ S.Array( AzureCloudProviderContainerRegionsItem, ) as any as S.Schema; /** Geographic area that Amazon Web Services (AWS) defines to which MongoDB Cloud deployed this network peering container. */ export type AzureCloudProviderContainerRegionName = | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "SA_EAST_1" | "AP_EAST_1" | "AP_EAST_2" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTH_1" | "AP_SOUTH_2" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_CENTRAL_1" | "ME_SOUTH_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL" | "US_GOV_WEST_1" | "US_GOV_EAST_1"; export const AzureCloudProviderContainerRegionName = S.String; /** Cloud service provider that serves the requested network peering containers. */ export type AzureCloudProviderContainerProviderName = | "AWS" | "GCP" | "AZURE" | "TENANT" | "SERVERLESS"; export const AzureCloudProviderContainerProviderName = S.String; /** Azure region to which MongoDB Cloud deployed this network peering container. */ export type AzureCloudProviderContainerRegion = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_EAST_2_EUAP" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "UAE_NORTH" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "UK_SOUTH" | "UK_WEST" | "INDIA_CENTRAL" | "INDIA_WEST" | "INDIA_SOUTH" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "UAE_CENTRAL" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "INDONESIA_CENTRAL" | "MALAYSIA_WEST" | "CHILE_CENTRAL" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AzureCloudProviderContainerRegion = S.String; /** Collection of settings that configures the network container for a virtual private connection on Amazon Web Services. */ export interface AzureCloudProviderContainer { /** IP addresses expressed in Classless Inter-Domain Routing (CIDR) notation that MongoDB Cloud uses for the network peering containers in your project. MongoDB Cloud assigns all of the project's clusters deployed to this cloud provider an IP address from this range. MongoDB Cloud locks this value if an M10 or greater cluster or a network peering connection exists in this project. These CIDR blocks must fall within the ranges reserved per RFC 1918. GCP further limits the block to a lower bound of the `/18` range. To modify the CIDR block, the target project cannot have: - Any M10 or greater clusters - Any other VPC peering connections You can also create a new project and create a network peering connection to set the desired MongoDB Cloud network peering container CIDR block for that project. MongoDB Cloud limits the number of MongoDB nodes per network peering connection based on the CIDR block and the region selected for the project. **Example:** A project in an Google Cloud (GCP) region supporting three availability zones and an MongoDB CIDR network peering container block of limit of `/24` equals 27 three-node replica sets. */ atlasCidrBlock: string; /** Unique string that identifies the GCP project in which MongoDB Cloud clusters in this network peering container exist. The response returns **null** if no clusters exist in this network peering container. */ gcpProjectId?: string; /** Human-readable label that identifies the network in which MongoDB Cloud clusters in this network peering container exist. MongoDB Cloud returns **null** if no clusters exist in this network peering container. */ networkName?: string; /** List of GCP regions to which you want to deploy this MongoDB Cloud network peering container. In this MongoDB Cloud project, you can deploy clusters only to the GCP regions in this list. To deploy MongoDB Cloud clusters to other GCP regions, create additional projects. */ regions?: AzureCloudProviderContainerRegionsList; /** Geographic area that Amazon Web Services (AWS) defines to which MongoDB Cloud deployed this network peering container. */ regionName?: AzureCloudProviderContainerRegionName; /** Unique string that identifies the MongoDB Cloud VPC on AWS. */ vpcId?: string; /** Unique 24-hexadecimal digit string that identifies the network peering container. */ id?: string; /** Cloud service provider that serves the requested network peering containers. */ providerName?: AzureCloudProviderContainerProviderName; /** Flag that indicates whether MongoDB Cloud clusters exist in the specified network peering container. */ provisioned?: boolean; /** Unique string that identifies the Azure subscription in which the MongoDB Cloud VNet resides. */ azureSubscriptionId?: string; /** Azure region to which MongoDB Cloud deployed this network peering container. */ region: AzureCloudProviderContainerRegion; /** Unique string that identifies the Azure VNet in which MongoDB Cloud clusters in this network peering container exist. The response returns **null** if no clusters exist in this network peering container. */ vnetName?: string; } export const AzureCloudProviderContainer = /*@__PURE__*/ S.suspend(() => S.Struct({ atlasCidrBlock: S.String, gcpProjectId: S.optional(S.String), networkName: S.optional(S.String), regions: S.optional(AzureCloudProviderContainerRegionsList), regionName: S.optional(AzureCloudProviderContainerRegionName), vpcId: S.optional(S.String), id: S.optional(S.String), providerName: S.optional(AzureCloudProviderContainerProviderName), provisioned: S.optional(S.Boolean), azureSubscriptionId: S.optional(S.String), region: AzureCloudProviderContainerRegion, vnetName: S.optional(S.String), }), ).annotate({ identifier: "AzureCloudProviderContainer", }) as any as S.Schema; /** List of GCP regions to which you want to deploy this MongoDB Cloud network peering container. In this MongoDB Cloud project, you can deploy clusters only to the GCP regions in this list. To deploy MongoDB Cloud clusters to other GCP regions, create additional projects. */ export type GCPCloudProviderContainerRegionsItem = | "AFRICA_SOUTH_1" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "CENTRAL_US" | "EASTERN_ASIA_PACIFIC" | "EASTERN_US" | "EUROPE_CENTRAL_2" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "SOUTHEASTERN_ASIA_PACIFIC" | "US_EAST_4" | "US_EAST_5" | "US_WEST_2" | "US_WEST_3" | "US_WEST_4" | "US_SOUTH_1" | "WESTERN_EUROPE" | "WESTERN_US"; export const GCPCloudProviderContainerRegionsItem = S.String; /** List of GCP regions to which you want to deploy this MongoDB Cloud network peering container. In this MongoDB Cloud project, you can deploy clusters only to the GCP regions in this list. To deploy MongoDB Cloud clusters to other GCP regions, create additional projects. */ export type GCPCloudProviderContainerRegionsList = Array; export const GCPCloudProviderContainerRegionsList = /*@__PURE__*/ S.Array( GCPCloudProviderContainerRegionsItem, ) as any as S.Schema; /** Geographic area that Amazon Web Services (AWS) defines to which MongoDB Cloud deployed this network peering container. */ export type GCPCloudProviderContainerRegionName = | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "SA_EAST_1" | "AP_EAST_1" | "AP_EAST_2" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTH_1" | "AP_SOUTH_2" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_CENTRAL_1" | "ME_SOUTH_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL" | "US_GOV_WEST_1" | "US_GOV_EAST_1"; export const GCPCloudProviderContainerRegionName = S.String; /** Cloud service provider that serves the requested network peering containers. */ export type GCPCloudProviderContainerProviderName = | "AWS" | "GCP" | "AZURE" | "TENANT" | "SERVERLESS"; export const GCPCloudProviderContainerProviderName = S.String; /** Azure region to which MongoDB Cloud deployed this network peering container. */ export type GCPCloudProviderContainerRegion = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_EAST_2_EUAP" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "UAE_NORTH" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "UK_SOUTH" | "UK_WEST" | "INDIA_CENTRAL" | "INDIA_WEST" | "INDIA_SOUTH" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "UAE_CENTRAL" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "INDONESIA_CENTRAL" | "MALAYSIA_WEST" | "CHILE_CENTRAL" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const GCPCloudProviderContainerRegion = S.String; /** Collection of settings that configures the network container for a virtual private connection on Amazon Web Services. */ export interface GCPCloudProviderContainer { /** IP addresses expressed in Classless Inter-Domain Routing (CIDR) notation that MongoDB Cloud uses for the network peering containers in your project. MongoDB Cloud assigns all of the project's clusters deployed to this cloud provider an IP address from this range. MongoDB Cloud locks this value if an M10 or greater cluster or a network peering connection exists in this project. These CIDR blocks must fall within the ranges reserved per RFC 1918. GCP further limits the block to a lower bound of the `/18` range. To modify the CIDR block, the target project cannot have: - Any M10 or greater clusters - Any other VPC peering connections You can also create a new project and create a network peering connection to set the desired MongoDB Cloud network peering container CIDR block for that project. MongoDB Cloud limits the number of MongoDB nodes per network peering connection based on the CIDR block and the region selected for the project. **Example:** A project in an Google Cloud (GCP) region supporting three availability zones and an MongoDB CIDR network peering container block of limit of `/24` equals 27 three-node replica sets. */ atlasCidrBlock: string; /** Unique string that identifies the GCP project in which MongoDB Cloud clusters in this network peering container exist. The response returns **null** if no clusters exist in this network peering container. */ gcpProjectId?: string; /** Human-readable label that identifies the network in which MongoDB Cloud clusters in this network peering container exist. MongoDB Cloud returns **null** if no clusters exist in this network peering container. */ networkName?: string; /** List of GCP regions to which you want to deploy this MongoDB Cloud network peering container. In this MongoDB Cloud project, you can deploy clusters only to the GCP regions in this list. To deploy MongoDB Cloud clusters to other GCP regions, create additional projects. */ regions: GCPCloudProviderContainerRegionsList; /** Geographic area that Amazon Web Services (AWS) defines to which MongoDB Cloud deployed this network peering container. */ regionName?: GCPCloudProviderContainerRegionName; /** Unique string that identifies the MongoDB Cloud VPC on AWS. */ vpcId?: string; /** Unique 24-hexadecimal digit string that identifies the network peering container. */ id?: string; /** Cloud service provider that serves the requested network peering containers. */ providerName?: GCPCloudProviderContainerProviderName; /** Flag that indicates whether MongoDB Cloud clusters exist in the specified network peering container. */ provisioned?: boolean; /** Unique string that identifies the Azure subscription in which the MongoDB Cloud VNet resides. */ azureSubscriptionId?: string; /** Azure region to which MongoDB Cloud deployed this network peering container. */ region?: GCPCloudProviderContainerRegion; /** Unique string that identifies the Azure VNet in which MongoDB Cloud clusters in this network peering container exist. The response returns **null** if no clusters exist in this network peering container. */ vnetName?: string; } export const GCPCloudProviderContainer = /*@__PURE__*/ S.suspend(() => S.Struct({ atlasCidrBlock: S.String, gcpProjectId: S.optional(S.String), networkName: S.optional(S.String), regions: GCPCloudProviderContainerRegionsList, regionName: S.optional(GCPCloudProviderContainerRegionName), vpcId: S.optional(S.String), id: S.optional(S.String), providerName: S.optional(GCPCloudProviderContainerProviderName), provisioned: S.optional(S.Boolean), azureSubscriptionId: S.optional(S.String), region: S.optional(GCPCloudProviderContainerRegion), vnetName: S.optional(S.String), }), ).annotate({ identifier: "GCPCloudProviderContainer", }) as any as S.Schema; /** List of GCP regions to which you want to deploy this MongoDB Cloud network peering container. In this MongoDB Cloud project, you can deploy clusters only to the GCP regions in this list. To deploy MongoDB Cloud clusters to other GCP regions, create additional projects. */ export type AWSCloudProviderContainerRegionsItem = | "AFRICA_SOUTH_1" | "ASIA_EAST_2" | "ASIA_NORTHEAST_2" | "ASIA_NORTHEAST_3" | "ASIA_SOUTH_1" | "ASIA_SOUTH_2" | "ASIA_SOUTHEAST_2" | "AUSTRALIA_SOUTHEAST_1" | "AUSTRALIA_SOUTHEAST_2" | "CENTRAL_US" | "EASTERN_ASIA_PACIFIC" | "EASTERN_US" | "EUROPE_CENTRAL_2" | "EUROPE_NORTH_1" | "EUROPE_WEST_2" | "EUROPE_WEST_3" | "EUROPE_WEST_4" | "EUROPE_WEST_6" | "EUROPE_WEST_10" | "EUROPE_WEST_12" | "MIDDLE_EAST_CENTRAL_1" | "MIDDLE_EAST_CENTRAL_2" | "MIDDLE_EAST_WEST_1" | "NORTH_AMERICA_NORTHEAST_1" | "NORTH_AMERICA_NORTHEAST_2" | "NORTH_AMERICA_SOUTH_1" | "NORTHEASTERN_ASIA_PACIFIC" | "SOUTH_AMERICA_EAST_1" | "SOUTH_AMERICA_WEST_1" | "SOUTHEASTERN_ASIA_PACIFIC" | "US_EAST_4" | "US_EAST_5" | "US_WEST_2" | "US_WEST_3" | "US_WEST_4" | "US_SOUTH_1" | "WESTERN_EUROPE" | "WESTERN_US"; export const AWSCloudProviderContainerRegionsItem = S.String; /** List of GCP regions to which you want to deploy this MongoDB Cloud network peering container. In this MongoDB Cloud project, you can deploy clusters only to the GCP regions in this list. To deploy MongoDB Cloud clusters to other GCP regions, create additional projects. */ export type AWSCloudProviderContainerRegionsList = Array; export const AWSCloudProviderContainerRegionsList = /*@__PURE__*/ S.Array( AWSCloudProviderContainerRegionsItem, ) as any as S.Schema; /** Geographic area that Amazon Web Services (AWS) defines to which MongoDB Cloud deployed this network peering container. */ export type AWSCloudProviderContainerRegionName = | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "SA_EAST_1" | "AP_EAST_1" | "AP_EAST_2" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTH_1" | "AP_SOUTH_2" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_CENTRAL_1" | "ME_SOUTH_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL" | "US_GOV_WEST_1" | "US_GOV_EAST_1"; export const AWSCloudProviderContainerRegionName = S.String; /** Cloud service provider that serves the requested network peering containers. */ export type AWSCloudProviderContainerProviderName = | "AWS" | "GCP" | "AZURE" | "TENANT" | "SERVERLESS"; export const AWSCloudProviderContainerProviderName = S.String; /** Azure region to which MongoDB Cloud deployed this network peering container. */ export type AWSCloudProviderContainerRegion = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_EAST_2_EUAP" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "UAE_NORTH" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "UK_SOUTH" | "UK_WEST" | "INDIA_CENTRAL" | "INDIA_WEST" | "INDIA_SOUTH" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "UAE_CENTRAL" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "INDONESIA_CENTRAL" | "MALAYSIA_WEST" | "CHILE_CENTRAL" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AWSCloudProviderContainerRegion = S.String; /** Collection of settings that configures the network container for a virtual private connection on Amazon Web Services. */ export interface AWSCloudProviderContainer { /** IP addresses expressed in Classless Inter-Domain Routing (CIDR) notation that MongoDB Cloud uses for the network peering containers in your project. MongoDB Cloud assigns all of the project's clusters deployed to this cloud provider an IP address from this range. MongoDB Cloud locks this value if an M10 or greater cluster or a network peering connection exists in this project. These CIDR blocks must fall within the ranges reserved per RFC 1918. GCP further limits the block to a lower bound of the `/18` range. To modify the CIDR block, the target project cannot have: - Any M10 or greater clusters - Any other VPC peering connections You can also create a new project and create a network peering connection to set the desired MongoDB Cloud network peering container CIDR block for that project. MongoDB Cloud limits the number of MongoDB nodes per network peering connection based on the CIDR block and the region selected for the project. **Example:** A project in an Google Cloud (GCP) region supporting three availability zones and an MongoDB CIDR network peering container block of limit of `/24` equals 27 three-node replica sets. */ atlasCidrBlock?: string; /** Unique string that identifies the GCP project in which MongoDB Cloud clusters in this network peering container exist. The response returns **null** if no clusters exist in this network peering container. */ gcpProjectId?: string; /** Human-readable label that identifies the network in which MongoDB Cloud clusters in this network peering container exist. MongoDB Cloud returns **null** if no clusters exist in this network peering container. */ networkName?: string; /** List of GCP regions to which you want to deploy this MongoDB Cloud network peering container. In this MongoDB Cloud project, you can deploy clusters only to the GCP regions in this list. To deploy MongoDB Cloud clusters to other GCP regions, create additional projects. */ regions?: AWSCloudProviderContainerRegionsList; /** Geographic area that Amazon Web Services (AWS) defines to which MongoDB Cloud deployed this network peering container. */ regionName: AWSCloudProviderContainerRegionName; /** Unique string that identifies the MongoDB Cloud VPC on AWS. */ vpcId?: string; /** Unique 24-hexadecimal digit string that identifies the network peering container. */ id?: string; /** Cloud service provider that serves the requested network peering containers. */ providerName?: AWSCloudProviderContainerProviderName; /** Flag that indicates whether MongoDB Cloud clusters exist in the specified network peering container. */ provisioned?: boolean; /** Unique string that identifies the Azure subscription in which the MongoDB Cloud VNet resides. */ azureSubscriptionId?: string; /** Azure region to which MongoDB Cloud deployed this network peering container. */ region?: AWSCloudProviderContainerRegion; /** Unique string that identifies the Azure VNet in which MongoDB Cloud clusters in this network peering container exist. The response returns **null** if no clusters exist in this network peering container. */ vnetName?: string; } export const AWSCloudProviderContainer = /*@__PURE__*/ S.suspend(() => S.Struct({ atlasCidrBlock: S.optional(S.String), gcpProjectId: S.optional(S.String), networkName: S.optional(S.String), regions: S.optional(AWSCloudProviderContainerRegionsList), regionName: AWSCloudProviderContainerRegionName, vpcId: S.optional(S.String), id: S.optional(S.String), providerName: S.optional(AWSCloudProviderContainerProviderName), provisioned: S.optional(S.Boolean), azureSubscriptionId: S.optional(S.String), region: S.optional(AWSCloudProviderContainerRegion), vnetName: S.optional(S.String), }), ).annotate({ identifier: "AWSCloudProviderContainer", }) as any as S.Schema; /** Collection of settings that configures the network container for a virtual private connection on Amazon Web Services. */ export type CloudProviderContainer = | AzureCloudProviderContainer | GCPCloudProviderContainer | AWSCloudProviderContainer; export const CloudProviderContainer = S.Unknown as any as S.Schema; /** Human-readable label that identifies the privilege action. */ export type DatabasePrivilegeActionAction = | "FIND" | "INSERT" | "REMOVE" | "UPDATE" | "BYPASS_DOCUMENT_VALIDATION" | "USE_UUID" | "KILL_OP" | "BYPASS_DEFAULT_MAX_TIME_MS" | "CREATE_COLLECTION" | "CREATE_INDEX" | "DROP_COLLECTION" | "ENABLE_PROFILER" | "KILL_ANY_CURSOR" | "ANALYZE" | "CHANGE_STREAM" | "COLL_MOD" | "COMPACT" | "CONVERT_TO_CAPPED" | "DROP_DATABASE" | "DROP_INDEX" | "RE_INDEX" | "RENAME_COLLECTION_SAME_DB" | "SET_USER_WRITE_BLOCK" | "BYPASS_USER_WRITE_BLOCK" | "LIST_SESSIONS" | "KILL_ANY_SESSION" | "COLL_STATS" | "CONN_POOL_STATS" | "DB_HASH" | "DB_STATS" | "GET_CMD_LINE_OPTS" | "GET_LOG" | "GET_PARAMETER" | "GET_SHARD_MAP" | "HOST_INFO" | "IN_PROG" | "LIST_DATABASES" | "LIST_COLLECTIONS" | "LIST_INDEXES" | "LIST_SHARDS" | "NET_STAT" | "REPL_SET_GET_CONFIG" | "REPL_SET_GET_STATUS" | "SERVER_STATUS" | "VALIDATE" | "SHARDING_STATE" | "TOP" | "SQL_GET_SCHEMA" | "SQL_SET_SCHEMA" | "VIEW_ALL_HISTORY" | "OUT_TO_S3" | "OUT_TO_AZURE" | "OUT_TO_GCS" | "STORAGE_GET_CONFIG" | "STORAGE_SET_CONFIG" | "FLUSH_ROUTER_CONFIG" | "ENABLE_SHARDING" | "CHECK_METADATA_CONSISTENCY" | "MOVE_CHUNK" | "SPLIT_CHUNK" | "ANALYZE_SHARD_KEY" | "REFINE_COLLECTION_SHARD_KEY" | "CLEAR_JUMBO_FLAG" | "RESHARD_COLLECTION" | "SHARDED_DATA_DISTRIBUTION" | "GET_STREAM_PROCESSOR" | "CREATE_STREAM_PROCESSOR" | "PROCESS_STREAM_PROCESSOR" | "MODIFY_STREAM_PROCESSOR" | "START_STREAM_PROCESSOR" | "STOP_STREAM_PROCESSOR" | "DROP_STREAM_PROCESSOR" | "SAMPLE_STREAM_PROCESSOR" | "LIST_STREAM_PROCESSORS" | "LIST_CONNECTIONS" | "STREAM_PROCESSOR_STATS" | "CREATE_SEARCH_INDEX" | "DROP_SEARCH_INDEX" | "LIST_SEARCH_INDEXES" | "UPDATE_SEARCH_INDEX"; export const DatabasePrivilegeActionAction = S.String; /** Namespace to which this database user has access. */ export interface DatabasePermittedNamespaceResource { /** Flag that indicates whether to grant the action on the cluster resource. If `true`, MongoDB Cloud ignores the `actions.resources.collection` and `actions.resources.db` parameters. */ cluster: boolean; /** Human-readable label that identifies the collection on which you grant the action to one MongoDB user. If you don't set this parameter, you grant the action to all collections in the database specified in the `actions.resources.db` parameter. If you set `"actions.resources.cluster" : true`, MongoDB Cloud ignores this parameter. */ collection: string; /** Human-readable label that identifies the database on which you grant the action to one MongoDB user. If you set `"actions.resources.cluster" : true`, MongoDB Cloud ignores this parameter. */ db: string; } export const DatabasePermittedNamespaceResource = /*@__PURE__*/ S.suspend(() => S.Struct({ cluster: S.Boolean, collection: S.String, db: S.String, }), ).annotate({ identifier: "DatabasePermittedNamespaceResource", }) as any as S.Schema; /** List of resources on which you grant the action. */ export type DatabasePrivilegeActionResourcesList = Array; export const DatabasePrivilegeActionResourcesList = /*@__PURE__*/ S.Array( DatabasePermittedNamespaceResource, ) as any as S.Schema; /** Privilege action that the role grants. */ export interface DatabasePrivilegeAction { /** Human-readable label that identifies the privilege action. */ action: DatabasePrivilegeActionAction | (string & {}); /** List of resources on which you grant the action. */ resources: DatabasePrivilegeActionResourcesList; } export const DatabasePrivilegeAction = /*@__PURE__*/ S.suspend(() => S.Struct({ action: DatabasePrivilegeActionAction, resources: DatabasePrivilegeActionResourcesList, }), ).annotate({ identifier: "DatabasePrivilegeAction", }) as any as S.Schema; /** List of the individual privilege actions that the role grants. */ export type CreateGroupCustomDbRoleRoleRequestActionsList = Array; export const CreateGroupCustomDbRoleRoleRequestActionsList = /*@__PURE__*/ S.Array( DatabasePrivilegeAction, ) as any as S.Schema; /** Role inherited from another context for this database user. */ export interface DatabaseInheritedRole { /** Human-readable label that identifies the database on which someone grants the action to one MongoDB user. */ db: string; /** Human-readable label that identifies the role inherited. Set this value to `admin` for every role except `read` or `readWrite`. */ role: string; } export const DatabaseInheritedRole = /*@__PURE__*/ S.suspend(() => S.Struct({ db: S.String, role: S.String, }), ).annotate({ identifier: "DatabaseInheritedRole", }) as any as S.Schema; /** List of the built-in roles that this custom role inherits. */ export type CreateGroupCustomDbRoleRoleRequestInheritedRolesList = Array; export const CreateGroupCustomDbRoleRoleRequestInheritedRolesList = /*@__PURE__*/ S.Array( DatabaseInheritedRole, ) as any as S.Schema; export interface CreateGroupCustomDbRoleRoleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** List of the individual privilege actions that the role grants. */ actions?: CreateGroupCustomDbRoleRoleRequestActionsList; /** List of the built-in roles that this custom role inherits. */ inheritedRoles?: CreateGroupCustomDbRoleRoleRequestInheritedRolesList; /** Human-readable label that identifies the role for the request. This name must be unique for this custom role in this project. */ roleName: string; } export const CreateGroupCustomDbRoleRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), actions: S.optional(CreateGroupCustomDbRoleRoleRequestActionsList), inheritedRoles: S.optional( CreateGroupCustomDbRoleRoleRequestInheritedRolesList, ), roleName: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/customDBRoles/roles", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupCustomDbRoleRoleRequest", }) as any as S.Schema; export interface CreateGroupCustomDbRoleRoleResponse {} export const CreateGroupCustomDbRoleRoleResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "CreateGroupCustomDbRoleRoleResponse", }) as any as S.Schema; /** Human-readable label that indicates whether the new database user authenticates with the Amazon Web Services (AWS) Identity and Access Management (IAM) credentials associated with the user or the user's role. */ export type CreateGroupDatabaseUserRequestAwsIAMType = "NONE" | "USER" | "ROLE"; export const CreateGroupDatabaseUserRequestAwsIAMType = S.String; /** The database against which the database user authenticates. Database users must provide both a username and authentication database to log into MongoDB. If the user authenticates with AWS IAM, x.509, LDAP, or OIDC Workload this value should be `$external`. If the user authenticates with SCRAM-SHA or OIDC Workforce, this value should be `admin`. */ export type CreateGroupDatabaseUserRequestDatabaseName = "admin" | "$external"; export const CreateGroupDatabaseUserRequestDatabaseName = S.String; /** List that contains the key-value pairs for tagging and categorizing the MongoDB database user. The labels that you define do not appear in the console. */ export type CreateGroupDatabaseUserRequestLabelsList = Array; export const CreateGroupDatabaseUserRequestLabelsList = /*@__PURE__*/ S.Array( ComponentLabel, ) as any as S.Schema; /** Part of the Lightweight Directory Access Protocol (LDAP) record that the database uses to authenticate this database user on the LDAP host. */ export type CreateGroupDatabaseUserRequestLdapAuthType = | "NONE" | "GROUP" | "USER"; export const CreateGroupDatabaseUserRequestLdapAuthType = S.String; /** Human-readable label that indicates whether the new database user or group authenticates with OIDC federated authentication. To create a federated authentication user, specify the value of USER in this field. To create a federated authentication group, specify the value of `IDP_GROUP` in this field. */ export type CreateGroupDatabaseUserRequestOidcAuthType = | "NONE" | "IDP_GROUP" | "USER"; export const CreateGroupDatabaseUserRequestOidcAuthType = S.String; /** Human-readable label that identifies a group of privileges assigned to a database user. This value can either be a built-in role or a custom role. */ export type DatabaseUserRoleRoleName = | "atlasAdmin" | "backup" | "clusterMonitor" | "dbAdmin" | "dbAdminAnyDatabase" | "enableSharding" | "read" | "readAnyDatabase" | "readWrite" | "readWriteAnyDatabase" | ""; export const DatabaseUserRoleRoleName = S.String; /** Range of resources available to this database user. */ export interface DatabaseUserRole { /** Collection on which this role applies. */ collectionName?: string; /** Database to which the user is granted access privileges. */ databaseName: string; /** Human-readable label that identifies a group of privileges assigned to a database user. This value can either be a built-in role or a custom role. */ roleName: DatabaseUserRoleRoleName | (string & {}); } export const DatabaseUserRole = /*@__PURE__*/ S.suspend(() => S.Struct({ collectionName: S.optional(S.String), databaseName: S.String, roleName: DatabaseUserRoleRoleName, }), ).annotate({ identifier: "DatabaseUserRole", }) as any as S.Schema; /** List that provides the pairings of one role with one applicable database. */ export type CreateGroupDatabaseUserRequestRolesList = Array; export const CreateGroupDatabaseUserRequestRolesList = /*@__PURE__*/ S.Array( DatabaseUserRole, ) as any as S.Schema; /** Category of resource that this database user can access. */ export type UserScopeType = "CLUSTER" | "DATA_LAKE" | "STREAM"; export const UserScopeType = S.String; /** Range of resources available to this database user. */ export interface UserScope { /** Human-readable label that identifies the cluster or MongoDB Atlas Data Lake that this database user can access. */ name: string; /** Category of resource that this database user can access. */ type: UserScopeType | (string & {}); } export const UserScope = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, type: UserScopeType, }), ).annotate({ identifier: "UserScope" }) as any as S.Schema; /** List that contains clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces that this database user can access. If omitted, MongoDB Cloud grants the database user access to all the clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces in the project. */ export type CreateGroupDatabaseUserRequestScopesList = Array; export const CreateGroupDatabaseUserRequestScopesList = /*@__PURE__*/ S.Array( UserScope, ) as any as S.Schema; /** X.509 method that MongoDB Cloud uses to authenticate the database user. - For application-managed X.509, specify `MANAGED`. - For self-managed X.509, specify `CUSTOMER`. Users created with the `CUSTOMER` method require a Common Name (CN) in the **username** parameter. You must create externally authenticated users on the `$external` database. */ export type CreateGroupDatabaseUserRequestX509Type = | "NONE" | "CUSTOMER" | "MANAGED"; export const CreateGroupDatabaseUserRequestX509Type = S.String; export interface CreateGroupDatabaseUserRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that indicates whether the new database user authenticates with the Amazon Web Services (AWS) Identity and Access Management (IAM) credentials associated with the user or the user's role. */ awsIAMType?: CreateGroupDatabaseUserRequestAwsIAMType | (string & {}); /** The database against which the database user authenticates. Database users must provide both a username and authentication database to log into MongoDB. If the user authenticates with AWS IAM, x.509, LDAP, or OIDC Workload this value should be `$external`. If the user authenticates with SCRAM-SHA or OIDC Workforce, this value should be `admin`. */ databaseName: CreateGroupDatabaseUserRequestDatabaseName | (string & {}); /** Date and time when MongoDB Cloud deletes the user. This parameter expresses its value in the ISO 8601 timestamp format in UTC and can include the time zone designation. You must specify a future date that falls within one week of making the Application Programming Interface (API) request. */ deleteAfterDate?: string; /** Description of this database user. */ description?: string; /** List that contains the key-value pairs for tagging and categorizing the MongoDB database user. The labels that you define do not appear in the console. */ labels?: CreateGroupDatabaseUserRequestLabelsList; /** Part of the Lightweight Directory Access Protocol (LDAP) record that the database uses to authenticate this database user on the LDAP host. */ ldapAuthType?: CreateGroupDatabaseUserRequestLdapAuthType | (string & {}); /** Human-readable label that indicates whether the new database user or group authenticates with OIDC federated authentication. To create a federated authentication user, specify the value of USER in this field. To create a federated authentication group, specify the value of `IDP_GROUP` in this field. */ oidcAuthType?: CreateGroupDatabaseUserRequestOidcAuthType | (string & {}); /** Alphanumeric string that authenticates this database user against the database specified in `databaseName`. To authenticate with SCRAM-SHA, you must specify this parameter. This parameter doesn't appear in this response. */ password?: string | Redacted.Redacted; /** List that provides the pairings of one role with one applicable database. */ roles: CreateGroupDatabaseUserRequestRolesList; /** List that contains clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces that this database user can access. If omitted, MongoDB Cloud grants the database user access to all the clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces in the project. */ scopes?: CreateGroupDatabaseUserRequestScopesList; /** Human-readable label that represents the user that authenticates to MongoDB. The format of this label depends on the method of authentication: | Authentication Method | Parameter Needed | Parameter Value | username Format | |---|---|---|---| | AWS IAM | `awsIAMType` | `ROLE` | ARN | | AWS IAM | `awsIAMType` | `USER` | ARN | | x.509 | `x509Type` | `CUSTOMER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | x.509 | `x509Type` | `MANAGED` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `USER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `GROUP` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | OIDC Workforce | `oidcAuthType` | `IDP_GROUP` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP group name | | OIDC Workload | `oidcAuthType` | `USER` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP user name | | SCRAM-SHA | `awsIAMType`, `x509Type`, `ldapAuthType`, `oidcAuthType` | `NONE` | Alphanumeric string | */ username: string; /** X.509 method that MongoDB Cloud uses to authenticate the database user. - For application-managed X.509, specify `MANAGED`. - For self-managed X.509, specify `CUSTOMER`. Users created with the `CUSTOMER` method require a Common Name (CN) in the **username** parameter. You must create externally authenticated users on the `$external` database. */ x509Type?: CreateGroupDatabaseUserRequestX509Type | (string & {}); } export const CreateGroupDatabaseUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), awsIAMType: S.optional(CreateGroupDatabaseUserRequestAwsIAMType), databaseName: CreateGroupDatabaseUserRequestDatabaseName, deleteAfterDate: S.optional(S.String), description: S.optional(S.String), labels: S.optional(CreateGroupDatabaseUserRequestLabelsList), ldapAuthType: S.optional(CreateGroupDatabaseUserRequestLdapAuthType), oidcAuthType: S.optional(CreateGroupDatabaseUserRequestOidcAuthType), password: S.optional(S.String.pipe(T.SensitiveValue({}))), roles: CreateGroupDatabaseUserRequestRolesList, scopes: S.optional(CreateGroupDatabaseUserRequestScopesList), username: S.String, x509Type: S.optional(CreateGroupDatabaseUserRequestX509Type), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/databaseUsers", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupDatabaseUserRequest", }) as any as S.Schema; /** Human-readable label that indicates whether the new database user authenticates with the Amazon Web Services (AWS) Identity and Access Management (IAM) credentials associated with the user or the user's role. */ export type CloudDatabaseUserOutputAwsIAMType = "NONE" | "USER" | "ROLE"; export const CloudDatabaseUserOutputAwsIAMType = S.String; /** The database against which the database user authenticates. Database users must provide both a username and authentication database to log into MongoDB. If the user authenticates with AWS IAM, x.509, LDAP, or OIDC Workload this value should be `$external`. If the user authenticates with SCRAM-SHA or OIDC Workforce, this value should be `admin`. */ export type CloudDatabaseUserOutputDatabaseName = "admin" | "$external"; export const CloudDatabaseUserOutputDatabaseName = S.String; /** List that contains the key-value pairs for tagging and categorizing the MongoDB database user. The labels that you define do not appear in the console. */ export type CloudDatabaseUserOutputLabelsList = Array; export const CloudDatabaseUserOutputLabelsList = /*@__PURE__*/ S.Array( ComponentLabel, ) as any as S.Schema; /** Part of the Lightweight Directory Access Protocol (LDAP) record that the database uses to authenticate this database user on the LDAP host. */ export type CloudDatabaseUserOutputLdapAuthType = "NONE" | "GROUP" | "USER"; export const CloudDatabaseUserOutputLdapAuthType = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type CloudDatabaseUserOutputLinksList = Array; export const CloudDatabaseUserOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Human-readable label that indicates whether the new database user or group authenticates with OIDC federated authentication. To create a federated authentication user, specify the value of USER in this field. To create a federated authentication group, specify the value of `IDP_GROUP` in this field. */ export type CloudDatabaseUserOutputOidcAuthType = "NONE" | "IDP_GROUP" | "USER"; export const CloudDatabaseUserOutputOidcAuthType = S.String; /** List that provides the pairings of one role with one applicable database. */ export type CloudDatabaseUserOutputRolesList = Array; export const CloudDatabaseUserOutputRolesList = /*@__PURE__*/ S.Array( DatabaseUserRole, ) as any as S.Schema; /** List that contains clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces that this database user can access. If omitted, MongoDB Cloud grants the database user access to all the clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces in the project. */ export type CloudDatabaseUserOutputScopesList = Array; export const CloudDatabaseUserOutputScopesList = /*@__PURE__*/ S.Array( UserScope, ) as any as S.Schema; /** X.509 method that MongoDB Cloud uses to authenticate the database user. - For application-managed X.509, specify `MANAGED`. - For self-managed X.509, specify `CUSTOMER`. Users created with the `CUSTOMER` method require a Common Name (CN) in the **username** parameter. You must create externally authenticated users on the `$external` database. */ export type CloudDatabaseUserOutputX509Type = "NONE" | "CUSTOMER" | "MANAGED"; export const CloudDatabaseUserOutputX509Type = S.String; export interface CloudDatabaseUserOutput { /** Human-readable label that indicates whether the new database user authenticates with the Amazon Web Services (AWS) Identity and Access Management (IAM) credentials associated with the user or the user's role. */ awsIAMType?: CloudDatabaseUserOutputAwsIAMType; /** The database against which the database user authenticates. Database users must provide both a username and authentication database to log into MongoDB. If the user authenticates with AWS IAM, x.509, LDAP, or OIDC Workload this value should be `$external`. If the user authenticates with SCRAM-SHA or OIDC Workforce, this value should be `admin`. */ databaseName: CloudDatabaseUserOutputDatabaseName; /** Date and time when MongoDB Cloud deletes the user. This parameter expresses its value in the ISO 8601 timestamp format in UTC and can include the time zone designation. You must specify a future date that falls within one week of making the Application Programming Interface (API) request. */ deleteAfterDate?: string; /** Description of this database user. */ description?: string; /** List that contains the key-value pairs for tagging and categorizing the MongoDB database user. The labels that you define do not appear in the console. */ labels?: CloudDatabaseUserOutputLabelsList; /** Part of the Lightweight Directory Access Protocol (LDAP) record that the database uses to authenticate this database user on the LDAP host. */ ldapAuthType?: CloudDatabaseUserOutputLdapAuthType; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: CloudDatabaseUserOutputLinksList; /** Human-readable label that indicates whether the new database user or group authenticates with OIDC federated authentication. To create a federated authentication user, specify the value of USER in this field. To create a federated authentication group, specify the value of `IDP_GROUP` in this field. */ oidcAuthType?: CloudDatabaseUserOutputOidcAuthType; /** List that provides the pairings of one role with one applicable database. */ roles: CloudDatabaseUserOutputRolesList; /** List that contains clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces that this database user can access. If omitted, MongoDB Cloud grants the database user access to all the clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces in the project. */ scopes?: CloudDatabaseUserOutputScopesList; /** Human-readable label that represents the user that authenticates to MongoDB. The format of this label depends on the method of authentication: | Authentication Method | Parameter Needed | Parameter Value | username Format | |---|---|---|---| | AWS IAM | `awsIAMType` | `ROLE` | ARN | | AWS IAM | `awsIAMType` | `USER` | ARN | | x.509 | `x509Type` | `CUSTOMER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | x.509 | `x509Type` | `MANAGED` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `USER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `GROUP` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | OIDC Workforce | `oidcAuthType` | `IDP_GROUP` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP group name | | OIDC Workload | `oidcAuthType` | `USER` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP user name | | SCRAM-SHA | `awsIAMType`, `x509Type`, `ldapAuthType`, `oidcAuthType` | `NONE` | Alphanumeric string | */ username: string; /** X.509 method that MongoDB Cloud uses to authenticate the database user. - For application-managed X.509, specify `MANAGED`. - For self-managed X.509, specify `CUSTOMER`. Users created with the `CUSTOMER` method require a Common Name (CN) in the **username** parameter. You must create externally authenticated users on the `$external` database. */ x509Type?: CloudDatabaseUserOutputX509Type; } export const CloudDatabaseUserOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ awsIAMType: S.optional(CloudDatabaseUserOutputAwsIAMType), databaseName: CloudDatabaseUserOutputDatabaseName, deleteAfterDate: S.optional(S.String), description: S.optional(S.String), labels: S.optional(CloudDatabaseUserOutputLabelsList), ldapAuthType: S.optional(CloudDatabaseUserOutputLdapAuthType), links: S.optional(CloudDatabaseUserOutputLinksList), oidcAuthType: S.optional(CloudDatabaseUserOutputOidcAuthType), roles: CloudDatabaseUserOutputRolesList, scopes: S.optional(CloudDatabaseUserOutputScopesList), username: S.String, x509Type: S.optional(CloudDatabaseUserOutputX509Type), }), ).annotate({ identifier: "CloudDatabaseUserOutput", }) as any as S.Schema; export interface CreateGroupDatabaseUserCertRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that represents the MongoDB database user account for whom to create a certificate. */ username: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Number of months that the certificate remains valid until it expires. */ monthsUntilExpiration?: number; } export const CreateGroupDatabaseUserCertRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), username: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), monthsUntilExpiration: S.optional(S.Number), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/databaseUsers/{username}/certs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupDatabaseUserCertRequest", }) as any as S.Schema; export type CreateGroupDatabaseUserCertResponse = string; export const CreateGroupDatabaseUserCertResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot()), ).annotate({ identifier: "CreateGroupDatabaseUserCertResponse", }) as any as S.Schema; /** Configuration for running Data Federation in AWS. */ export interface DataLakeAWSCloudProviderConfigInput { /** Unique identifier of the role that the data lake can use to access the data stores.Required if specifying cloudProviderConfig. */ roleId: string; /** Name of the S3 data bucket that the provided role ID is authorized to access. Required if specifying `cloudProviderConfig`. */ testS3Bucket: string; } export const DataLakeAWSCloudProviderConfigInput = /*@__PURE__*/ S.suspend(() => S.Struct({ roleId: S.String, testS3Bucket: S.String, }), ).annotate({ identifier: "DataLakeAWSCloudProviderConfigInput", }) as any as S.Schema; /** Configuration for running Data Federation in Azure. */ export interface DataFederationAzureCloudProviderConfigInput { /** Unique identifier of the role that Data Federation can use to access the data stores. Required if specifying `cloudProviderConfig`. */ roleId: string; } export const DataFederationAzureCloudProviderConfigInput = /*@__PURE__*/ S.suspend(() => S.Struct({ roleId: S.String, }), ).annotate({ identifier: "DataFederationAzureCloudProviderConfigInput", }) as any as S.Schema; /** Configuration for running Data Federation in GCP. */ export type DataFederationGCPCloudProviderConfigInput = DataFederationAzureCloudProviderConfigInput; export const DataFederationGCPCloudProviderConfigInput = DataFederationAzureCloudProviderConfigInput; /** Cloud provider where this Federated Database Instance is hosted. */ export interface DataLakeCloudProviderConfigInput { aws?: DataLakeAWSCloudProviderConfigInput; azure?: DataFederationAzureCloudProviderConfigInput; gcp?: DataFederationAzureCloudProviderConfigInput; } export const DataLakeCloudProviderConfigInput = /*@__PURE__*/ S.suspend(() => S.Struct({ aws: S.optional(DataLakeAWSCloudProviderConfigInput), azure: S.optional(DataFederationAzureCloudProviderConfigInput), gcp: S.optional(DataFederationAzureCloudProviderConfigInput), }), ).annotate({ identifier: "DataLakeCloudProviderConfigInput", }) as any as S.Schema; /** Name of the cloud service that hosts the Federated Database Instance's infrastructure. */ export type DataLakeDataProcessRegionCloudProvider = "AWS" | "AZURE" | "GCP"; export const DataLakeDataProcessRegionCloudProvider = S.String; /** Atlas Data Federation AWS Regions. */ export type ApiAtlasDataLakeAWSRegionView = | "SYDNEY_AUS" | "MUMBAI_IND" | "FRANKFURT_DEU" | "DUBLIN_IRL" | "LONDON_GBR" | "VIRGINIA_USA" | "OREGON_USA" | "SAOPAULO_BRA" | "MONTREAL_CAN" | "TOKYO_JPN" | "SEOUL_KOR" | "SINGAPORE_SGP"; export const ApiAtlasDataLakeAWSRegionView = S.String; /** Atlas Data Federation Azure Regions. */ export type AtlasDataFederationAzureRegion = | "VIRGINIA_USA" | "AMSTERDAM_NLD" | "SAOPAULO_BRA"; export const AtlasDataFederationAzureRegion = S.String; /** Atlas Data Federation GCP Regions. */ export type AtlasDataFederationGCPRegion = "IOWA_USA" | "BELGIUM_EU"; export const AtlasDataFederationGCPRegion = S.String; /** Name of the region to which the data lake routes client connections. */ export type BaseAtlasDataLakeRegion = | ApiAtlasDataLakeAWSRegionView | AtlasDataFederationAzureRegion | AtlasDataFederationGCPRegion; export const BaseAtlasDataLakeRegion = S.Unknown as any as S.Schema; /** Information about the cloud provider region to which the Federated Database Instance routes client connections. */ export interface DataLakeDataProcessRegion { /** Name of the cloud service that hosts the Federated Database Instance's infrastructure. */ cloudProvider: DataLakeDataProcessRegionCloudProvider | (string & {}); region: BaseAtlasDataLakeRegion; } export const DataLakeDataProcessRegion = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: DataLakeDataProcessRegionCloudProvider, region: BaseAtlasDataLakeRegion, }), ).annotate({ identifier: "DataLakeDataProcessRegion", }) as any as S.Schema; /** File format that MongoDB Cloud uses if it encounters a file without a file extension while searching **storeName**. */ export type DataLakeDatabaseDataSourceSettingsDefaultFormat = | ".avro" | ".avro.bz2" | ".avro.gz" | ".bson" | ".bson.bz2" | ".bson.gz" | ".bsonx" | ".csv" | ".csv.bz2" | ".csv.gz" | ".json" | ".json.bz2" | ".json.gz" | ".orc" | ".parquet" | ".tsv" | ".tsv.bz2" | ".tsv.gz"; export const DataLakeDatabaseDataSourceSettingsDefaultFormat = S.String; /** URLs of the publicly accessible data files. You can't specify URLs that require authentication. Atlas Data Lake creates a partition for each URL. If empty or omitted, Data Lake uses the URLs from the store specified in the **dataSources.storeName** parameter. */ export type DataLakeDatabaseDataSourceSettingsUrlsList = Array; export const DataLakeDatabaseDataSourceSettingsUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Data store that maps to a collection for this data lake. */ export interface DataLakeDatabaseDataSourceSettings { /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Human-readable label that identifies the collection in the database. For creating a wildcard (`*`) collection, you must omit this parameter. */ collection?: string; /** Regex pattern to use for creating the wildcard (*) collection. To learn more about the regex syntax, see [Go programming language](https://pkg.go.dev/regexp). */ collectionRegex?: string; /** Human-readable label that identifies the database, which contains the collection in the cluster. You must omit this parameter to generate wildcard (`*`) collections for dynamically generated databases. */ database?: string; /** Regex pattern to use for creating the wildcard (*) database. To learn more about the regex syntax, see [Go programming language](https://pkg.go.dev/regexp). */ databaseRegex?: string; /** Human-readable label that identifies the dataset that Atlas generates for an ingestion pipeline run or Online Archive. */ datasetName?: string; /** Human-readable label that matches against the dataset names for ingestion pipeline runs or Online Archives. */ datasetPrefix?: string; /** File format that MongoDB Cloud uses if it encounters a file without a file extension while searching **storeName**. */ defaultFormat?: | DataLakeDatabaseDataSourceSettingsDefaultFormat | (string & {}); /** File path that controls how MongoDB Cloud searches for and parses files in the **storeName** before mapping them to a collection.Specify ``/`` to capture all files and folders from the ``prefix`` path. */ path?: string; /** Name for the field that includes the provenance of the documents in the results. MongoDB Cloud returns different fields in the results for each supported provider. */ provenanceFieldName?: string; /** Human-readable label that identifies the data store that MongoDB Cloud maps to the collection. */ storeName?: string; /** Unsigned integer that specifies how many fields of the dataset name to trim from the left of the dataset name before mapping the remaining fields to a wildcard collection name. */ trimLevel?: number; /** URLs of the publicly accessible data files. You can't specify URLs that require authentication. Atlas Data Lake creates a partition for each URL. If empty or omitted, Data Lake uses the URLs from the store specified in the **dataSources.storeName** parameter. */ urls?: DataLakeDatabaseDataSourceSettingsUrlsList; } export const DataLakeDatabaseDataSourceSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ allowInsecure: S.optional(S.Boolean), collection: S.optional(S.String), collectionRegex: S.optional(S.String), database: S.optional(S.String), databaseRegex: S.optional(S.String), datasetName: S.optional(S.String), datasetPrefix: S.optional(S.String), defaultFormat: S.optional(DataLakeDatabaseDataSourceSettingsDefaultFormat), path: S.optional(S.String), provenanceFieldName: S.optional(S.String), storeName: S.optional(S.String), trimLevel: S.optional(S.Number), urls: S.optional(DataLakeDatabaseDataSourceSettingsUrlsList), }), ).annotate({ identifier: "DataLakeDatabaseDataSourceSettings", }) as any as S.Schema; /** Array that contains the data stores that map to a collection for this data lake. */ export type DataLakeDatabaseCollectionDataSourcesList = Array; export const DataLakeDatabaseCollectionDataSourcesList = /*@__PURE__*/ S.Array( DataLakeDatabaseDataSourceSettings, ) as any as S.Schema; /** A collection and data sources that map to a ``stores`` data store. */ export interface DataLakeDatabaseCollection { /** Array that contains the data stores that map to a collection for this data lake. */ dataSources?: DataLakeDatabaseCollectionDataSourcesList; /** Human-readable label that identifies the collection to which MongoDB Cloud maps the data in the data stores. */ name?: string; } export const DataLakeDatabaseCollection = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSources: S.optional(DataLakeDatabaseCollectionDataSourcesList), name: S.optional(S.String), }), ).annotate({ identifier: "DataLakeDatabaseCollection", }) as any as S.Schema; /** Array of collections and data sources that map to a ``stores`` data store. */ export type DataLakeDatabaseInstanceCollectionsList = Array; export const DataLakeDatabaseInstanceCollectionsList = /*@__PURE__*/ S.Array( DataLakeDatabaseCollection, ) as any as S.Schema; /** An aggregation pipeline that applies to the collection. */ export interface DataLakeApiBase { /** Human-readable label that identifies the view, which corresponds to an aggregation pipeline on a collection. */ name?: string; /** Aggregation pipeline stages to apply to the source collection. */ pipeline?: string; /** Human-readable label that identifies the source collection for the view. */ source?: string; } export const DataLakeApiBase = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.optional(S.String), pipeline: S.optional(S.String), source: S.optional(S.String), }), ).annotate({ identifier: "DataLakeApiBase", }) as any as S.Schema; /** Array of aggregation pipelines that apply to the collection. This only applies to S3 data sources. */ export type DataLakeDatabaseInstanceViewsList = Array; export const DataLakeDatabaseInstanceViewsList = /*@__PURE__*/ S.Array( DataLakeApiBase, ) as any as S.Schema; /** Database associated with this data lake. Databases contain collections and views. */ export interface DataLakeDatabaseInstance { /** Array of collections and data sources that map to a ``stores`` data store. */ collections?: DataLakeDatabaseInstanceCollectionsList; /** Maximum number of wildcard collections in the database. This only applies to S3 data sources. */ maxWildcardCollections?: number; /** Human-readable label that identifies the database to which the data lake maps data. */ name?: string; /** Array of aggregation pipelines that apply to the collection. This only applies to S3 data sources. */ views?: DataLakeDatabaseInstanceViewsList; } export const DataLakeDatabaseInstance = /*@__PURE__*/ S.suspend(() => S.Struct({ collections: S.optional(DataLakeDatabaseInstanceCollectionsList), maxWildcardCollections: S.optional(S.Number), name: S.optional(S.String), views: S.optional(DataLakeDatabaseInstanceViewsList), }), ).annotate({ identifier: "DataLakeDatabaseInstance", }) as any as S.Schema; /** Array that contains the queryable databases and collections for this data lake. */ export type DataLakeStorageInputDatabasesList = Array; export const DataLakeStorageInputDatabasesList = /*@__PURE__*/ S.Array( DataLakeDatabaseInstance, ) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeS3StoreSettingsInputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeS3StoreSettingsInputRegion = S.String; /** Read Concern level that specifies the consistency and availability of the data read. */ export type DataLakeAtlasStoreReadConcernLevel = | "LOCAL" | "MAJORITY" | "LINEARIZABLE" | "SNAPSHOT" | "AVAILABLE"; export const DataLakeAtlasStoreReadConcernLevel = S.String; /** MongoDB Cloud cluster read concern, which determines the consistency and isolation properties of the data read from an Atlas cluster. */ export interface DataLakeAtlasStoreReadConcern { /** Read Concern level that specifies the consistency and availability of the data read. */ level?: DataLakeAtlasStoreReadConcernLevel | (string & {}); } export const DataLakeAtlasStoreReadConcern = /*@__PURE__*/ S.suspend(() => S.Struct({ level: S.optional(DataLakeAtlasStoreReadConcernLevel), }), ).annotate({ identifier: "DataLakeAtlasStoreReadConcern", }) as any as S.Schema; /** Read preference mode that specifies to which replica set member to route the read requests. */ export type DataLakeAtlasStoreReadPreferenceMode = | "primary" | "primaryPreferred" | "secondary" | "secondaryPreferred" | "nearest"; export const DataLakeAtlasStoreReadPreferenceMode = S.String; export interface DataLakeAtlasStoreReadPreferenceTag { /** Human-readable label of the tag. */ name?: string; /** Value of the tag. */ value?: string; } export const DataLakeAtlasStoreReadPreferenceTag = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.optional(S.String), value: S.optional(S.String), }), ).annotate({ identifier: "DataLakeAtlasStoreReadPreferenceTag", }) as any as S.Schema; export type DataLakeAtlasStoreReadPreferenceTagSetsItemList = Array; export const DataLakeAtlasStoreReadPreferenceTagSetsItemList = /*@__PURE__*/ S.Array( DataLakeAtlasStoreReadPreferenceTag, ) as any as S.Schema; /** List that contains tag sets or tag specification documents. If specified, Atlas Data Lake routes read requests to replica set member or members that are associated with the specified tags. */ export type DataLakeAtlasStoreReadPreferenceTagSetsList = Array; export const DataLakeAtlasStoreReadPreferenceTagSetsList = /*@__PURE__*/ S.Array( DataLakeAtlasStoreReadPreferenceTagSetsItemList, ) as any as S.Schema; /** MongoDB Cloud cluster read preference, which describes how to route read requests to the cluster. */ export interface DataLakeAtlasStoreReadPreference { /** Maximum replication lag, or **staleness**, for reads from secondaries. */ maxStalenessSeconds?: number; /** Read preference mode that specifies to which replica set member to route the read requests. */ mode?: DataLakeAtlasStoreReadPreferenceMode | (string & {}); /** List that contains tag sets or tag specification documents. If specified, Atlas Data Lake routes read requests to replica set member or members that are associated with the specified tags. */ tagSets?: DataLakeAtlasStoreReadPreferenceTagSetsList; } export const DataLakeAtlasStoreReadPreference = /*@__PURE__*/ S.suspend(() => S.Struct({ maxStalenessSeconds: S.optional(S.Number), mode: S.optional(DataLakeAtlasStoreReadPreferenceMode), tagSets: S.optional(DataLakeAtlasStoreReadPreferenceTagSetsList), }), ).annotate({ identifier: "DataLakeAtlasStoreReadPreference", }) as any as S.Schema; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeS3StoreSettingsInputUrlsList = Array; export const DataLakeS3StoreSettingsInputUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeS3StoreSettingsInputAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeS3StoreSettingsInputAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeS3StoreSettingsInputAdditionalStorageClassesList = Array< DataLakeS3StoreSettingsInputAdditionalStorageClassesItem | (string & {}) >; export const DataLakeS3StoreSettingsInputAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeS3StoreSettingsInputAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeS3StoreSettingsInput { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeS3StoreSettingsInputRegion | (string & {}); /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeS3StoreSettingsInputUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeS3StoreSettingsInputAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeS3StoreSettingsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeS3StoreSettingsInputRegion), clusterName: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeS3StoreSettingsInputUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeS3StoreSettingsInputAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeS3StoreSettingsInput", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeDLSAWSStoreInputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeDLSAWSStoreInputRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeDLSAWSStoreInputUrlsList = Array; export const DataLakeDLSAWSStoreInputUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeDLSAWSStoreInputAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeDLSAWSStoreInputAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeDLSAWSStoreInputAdditionalStorageClassesList = Array< DataLakeDLSAWSStoreInputAdditionalStorageClassesItem | (string & {}) >; export const DataLakeDLSAWSStoreInputAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeDLSAWSStoreInputAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeDLSAWSStoreInput { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeDLSAWSStoreInputRegion | (string & {}); /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeDLSAWSStoreInputUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeDLSAWSStoreInputAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeDLSAWSStoreInput = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeDLSAWSStoreInputRegion), clusterName: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeDLSAWSStoreInputUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeDLSAWSStoreInputAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeDLSAWSStoreInput", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeDLSAzureStoreInputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeDLSAzureStoreInputRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeDLSAzureStoreInputUrlsList = Array; export const DataLakeDLSAzureStoreInputUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeDLSAzureStoreInputAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeDLSAzureStoreInputAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeDLSAzureStoreInputAdditionalStorageClassesList = Array< DataLakeDLSAzureStoreInputAdditionalStorageClassesItem | (string & {}) >; export const DataLakeDLSAzureStoreInputAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeDLSAzureStoreInputAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeDLSAzureStoreInput { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeDLSAzureStoreInputRegion | (string & {}); /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeDLSAzureStoreInputUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeDLSAzureStoreInputAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeDLSAzureStoreInput = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeDLSAzureStoreInputRegion), clusterName: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeDLSAzureStoreInputUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeDLSAzureStoreInputAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeDLSAzureStoreInput", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeDLSGCPStoreInputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeDLSGCPStoreInputRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeDLSGCPStoreInputUrlsList = Array; export const DataLakeDLSGCPStoreInputUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeDLSGCPStoreInputAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeDLSGCPStoreInputAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeDLSGCPStoreInputAdditionalStorageClassesList = Array< DataLakeDLSGCPStoreInputAdditionalStorageClassesItem | (string & {}) >; export const DataLakeDLSGCPStoreInputAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeDLSGCPStoreInputAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeDLSGCPStoreInput { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeDLSGCPStoreInputRegion | (string & {}); /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeDLSGCPStoreInputUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeDLSGCPStoreInputAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeDLSGCPStoreInput = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeDLSGCPStoreInputRegion), clusterName: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeDLSGCPStoreInputUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeDLSGCPStoreInputAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeDLSGCPStoreInput", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeAtlasStoreInstanceInputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeAtlasStoreInstanceInputRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeAtlasStoreInstanceInputUrlsList = Array; export const DataLakeAtlasStoreInstanceInputUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeAtlasStoreInstanceInputAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeAtlasStoreInstanceInputAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeAtlasStoreInstanceInputAdditionalStorageClassesList = Array< DataLakeAtlasStoreInstanceInputAdditionalStorageClassesItem | (string & {}) >; export const DataLakeAtlasStoreInstanceInputAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeAtlasStoreInstanceInputAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeAtlasStoreInstanceInput { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeAtlasStoreInstanceInputRegion | (string & {}); /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeAtlasStoreInstanceInputUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeAtlasStoreInstanceInputAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeAtlasStoreInstanceInput = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeAtlasStoreInstanceInputRegion), clusterName: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeAtlasStoreInstanceInputUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeAtlasStoreInstanceInputAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeAtlasStoreInstanceInput", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeHTTPStoreInputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeHTTPStoreInputRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeHTTPStoreInputUrlsList = Array; export const DataLakeHTTPStoreInputUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeHTTPStoreInputAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeHTTPStoreInputAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeHTTPStoreInputAdditionalStorageClassesList = Array< DataLakeHTTPStoreInputAdditionalStorageClassesItem | (string & {}) >; export const DataLakeHTTPStoreInputAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeHTTPStoreInputAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeHTTPStoreInput { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeHTTPStoreInputRegion | (string & {}); /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeHTTPStoreInputUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeHTTPStoreInputAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeHTTPStoreInput = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeHTTPStoreInputRegion), clusterName: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeHTTPStoreInputUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeHTTPStoreInputAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeHTTPStoreInput", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeAzureBlobStoreInputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeAzureBlobStoreInputRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeAzureBlobStoreInputUrlsList = Array; export const DataLakeAzureBlobStoreInputUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeAzureBlobStoreInputAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeAzureBlobStoreInputAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeAzureBlobStoreInputAdditionalStorageClassesList = Array< DataLakeAzureBlobStoreInputAdditionalStorageClassesItem | (string & {}) >; export const DataLakeAzureBlobStoreInputAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeAzureBlobStoreInputAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeAzureBlobStoreInput { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeAzureBlobStoreInputRegion | (string & {}); /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeAzureBlobStoreInputUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeAzureBlobStoreInputAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeAzureBlobStoreInput = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeAzureBlobStoreInputRegion), clusterName: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeAzureBlobStoreInputUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeAzureBlobStoreInputAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeAzureBlobStoreInput", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeGoogleCloudStorageStoreInputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeGoogleCloudStorageStoreInputRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeGoogleCloudStorageStoreInputUrlsList = Array; export const DataLakeGoogleCloudStorageStoreInputUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeGoogleCloudStorageStoreInputAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeGoogleCloudStorageStoreInputAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeGoogleCloudStorageStoreInputAdditionalStorageClassesList = Array< | DataLakeGoogleCloudStorageStoreInputAdditionalStorageClassesItem | (string & {}) >; export const DataLakeGoogleCloudStorageStoreInputAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeGoogleCloudStorageStoreInputAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeGoogleCloudStorageStoreInput { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeGoogleCloudStorageStoreInputRegion | (string & {}); /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeGoogleCloudStorageStoreInputUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeGoogleCloudStorageStoreInputAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeGoogleCloudStorageStoreInput = /*@__PURE__*/ S.suspend( () => S.Struct({ region: S.optional(DataLakeGoogleCloudStorageStoreInputRegion), clusterName: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeGoogleCloudStorageStoreInputUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeGoogleCloudStorageStoreInputAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeGoogleCloudStorageStoreInput", }) as any as S.Schema; /** Group of settings that define where the data is stored. */ export type DataLakeStoreSettingsInput = | DataLakeS3StoreSettingsInput | DataLakeDLSAWSStoreInput | DataLakeDLSAzureStoreInput | DataLakeDLSGCPStoreInput | DataLakeAtlasStoreInstanceInput | DataLakeHTTPStoreInput | DataLakeAzureBlobStoreInput | DataLakeGoogleCloudStorageStoreInput; export const DataLakeStoreSettingsInput = S.Unknown as any as S.Schema; /** Array that contains the data stores for the data lake. */ export type DataLakeStorageInputStoresList = Array; export const DataLakeStorageInputStoresList = /*@__PURE__*/ S.Array( DataLakeStoreSettingsInput, ) as any as S.Schema; /** Configuration information for each data store and its mapping to MongoDB Cloud databases. */ export interface DataLakeStorageInput { /** Array that contains the queryable databases and collections for this data lake. */ databases?: DataLakeStorageInputDatabasesList; /** Array that contains the data stores for the data lake. */ stores?: DataLakeStorageInputStoresList; } export const DataLakeStorageInput = /*@__PURE__*/ S.suspend(() => S.Struct({ databases: S.optional(DataLakeStorageInputDatabasesList), stores: S.optional(DataLakeStorageInputStoresList), }), ).annotate({ identifier: "DataLakeStorageInput", }) as any as S.Schema; export interface CreateGroupDataFederationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether this request should check if the requesting IAM role can read from the S3 bucket. AWS checks if the role can list the objects in the bucket before writing to it. Some IAM roles only need write permissions. This flag allows you to skip that check. */ skipRoleValidation?: boolean; cloudProviderConfig?: DataLakeCloudProviderConfigInput; dataProcessRegion?: DataLakeDataProcessRegion; /** Human-readable label that identifies the Federated Database Instance. */ name?: string; storage?: DataLakeStorageInput; } export const CreateGroupDataFederationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), skipRoleValidation: S.optional(S.Boolean.pipe(T.Query())), cloudProviderConfig: S.optional(DataLakeCloudProviderConfigInput), dataProcessRegion: S.optional(DataLakeDataProcessRegion), name: S.optional(S.String), storage: S.optional(DataLakeStorageInput), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/dataFederation", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupDataFederationRequest", }) as any as S.Schema; /** Configuration for running Data Federation in AWS. */ export interface DataLakeAWSCloudProviderConfigOutput { /** Unique identifier associated with the Identity and Access Management (IAM) role that the data lake assumes when accessing the data stores. */ externalId?: string; /** Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that the data lake assumes when accessing data stores. */ iamAssumedRoleARN?: string; /** Amazon Resource Name (ARN) of the user that the data lake assumes when accessing data stores. */ iamUserARN?: string; /** Unique identifier of the role that the data lake can use to access the data stores.Required if specifying cloudProviderConfig. */ roleId: string; } export const DataLakeAWSCloudProviderConfigOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ externalId: S.optional(S.String), iamAssumedRoleARN: S.optional(S.String), iamUserARN: S.optional(S.String), roleId: S.String, }), ).annotate({ identifier: "DataLakeAWSCloudProviderConfigOutput", }) as any as S.Schema; /** Configuration for running Data Federation in Azure. */ export interface DataFederationAzureCloudProviderConfig { /** The App ID generated by Atlas for the Service Principal's access policy. */ atlasAppId?: string; /** Unique identifier of the role that Data Federation can use to access the data stores. Required if specifying `cloudProviderConfig`. */ roleId: string; /** The ID of the Service Principal for which there is an access policy for Atlas to access Azure resources. */ servicePrincipalId?: string; /** The Azure Active Directory / Entra ID tenant ID associated with the Service Principal. */ tenantId?: string; } export const DataFederationAzureCloudProviderConfig = /*@__PURE__*/ S.suspend( () => S.Struct({ atlasAppId: S.optional(S.String), roleId: S.String, servicePrincipalId: S.optional(S.String), tenantId: S.optional(S.String), }), ).annotate({ identifier: "DataFederationAzureCloudProviderConfig", }) as any as S.Schema; /** Configuration for running Data Federation in GCP. */ export interface DataFederationGCPCloudProviderConfig { /** The email address of the Google Cloud Platform (GCP) service account created by Atlas which should be authorized to allow Atlas to access Google Cloud Storage. */ gcpServiceAccount?: string; /** Unique identifier of the role that Data Federation can use to access the data stores. Required if specifying `cloudProviderConfig`. */ roleId: string; } export const DataFederationGCPCloudProviderConfig = /*@__PURE__*/ S.suspend( () => S.Struct({ gcpServiceAccount: S.optional(S.String), roleId: S.String, }), ).annotate({ identifier: "DataFederationGCPCloudProviderConfig", }) as any as S.Schema; /** Cloud provider where this Federated Database Instance is hosted. */ export interface DataLakeCloudProviderConfigOutput { aws?: DataLakeAWSCloudProviderConfigOutput; azure?: DataFederationAzureCloudProviderConfig; gcp?: DataFederationGCPCloudProviderConfig; } export const DataLakeCloudProviderConfigOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ aws: S.optional(DataLakeAWSCloudProviderConfigOutput), azure: S.optional(DataFederationAzureCloudProviderConfig), gcp: S.optional(DataFederationGCPCloudProviderConfig), }), ).annotate({ identifier: "DataLakeCloudProviderConfigOutput", }) as any as S.Schema; /** List that contains the hostnames assigned to the Federated Database Instance. */ export type DataLakeTenantOutputHostnamesList = Array; export const DataLakeTenantOutputHostnamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Set of Private endpoint and hostnames. */ export interface PrivateEndpointHostname { /** Human-readable label that identifies the hostname. */ hostname?: string; /** Human-readable label that identifies private endpoint. */ privateEndpoint?: string; } export const PrivateEndpointHostname = /*@__PURE__*/ S.suspend(() => S.Struct({ hostname: S.optional(S.String), privateEndpoint: S.optional(S.String), }), ).annotate({ identifier: "PrivateEndpointHostname", }) as any as S.Schema; /** List that contains the sets of private endpoints and hostnames. */ export type DataLakeTenantOutputPrivateEndpointHostnamesList = Array; export const DataLakeTenantOutputPrivateEndpointHostnamesList = /*@__PURE__*/ S.Array( PrivateEndpointHostname, ) as any as S.Schema; /** Label that indicates the status of the Federated Database Instance. */ export type DataLakeTenantOutputState = "UNVERIFIED" | "ACTIVE" | "DELETED"; export const DataLakeTenantOutputState = S.String; /** Array that contains the queryable databases and collections for this data lake. */ export type DataLakeStorageDatabasesList = Array; export const DataLakeStorageDatabasesList = /*@__PURE__*/ S.Array( DataLakeDatabaseInstance, ) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeS3StoreSettingsRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeS3StoreSettingsRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeS3StoreSettingsUrlsList = Array; export const DataLakeS3StoreSettingsUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeS3StoreSettingsAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeS3StoreSettingsAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeS3StoreSettingsAdditionalStorageClassesList = Array; export const DataLakeS3StoreSettingsAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeS3StoreSettingsAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeS3StoreSettings { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeS3StoreSettingsRegion; /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; /** Unique 24-hexadecimal digit string that identifies the project. */ projectId?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeS3StoreSettingsUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeS3StoreSettingsAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeS3StoreSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeS3StoreSettingsRegion), clusterName: S.optional(S.String), projectId: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeS3StoreSettingsUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeS3StoreSettingsAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeS3StoreSettings", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeDLSAWSStoreRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeDLSAWSStoreRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeDLSAWSStoreUrlsList = Array; export const DataLakeDLSAWSStoreUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeDLSAWSStoreAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeDLSAWSStoreAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeDLSAWSStoreAdditionalStorageClassesList = Array; export const DataLakeDLSAWSStoreAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeDLSAWSStoreAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeDLSAWSStore { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeDLSAWSStoreRegion; /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; /** Unique 24-hexadecimal digit string that identifies the project. */ projectId?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeDLSAWSStoreUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeDLSAWSStoreAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeDLSAWSStore = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeDLSAWSStoreRegion), clusterName: S.optional(S.String), projectId: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeDLSAWSStoreUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeDLSAWSStoreAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeDLSAWSStore", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeDLSAzureStoreRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeDLSAzureStoreRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeDLSAzureStoreUrlsList = Array; export const DataLakeDLSAzureStoreUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeDLSAzureStoreAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeDLSAzureStoreAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeDLSAzureStoreAdditionalStorageClassesList = Array; export const DataLakeDLSAzureStoreAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeDLSAzureStoreAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeDLSAzureStore { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeDLSAzureStoreRegion; /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; /** Unique 24-hexadecimal digit string that identifies the project. */ projectId?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeDLSAzureStoreUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeDLSAzureStoreAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeDLSAzureStore = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeDLSAzureStoreRegion), clusterName: S.optional(S.String), projectId: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeDLSAzureStoreUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeDLSAzureStoreAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeDLSAzureStore", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeDLSGCPStoreRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeDLSGCPStoreRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeDLSGCPStoreUrlsList = Array; export const DataLakeDLSGCPStoreUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeDLSGCPStoreAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeDLSGCPStoreAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeDLSGCPStoreAdditionalStorageClassesList = Array; export const DataLakeDLSGCPStoreAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeDLSGCPStoreAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeDLSGCPStore { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeDLSGCPStoreRegion; /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; /** Unique 24-hexadecimal digit string that identifies the project. */ projectId?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeDLSGCPStoreUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeDLSGCPStoreAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeDLSGCPStore = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeDLSGCPStoreRegion), clusterName: S.optional(S.String), projectId: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeDLSGCPStoreUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeDLSGCPStoreAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeDLSGCPStore", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeAtlasStoreInstanceRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeAtlasStoreInstanceRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeAtlasStoreInstanceUrlsList = Array; export const DataLakeAtlasStoreInstanceUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeAtlasStoreInstanceAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeAtlasStoreInstanceAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeAtlasStoreInstanceAdditionalStorageClassesList = Array; export const DataLakeAtlasStoreInstanceAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeAtlasStoreInstanceAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeAtlasStoreInstance { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeAtlasStoreInstanceRegion; /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; /** Unique 24-hexadecimal digit string that identifies the project. */ projectId?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeAtlasStoreInstanceUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeAtlasStoreInstanceAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeAtlasStoreInstance = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeAtlasStoreInstanceRegion), clusterName: S.optional(S.String), projectId: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeAtlasStoreInstanceUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeAtlasStoreInstanceAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeAtlasStoreInstance", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeHTTPStoreRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeHTTPStoreRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeHTTPStoreUrlsList = Array; export const DataLakeHTTPStoreUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeHTTPStoreAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeHTTPStoreAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeHTTPStoreAdditionalStorageClassesList = Array; export const DataLakeHTTPStoreAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeHTTPStoreAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeHTTPStore { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeHTTPStoreRegion; /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; /** Unique 24-hexadecimal digit string that identifies the project. */ projectId?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeHTTPStoreUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeHTTPStoreAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeHTTPStore = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeHTTPStoreRegion), clusterName: S.optional(S.String), projectId: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeHTTPStoreUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeHTTPStoreAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeHTTPStore", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeAzureBlobStoreRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeAzureBlobStoreRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeAzureBlobStoreUrlsList = Array; export const DataLakeAzureBlobStoreUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeAzureBlobStoreAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeAzureBlobStoreAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeAzureBlobStoreAdditionalStorageClassesList = Array; export const DataLakeAzureBlobStoreAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeAzureBlobStoreAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeAzureBlobStore { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeAzureBlobStoreRegion; /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; /** Unique 24-hexadecimal digit string that identifies the project. */ projectId?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeAzureBlobStoreUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeAzureBlobStoreAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeAzureBlobStore = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeAzureBlobStoreRegion), clusterName: S.optional(S.String), projectId: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeAzureBlobStoreUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeAzureBlobStoreAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeAzureBlobStore", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type DataLakeGoogleCloudStorageStoreRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "GLOBAL"; export const DataLakeGoogleCloudStorageStoreRegion = S.String; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ export type DataLakeGoogleCloudStorageStoreUrlsList = Array; export const DataLakeGoogleCloudStorageStoreUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** AWS S3 [storage class](https://aws.amazon.com/s3/storage-classes/) where the files to include in the results are stored. */ export type DataLakeGoogleCloudStorageStoreAdditionalStorageClassesItem = | "STANDARD" | "INTELLIGENT_TIERING" | "STANDARD_IA"; export const DataLakeGoogleCloudStorageStoreAdditionalStorageClassesItem = S.String; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ export type DataLakeGoogleCloudStorageStoreAdditionalStorageClassesList = Array; export const DataLakeGoogleCloudStorageStoreAdditionalStorageClassesList = /*@__PURE__*/ S.Array( DataLakeGoogleCloudStorageStoreAdditionalStorageClassesItem, ) as any as S.Schema; export interface DataLakeGoogleCloudStorageStore { /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: DataLakeGoogleCloudStorageStoreRegion; /** Human-readable label of the MongoDB Cloud cluster on which the store is based. */ clusterName?: string; /** Unique 24-hexadecimal digit string that identifies the project. */ projectId?: string; readConcern?: DataLakeAtlasStoreReadConcern; readPreference?: DataLakeAtlasStoreReadPreference; /** Flag that validates the scheme in the specified URLs. If `true`, allows insecure `HTTP` scheme, doesn't verify the server's certificate chain and hostname, and accepts any certificate with any hostname presented by the server. If `false`, allows secure `HTTPS` scheme only. */ allowInsecure?: boolean; /** Default format that Data Lake assumes if it encounters a file without an extension while searching the `storeName`. If omitted, Data Lake attempts to detect the file type by processing a few bytes of the file. The specified format only applies to the URLs specified in the **databases.[n].collections.[n].dataSources** object. */ defaultFormat?: string; /** Comma-separated list of publicly accessible HTTP URLs where data is stored. You can't specify URLs that require authentication. */ urls?: DataLakeGoogleCloudStorageStoreUrlsList; /** Human-readable label that identifies the name of the container. */ containerName?: string; /** Delimiter. */ delimiter?: string; /** Prefix. */ prefix?: string; /** Flag that indicates whether the blob store is public. If set to `true`, MongoDB Cloud doesn't use the configured Azure service principal to access the blob store. If set to `false`, the configured Azure service principal must include permissions to access the blob store. */ public?: boolean; /** Replacement Delimiter. */ replacementDelimiter?: string; /** Service URL. */ serviceURL?: string; /** Human-readable label that identifies the Google Cloud Storage bucket. */ bucket?: string; /** Human-readable label that identifies the data store. The **databases.[n].collections.[n].dataSources.[n].storeName** field references this values as part of the mapping configuration. To use MongoDB Cloud as a data store, the data lake requires a serverless instance or an `M10` or higher cluster. */ name?: string; provider: string; /** Collection of AWS S3 [storage classes](https://aws.amazon.com/s3/storage-classes/). Atlas Data Lake includes the files in these storage classes in the query results. */ additionalStorageClasses?: DataLakeGoogleCloudStorageStoreAdditionalStorageClassesList; /** Flag that indicates whether to use S3 tags on the files in the given path as additional partition attributes. If set to `true`, data lake adds the S3 tags as additional partition attributes and adds new top-level BSON elements associating each tag to each document. */ includeTags?: boolean; } export const DataLakeGoogleCloudStorageStore = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.optional(DataLakeGoogleCloudStorageStoreRegion), clusterName: S.optional(S.String), projectId: S.optional(S.String), readConcern: S.optional(DataLakeAtlasStoreReadConcern), readPreference: S.optional(DataLakeAtlasStoreReadPreference), allowInsecure: S.optional(S.Boolean), defaultFormat: S.optional(S.String), urls: S.optional(DataLakeGoogleCloudStorageStoreUrlsList), containerName: S.optional(S.String), delimiter: S.optional(S.String), prefix: S.optional(S.String), public: S.optional(S.Boolean), replacementDelimiter: S.optional(S.String), serviceURL: S.optional(S.String), bucket: S.optional(S.String), name: S.optional(S.String), provider: S.String, additionalStorageClasses: S.optional( DataLakeGoogleCloudStorageStoreAdditionalStorageClassesList, ), includeTags: S.optional(S.Boolean), }), ).annotate({ identifier: "DataLakeGoogleCloudStorageStore", }) as any as S.Schema; /** Group of settings that define where the data is stored. */ export type DataLakeStoreSettings = | DataLakeS3StoreSettings | DataLakeDLSAWSStore | DataLakeDLSAzureStore | DataLakeDLSGCPStore | DataLakeAtlasStoreInstance | DataLakeHTTPStore | DataLakeAzureBlobStore | DataLakeGoogleCloudStorageStore; export const DataLakeStoreSettings = S.Unknown as any as S.Schema; /** Array that contains the data stores for the data lake. */ export type DataLakeStorageStoresList = Array; export const DataLakeStorageStoresList = /*@__PURE__*/ S.Array( DataLakeStoreSettings, ) as any as S.Schema; /** Configuration information for each data store and its mapping to MongoDB Cloud databases. */ export interface DataLakeStorage { /** Array that contains the queryable databases and collections for this data lake. */ databases?: DataLakeStorageDatabasesList; /** Array that contains the data stores for the data lake. */ stores?: DataLakeStorageStoresList; } export const DataLakeStorage = /*@__PURE__*/ S.suspend(() => S.Struct({ databases: S.optional(DataLakeStorageDatabasesList), stores: S.optional(DataLakeStorageStoresList), }), ).annotate({ identifier: "DataLakeStorage", }) as any as S.Schema; export interface DataLakeTenantOutput { cloudProviderConfig?: DataLakeCloudProviderConfigOutput; dataProcessRegion?: DataLakeDataProcessRegion; /** Unique 24-hexadecimal character string that identifies the project. */ groupId?: string; /** List that contains the hostnames assigned to the Federated Database Instance. */ hostnames?: DataLakeTenantOutputHostnamesList; /** Human-readable label that identifies the Federated Database Instance. */ name?: string; /** List that contains the sets of private endpoints and hostnames. */ privateEndpointHostnames?: DataLakeTenantOutputPrivateEndpointHostnamesList; /** Label that indicates the status of the Federated Database Instance. */ state?: DataLakeTenantOutputState; storage?: DataLakeStorage; } export const DataLakeTenantOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProviderConfig: S.optional(DataLakeCloudProviderConfigOutput), dataProcessRegion: S.optional(DataLakeDataProcessRegion), groupId: S.optional(S.String), hostnames: S.optional(DataLakeTenantOutputHostnamesList), name: S.optional(S.String), privateEndpointHostnames: S.optional( DataLakeTenantOutputPrivateEndpointHostnamesList, ), state: S.optional(DataLakeTenantOutputState), storage: S.optional(DataLakeStorage), }), ).annotate({ identifier: "DataLakeTenantOutput", }) as any as S.Schema; export type CreateGroupEncryptionAtRestPrivateEndpointRequestCloudProvider = | "AZURE" | "AWS"; export const CreateGroupEncryptionAtRestPrivateEndpointRequestCloudProvider = S.String; /** Microsoft Azure Regions. */ export type CreateGroupEncryptionAtRestPrivateEndpointRequestRegionNameCase0 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const CreateGroupEncryptionAtRestPrivateEndpointRequestRegionNameCase0 = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type CreateGroupEncryptionAtRestPrivateEndpointRequestRegionNameCase1 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const CreateGroupEncryptionAtRestPrivateEndpointRequestRegionNameCase1 = S.String; /** Cloud provider region in which the Encryption At Rest private endpoint is located. */ export type CreateGroupEncryptionAtRestPrivateEndpointRequestRegionName = | CreateGroupEncryptionAtRestPrivateEndpointRequestRegionNameCase0 | CreateGroupEncryptionAtRestPrivateEndpointRequestRegionNameCase1; export const CreateGroupEncryptionAtRestPrivateEndpointRequestRegionName = S.Unknown as any as S.Schema; export interface CreateGroupEncryptionAtRestPrivateEndpointRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cloud provider for the private endpoint to create. */ cloudProvider: | CreateGroupEncryptionAtRestPrivateEndpointRequestCloudProvider | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Cloud provider region in which the Encryption At Rest private endpoint is located. */ regionName?: CreateGroupEncryptionAtRestPrivateEndpointRequestRegionName; } export const CreateGroupEncryptionAtRestPrivateEndpointRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: CreateGroupEncryptionAtRestPrivateEndpointRequestCloudProvider.pipe( T.Label(), ), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), regionName: S.optional( CreateGroupEncryptionAtRestPrivateEndpointRequestRegionName, ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/encryptionAtRest/{cloudProvider}/privateEndpoints", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupEncryptionAtRestPrivateEndpointRequest", }) as any as S.Schema; export interface CreateGroupEncryptionAtRestPrivateEndpointResponse {} export const CreateGroupEncryptionAtRestPrivateEndpointResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "CreateGroupEncryptionAtRestPrivateEndpointResponse", }) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the flex cluster. */ export type FlexProviderSettingsCreate20241113InputBackingProviderName = | "AWS" | "AZURE" | "GCP"; export const FlexProviderSettingsCreate20241113InputBackingProviderName = S.String; /** Group of cloud provider settings that configure the provisioned MongoDB flex cluster. */ export interface FlexProviderSettingsCreate20241113Input { /** Cloud service provider on which MongoDB Cloud provisioned the flex cluster. */ backingProviderName: | FlexProviderSettingsCreate20241113InputBackingProviderName | (string & {}); /** Human-readable label that identifies the geographic location of your MongoDB flex cluster. The region you choose can affect network latency for clients accessing your databases. For a complete list of region names, see [AWS](https://docs.atlas.mongodb.com/reference/amazon-aws/#std-label-amazon-aws), [GCP](https://docs.atlas.mongodb.com/reference/google-gcp/), and [Azure](https://docs.atlas.mongodb.com/reference/microsoft-azure/). */ regionName: string; } export const FlexProviderSettingsCreate20241113Input = /*@__PURE__*/ S.suspend( () => S.Struct({ backingProviderName: FlexProviderSettingsCreate20241113InputBackingProviderName, regionName: S.String, }), ).annotate({ identifier: "FlexProviderSettingsCreate20241113Input", }) as any as S.Schema; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the instance. */ export type CreateGroupFlexClusterRequestTagsList = Array; export const CreateGroupFlexClusterRequestTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; export interface CreateGroupFlexClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the instance. */ name: string; providerSettings: FlexProviderSettingsCreate20241113Input; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the instance. */ tags?: CreateGroupFlexClusterRequestTagsList; /** Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster. */ terminationProtectionEnabled?: boolean; } export const CreateGroupFlexClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.String, providerSettings: FlexProviderSettingsCreate20241113Input, tags: S.optional(CreateGroupFlexClusterRequestTagsList), terminationProtectionEnabled: S.optional(S.Boolean), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/flexClusters", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "CreateGroupFlexClusterRequest", }) as any as S.Schema; /** Flex backup configuration. */ export interface FlexBackupSettings20241113 { /** Flag that indicates whether backups are performed for this flex cluster. Backup uses flex cluster backups. */ enabled?: boolean; } export const FlexBackupSettings20241113 = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), }), ).annotate({ identifier: "FlexBackupSettings20241113", }) as any as S.Schema; /** Flex cluster topology. */ export type FlexClusterDescription20241113ClusterType = "REPLICASET"; export const FlexClusterDescription20241113ClusterType = S.String; /** Collection of Uniform Resource Locators that point to the MongoDB database. */ export interface FlexConnectionStrings20241113 { /** Public connection string that you can use to connect to this cluster. This connection string uses the `mongodb://` protocol. */ standard?: string; /** Public connection string that you can use to connect to this flex cluster. This connection string uses the `mongodb+srv://` protocol. */ standardSrv?: string; } export const FlexConnectionStrings20241113 = /*@__PURE__*/ S.suspend(() => S.Struct({ standard: S.optional(S.String), standardSrv: S.optional(S.String), }), ).annotate({ identifier: "FlexConnectionStrings20241113", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type FlexClusterDescription20241113LinksList = Array; export const FlexClusterDescription20241113LinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisioned the flex cluster. */ export type FlexProviderSettings20241113BackingProviderName = | "AWS" | "AZURE" | "GCP"; export const FlexProviderSettings20241113BackingProviderName = S.String; /** Human-readable label that identifies the provider type. */ export type FlexProviderSettings20241113ProviderName = "FLEX"; export const FlexProviderSettings20241113ProviderName = S.String; /** Group of cloud provider settings that configure the provisioned MongoDB flex cluster. */ export interface FlexProviderSettings20241113 { /** Cloud service provider on which MongoDB Cloud provisioned the flex cluster. */ backingProviderName?: FlexProviderSettings20241113BackingProviderName; /** Storage capacity available to the flex cluster expressed in gigabytes. */ diskSizeGB?: number; /** Human-readable label that identifies the provider type. */ providerName?: FlexProviderSettings20241113ProviderName; /** Human-readable label that identifies the geographic location of your MongoDB flex cluster. The region you choose can affect network latency for clients accessing your databases. For a complete list of region names, see [AWS](https://docs.atlas.mongodb.com/reference/amazon-aws/#std-label-amazon-aws), [GCP](https://docs.atlas.mongodb.com/reference/google-gcp/), and [Azure](https://docs.atlas.mongodb.com/reference/microsoft-azure/). */ regionName?: string; } export const FlexProviderSettings20241113 = /*@__PURE__*/ S.suspend(() => S.Struct({ backingProviderName: S.optional( FlexProviderSettings20241113BackingProviderName, ), diskSizeGB: S.optional(S.Number), providerName: S.optional(FlexProviderSettings20241113ProviderName), regionName: S.optional(S.String), }), ).annotate({ identifier: "FlexProviderSettings20241113", }) as any as S.Schema; /** Human-readable label that indicates any current activity being taken on this cluster by the Atlas control plane. With the exception of CREATING and DELETING states, clusters should always be available and have a Primary node even when in states indicating ongoing activity. - `IDLE`: Atlas is making no changes to this cluster and all changes requested via the UI or API can be assumed to have been applied. - `CREATING`: A cluster being provisioned for the very first time returns state CREATING until it is ready for connections. Ensure IP Access List and DB Users are configured before attempting to connect. - `UPDATING`: A change requested via the UI, API, AutoScaling, or other scheduled activity is taking place. - `DELETING`: The cluster is in the process of deletion and will soon be deleted. - `REPAIRING`: One or more nodes in the cluster are being returned to service by the Atlas control plane. Other nodes should continue to provide service as normal. */ export type FlexClusterDescription20241113StateName = | "IDLE" | "CREATING" | "UPDATING" | "DELETING" | "REPAIRING"; export const FlexClusterDescription20241113StateName = S.String; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the instance. */ export type FlexClusterDescription20241113TagsList = Array; export const FlexClusterDescription20241113TagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; /** Method by which the cluster maintains the MongoDB versions. */ export type FlexClusterDescription20241113VersionReleaseSystem = "LTS"; export const FlexClusterDescription20241113VersionReleaseSystem = S.String; /** Group of settings that configure a MongoDB Flex cluster. */ export interface FlexClusterDescription20241113 { backupSettings?: FlexBackupSettings20241113; /** Flex cluster topology. */ clusterType?: FlexClusterDescription20241113ClusterType; connectionStrings?: FlexConnectionStrings20241113; /** Date and time when MongoDB Cloud created this instance. This parameter expresses its value in ISO 8601 format in UTC. */ createDate?: string; /** Unique 24-hexadecimal character string that identifies the project. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the instance. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: FlexClusterDescription20241113LinksList; /** Version of MongoDB that the instance runs. */ mongoDBVersion?: string; /** Human-readable label that identifies the instance. */ name?: string; providerSettings: FlexProviderSettings20241113; /** Human-readable label that indicates any current activity being taken on this cluster by the Atlas control plane. With the exception of CREATING and DELETING states, clusters should always be available and have a Primary node even when in states indicating ongoing activity. - `IDLE`: Atlas is making no changes to this cluster and all changes requested via the UI or API can be assumed to have been applied. - `CREATING`: A cluster being provisioned for the very first time returns state CREATING until it is ready for connections. Ensure IP Access List and DB Users are configured before attempting to connect. - `UPDATING`: A change requested via the UI, API, AutoScaling, or other scheduled activity is taking place. - `DELETING`: The cluster is in the process of deletion and will soon be deleted. - `REPAIRING`: One or more nodes in the cluster are being returned to service by the Atlas control plane. Other nodes should continue to provide service as normal. */ stateName?: FlexClusterDescription20241113StateName; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the instance. */ tags?: FlexClusterDescription20241113TagsList; /** Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster. */ terminationProtectionEnabled?: boolean; /** Method by which the cluster maintains the MongoDB versions. */ versionReleaseSystem?: FlexClusterDescription20241113VersionReleaseSystem; } export const FlexClusterDescription20241113 = /*@__PURE__*/ S.suspend(() => S.Struct({ backupSettings: S.optional(FlexBackupSettings20241113), clusterType: S.optional(FlexClusterDescription20241113ClusterType), connectionStrings: S.optional(FlexConnectionStrings20241113), createDate: S.optional(S.String), groupId: S.optional(S.String), id: S.optional(S.String), links: S.optional(FlexClusterDescription20241113LinksList), mongoDBVersion: S.optional(S.String), name: S.optional(S.String), providerSettings: FlexProviderSettings20241113, stateName: S.optional(FlexClusterDescription20241113StateName), tags: S.optional(FlexClusterDescription20241113TagsList), terminationProtectionEnabled: S.optional(S.Boolean), versionReleaseSystem: S.optional( FlexClusterDescription20241113VersionReleaseSystem, ), }), ).annotate({ identifier: "FlexClusterDescription20241113", }) as any as S.Schema; export interface CreateGroupFlexClusterBackupRestoreJobRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the flex cluster whose snapshot you want to restore. */ name: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Unique 24-hexadecimal digit string that identifies the snapshot to restore. */ snapshotId: string; /** Human-readable label that identifies the instance or cluster on the target project to which you want to restore the snapshot. You can restore the snapshot to another flex cluster or dedicated cluster tier. */ targetDeploymentItemName: string; /** Unique 24-hexadecimal digit string that identifies the project that contains the instance or cluster to which you want to restore the snapshot. */ targetProjectId?: string; } export const CreateGroupFlexClusterBackupRestoreJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), snapshotId: S.String, targetDeploymentItemName: S.String, targetProjectId: S.optional(S.String), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/restoreJobs", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "CreateGroupFlexClusterBackupRestoreJobRequest", }) as any as S.Schema; /** Means by which this resource returns the snapshot to the requesting MongoDB Cloud user. */ export type FlexBackupRestoreJob20241113DeliveryType = "RESTORE" | "DOWNLOAD"; export const FlexBackupRestoreJob20241113DeliveryType = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type FlexBackupRestoreJob20241113LinksList = Array; export const FlexBackupRestoreJob20241113LinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Phase of the restore workflow for this job at the time this resource made this request. */ export type FlexBackupRestoreJob20241113Status = | "PENDING" | "QUEUED" | "RUNNING" | "FAILED" | "COMPLETED"; export const FlexBackupRestoreJob20241113Status = S.String; /** Details for one restore job of a flex cluster. */ export interface FlexBackupRestoreJob20241113 { /** Means by which this resource returns the snapshot to the requesting MongoDB Cloud user. */ deliveryType?: FlexBackupRestoreJob20241113DeliveryType; /** Date and time when the download link no longer works. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expirationDate?: string; /** Unique 24-hexadecimal digit string that identifies the restore job. */ id?: string; /** Human-readable label that identifies the source instance. */ instanceName?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: FlexBackupRestoreJob20241113LinksList; /** Unique 24-hexadecimal digit string that identifies the project from which the restore job originated. */ projectId?: string; /** Date and time when MongoDB Cloud completed writing this snapshot. MongoDB Cloud changes the status of the restore job to `CLOSED`. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ restoreFinishedDate?: string; /** Date and time when MongoDB Cloud will restore this snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ restoreScheduledDate?: string; /** Date and time when MongoDB Cloud completed writing this snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ snapshotFinishedDate?: string; /** Unique 24-hexadecimal digit string that identifies the snapshot to restore. */ snapshotId?: string; /** Internet address from which you can download the compressed snapshot files. The resource returns this parameter when `"deliveryType" : "DOWNLOAD"`. */ snapshotUrl?: string; /** Phase of the restore workflow for this job at the time this resource made this request. */ status?: FlexBackupRestoreJob20241113Status; /** Human-readable label that identifies the instance or cluster on the target project to which you want to restore the snapshot. You can restore the snapshot to another flex or dedicated cluster tier. */ targetDeploymentItemName?: string; /** Unique 24-hexadecimal digit string that identifies the project that contains the instance or cluster to which you want to restore the snapshot. */ targetProjectId?: string; } export const FlexBackupRestoreJob20241113 = /*@__PURE__*/ S.suspend(() => S.Struct({ deliveryType: S.optional(FlexBackupRestoreJob20241113DeliveryType), expirationDate: S.optional(S.String), id: S.optional(S.String), instanceName: S.optional(S.String), links: S.optional(FlexBackupRestoreJob20241113LinksList), projectId: S.optional(S.String), restoreFinishedDate: S.optional(S.String), restoreScheduledDate: S.optional(S.String), snapshotFinishedDate: S.optional(S.String), snapshotId: S.optional(S.String), snapshotUrl: S.optional(S.String), status: S.optional(FlexBackupRestoreJob20241113Status), targetDeploymentItemName: S.optional(S.String), targetProjectId: S.optional(S.String), }), ).annotate({ identifier: "FlexBackupRestoreJob20241113", }) as any as S.Schema; export type CreateGroupIntegrationRequestIntegrationType = | "PAGER_DUTY" | "SLACK" | "DATADOG" | "NEW_RELIC" | "OPS_GENIE" | "VICTOR_OPS" | "WEBHOOK" | "HIP_CHAT" | "PROMETHEUS" | "MICROSOFT_TEAMS"; export const CreateGroupIntegrationRequestIntegrationType = S.String; /** Integration type. */ export type CreateGroupIntegrationRequestType = | "PAGER_DUTY" | "SLACK" | "DATADOG" | "NEW_RELIC" | "OPS_GENIE" | "VICTOR_OPS" | "WEBHOOK" | "HIP_CHAT" | "PROMETHEUS" | "MICROSOFT_TEAMS"; export const CreateGroupIntegrationRequestType = S.String; export interface CreateGroupIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the service which you want to integrate with MongoDB Cloud. */ integrationType: CreateGroupIntegrationRequestIntegrationType | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Integration id. */ id?: string | null; /** Integration type. */ type?: CreateGroupIntegrationRequestType | (string & {}); } export const CreateGroupIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), integrationType: CreateGroupIntegrationRequestIntegrationType.pipe( T.Label(), ), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), id: S.optional(S.NullOr(S.String)), type: S.optional(CreateGroupIntegrationRequestType), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/integrations/{integrationType}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupIntegrationRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedIntegrationViewOutputLinksList = Array; export const PaginatedIntegrationViewOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** PagerDuty region that indicates the API Uniform Resource Locator (URL) to use. */ export type PagerDutyRegion = "US" | "EU"; export const PagerDutyRegion = S.String; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ export type PagerDutyType = "PAGER_DUTY"; export const PagerDutyType = S.String; /** Details to integrate one PagerDuty account with one MongoDB Cloud project. */ export interface PagerDuty { /** Integration id. */ id?: string | null; /** PagerDuty region that indicates the API Uniform Resource Locator (URL) to use. */ region?: PagerDutyRegion; /** Service key associated with your PagerDuty account. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ serviceKey: string; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ type?: PagerDutyType; } export const PagerDuty = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), region: S.optional(PagerDutyRegion), serviceKey: S.String, type: S.optional(PagerDutyType), }), ).annotate({ identifier: "PagerDuty" }) as any as S.Schema; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ export type SlackType = "SLACK"; export const SlackType = S.String; /** Details to integrate one Slack account with one MongoDB Cloud project. */ export interface Slack { /** Key that allows MongoDB Cloud to access your Slack account. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. **IMPORTANT**: Slack integrations now use the OAuth2 verification method and must be initially configured, or updated from a legacy integration, through the Atlas third-party service integrations page. Legacy tokens will soon no longer be supported. */ apiToken: string | Redacted.Redacted; /** Name of the Slack channel to which MongoDB Cloud sends alert notifications. */ channelName: string | null; /** Integration id. */ id?: string | null; /** Human-readable label that identifies your Slack team. Set this parameter when you configure a legacy Slack integration. */ teamName?: string; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ type?: SlackType; } export const Slack = /*@__PURE__*/ S.suspend(() => S.Struct({ apiToken: S.String.pipe(T.SensitiveValue({})), channelName: S.NullOr(S.String), id: S.optional(S.NullOr(S.String)), teamName: S.optional(S.String), type: S.optional(SlackType), }), ).annotate({ identifier: "Slack" }) as any as S.Schema; /** Two-letter code that indicates which regional URL MongoDB uses to access the Datadog API. */ export type DatadogRegion = "US" | "EU" | "US3" | "US5" | "AP1" | "US1_FED"; export const DatadogRegion = S.String; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ export type DatadogType = "DATADOG"; export const DatadogType = S.String; /** Details to integrate one Datadog account with one MongoDB Cloud project. */ export interface Datadog { /** Key that allows MongoDB Cloud to access your Datadog account. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ apiKey: string | Redacted.Redacted; /** Integration id. */ id?: string | null; /** Two-letter code that indicates which regional URL MongoDB uses to access the Datadog API. */ region?: DatadogRegion; /** Toggle sending collection latency metrics that includes database names and collection names and latency metrics on reads, writes, commands, and transactions. */ sendCollectionLatencyMetrics?: boolean; /** Toggle sending database metrics that includes database names and metrics on the number of collections, storage size, and index size. */ sendDatabaseMetrics?: boolean; /** Toggle sending query shape metrics that includes query hash and metrics on latency, execution frequency, documents returned, and timestamps. */ sendQueryStatsMetrics?: boolean; /** Toggle sending sharding metrics that includes sharding distribution and chunk metrics per cluster, shard, and collection. */ sendShardingMetrics?: boolean; /** Toggle sending user provided group and cluster resource tags with the Datadog metrics. */ sendUserProvidedResourceTags?: boolean; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ type?: DatadogType; } export const Datadog = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.String.pipe(T.SensitiveValue({})), id: S.optional(S.NullOr(S.String)), region: S.optional(DatadogRegion), sendCollectionLatencyMetrics: S.optional(S.Boolean), sendDatabaseMetrics: S.optional(S.Boolean), sendQueryStatsMetrics: S.optional(S.Boolean), sendShardingMetrics: S.optional(S.Boolean), sendUserProvidedResourceTags: S.optional(S.Boolean), type: S.optional(DatadogType), }), ).annotate({ identifier: "Datadog" }) as any as S.Schema; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ export type NewRelicType = "NEW_RELIC"; export const NewRelicType = S.String; /** Details to integrate one New Relic account with one MongoDB Cloud project. ***IMPORTANT**: Effective Wednesday, June 16th, 2021, New Relic no longer supports the plugin-based integration with MongoDB. We do not recommend that you sign up for the plugin-based integration. Consider configuring an alternative monitoring integration before June 16th to maintain visibility into your MongoDB deployments. */ export interface NewRelic { /** Unique 40-hexadecimal digit string that identifies your New Relic account. */ accountId: string; /** Integration id. */ id?: string | null; /** Unique 40-hexadecimal digit string that identifies your New Relic license. **IMPORTANT**: Effective Wednesday, June 16th, 2021, New Relic no longer supports the plugin-based integration with MongoDB. We do not recommend that you sign up for the plugin-based integration. Consider configuring an alternative monitoring integration before June 16th to maintain visibility into your MongoDB deployments. */ licenseKey: string; /** Query key used to access your New Relic account. */ readToken: string; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ type?: NewRelicType; /** Insert key associated with your New Relic account. */ writeToken: string; } export const NewRelic = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String, id: S.optional(S.NullOr(S.String)), licenseKey: S.String, readToken: S.String, type: S.optional(NewRelicType), writeToken: S.String, }), ).annotate({ identifier: "NewRelic" }) as any as S.Schema; /** Two-letter code that indicates which regional URL MongoDB uses to access the OpsGenie API. */ export type OpsGenieRegion = "US" | "EU"; export const OpsGenieRegion = S.String; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ export type OpsGenieType = "OPS_GENIE"; export const OpsGenieType = S.String; /** Details to integrate one OpsGenie account with one MongoDB Cloud project. */ export interface OpsGenie { /** Key that allows MongoDB Cloud to access your OpsGenie account. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ apiKey: string | Redacted.Redacted; /** Integration id. */ id?: string | null; /** Two-letter code that indicates which regional URL MongoDB uses to access the OpsGenie API. */ region?: OpsGenieRegion; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ type?: OpsGenieType; } export const OpsGenie = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.String.pipe(T.SensitiveValue({})), id: S.optional(S.NullOr(S.String)), region: S.optional(OpsGenieRegion), type: S.optional(OpsGenieType), }), ).annotate({ identifier: "OpsGenie" }) as any as S.Schema; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ export type VictorOpsType = "VICTOR_OPS"; export const VictorOpsType = S.String; /** Details to integrate one Splunk On-Call account with one MongoDB Cloud project. */ export interface VictorOps { /** Key that allows MongoDB Cloud to access your VictorOps account. **NOTE**: After you create a notification which requires an API or integration key, the key appears partially redacted when you: * View or edit the alert through the Atlas UI. * Query the alert for the notification through the Atlas Administration API. */ apiKey: string | Redacted.Redacted; /** Integration id. */ id?: string | null; /** Routing key associated with your Splunk On-Call account. */ routingKey?: string; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ type?: VictorOpsType; } export const VictorOps = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.String.pipe(T.SensitiveValue({})), id: S.optional(S.NullOr(S.String)), routingKey: S.optional(S.String), type: S.optional(VictorOpsType), }), ).annotate({ identifier: "VictorOps" }) as any as S.Schema; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ export type WebhookType = "WEBHOOK"; export const WebhookType = S.String; /** Details to integrate one webhook with one MongoDB Cloud project. */ export interface Webhook { /** HTTP body template for a webhook-based alert. The rendered output MUST be valid JSON — MongoDB Cloud sends the rendered body with `Content-Type: application/json`. If the template fails to render, exceeds the 16 KB limit, or renders non-JSON output, MongoDB Cloud sends the webhook with its default JSON payload instead. */ bodyTemplate?: string; /** HTTP headers template for a webhook-based alert. The rendered output MUST be a JSON object mapping header name to header value (e.g. `{"X-Custom-Header": "static-value", "X-Alert-Id": "${id}"}`). Placeholders may reference any alert-view field plus `${eventType}`; the webhook secret and the signature header are NOT exposed to templates. If the template fails to render, exceeds the 4 KB limit, or renders output that is not a valid JSON name→value object, MongoDB Cloud sends the webhook with its default set of headers instead. */ headersTemplate?: string; /** Integration id. */ id?: string | null; /** An optional field returned if your webhook is configured with a secret. **NOTE**: When you view or edit the alert for a webhook notification, the secret appears completely redacted. */ secret?: string | Redacted.Redacted; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ type?: WebhookType; /** Endpoint web address to which MongoDB Cloud sends notifications. **NOTE**: When you view or edit the alert for a webhook notification, the URL appears partially redacted. */ url: string; } export const Webhook = /*@__PURE__*/ S.suspend(() => S.Struct({ bodyTemplate: S.optional(S.String), headersTemplate: S.optional(S.String), id: S.optional(S.NullOr(S.String)), secret: S.optional(S.String.pipe(T.SensitiveValue({}))), type: S.optional(WebhookType), url: S.String, }), ).annotate({ identifier: "Webhook" }) as any as S.Schema; /** Desired method to discover the Prometheus service. */ export type PrometheusOutputServiceDiscovery = "http" | "file"; export const PrometheusOutputServiceDiscovery = S.String; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ export type PrometheusOutputType = "PROMETHEUS"; export const PrometheusOutputType = S.String; /** Details to integrate one Prometheus account with one MongoDB Cloud project. */ export interface PrometheusOutput { /** Flag that indicates whether someone has activated the Prometheus integration. */ enabled: boolean; /** Integration id. */ id?: string | null; /** Toggle sending user provided group and cluster resource tags with the Prometheus metrics. */ sendUserProvidedResourceTagsEnabled?: boolean; /** Desired method to discover the Prometheus service. */ serviceDiscovery: PrometheusOutputServiceDiscovery; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ type?: PrometheusOutputType; /** Human-readable label that identifies your Prometheus incoming webhook. */ username: string; } export const PrometheusOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.Boolean, id: S.optional(S.NullOr(S.String)), sendUserProvidedResourceTagsEnabled: S.optional(S.Boolean), serviceDiscovery: PrometheusOutputServiceDiscovery, type: S.optional(PrometheusOutputType), username: S.String, }), ).annotate({ identifier: "PrometheusOutput", }) as any as S.Schema; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ export type MicrosoftTeamsType = "MICROSOFT_TEAMS"; export const MicrosoftTeamsType = S.String; /** Details to integrate one Microsoft Teams account with one MongoDB Cloud project. */ export interface MicrosoftTeams { /** Integration id. */ id?: string | null; /** Endpoint web address of the Microsoft Teams webhook to which MongoDB Cloud sends notifications. **NOTE**: When you view or edit the alert for a Microsoft Teams notification, the URL appears partially redacted. */ microsoftTeamsWebhookUrl: string; /** Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. */ type?: MicrosoftTeamsType; } export const MicrosoftTeams = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), microsoftTeamsWebhookUrl: S.String, type: S.optional(MicrosoftTeamsType), }), ).annotate({ identifier: "MicrosoftTeams" }) as any as S.Schema; /** Collection of settings that describe third-party integrations. */ export type ThirdPartyIntegrationOutput = | PagerDuty | Slack | Datadog | NewRelic | OpsGenie | VictorOps | Webhook | PrometheusOutput | MicrosoftTeams; export const ThirdPartyIntegrationOutput = S.Unknown as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedIntegrationViewOutputResultsList = Array; export const PaginatedIntegrationViewOutputResultsList = /*@__PURE__*/ S.Array( ThirdPartyIntegrationOutput, ) as any as S.Schema; export interface PaginatedIntegrationViewOutput { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedIntegrationViewOutputLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedIntegrationViewOutputResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedIntegrationViewOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedIntegrationViewOutputLinksList), results: PaginatedIntegrationViewOutputResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedIntegrationViewOutput", }) as any as S.Schema; /** The network type to use between the migration host and the destination cluster. */ export type DestinationHostnameSchemaType = | "PUBLIC" | "PRIVATE_LINK" | "VPC_PEERING"; export const DestinationHostnameSchemaType = S.String; /** Document that describes the destination of the migration. */ export interface Destination { /** Label that identifies the destination cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the destination project. */ groupId: string; /** The network type to use between the migration host and the destination cluster. */ hostnameSchemaType: DestinationHostnameSchemaType | (string & {}); /** Represents the endpoint to use when the host schema type is `PRIVATE_LINK`. */ privateLinkId?: string | null; } export const Destination = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterName: S.String, groupId: S.String, hostnameSchemaType: DestinationHostnameSchemaType, privateLinkId: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "Destination" }) as any as S.Schema; /** List of migration hosts used for this migration. */ export type CreateGroupLiveMigrationRequestMigrationHostsList = Array; export const CreateGroupLiveMigrationRequestMigrationHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type ShardKeysKeyItemMap = { [key: string]: unknown | undefined }; export const ShardKeysKeyItemMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** List of fields to use for the shard key. */ export type ShardKeysKeyList = Array; export const ShardKeysKeyList = /*@__PURE__*/ S.Array( ShardKeysKeyItemMap, ) as any as S.Schema; /** Document that configures the shard key on the destination cluster. */ export interface ShardKeys { /** List of fields to use for the shard key. */ key: ShardKeysKeyList; } export const ShardKeys = /*@__PURE__*/ S.suspend(() => S.Struct({ key: ShardKeysKeyList, }), ).annotate({ identifier: "ShardKeys" }) as any as S.Schema; /** Sharding configuration for a collection to be sharded on the destination cluster. */ export interface ShardEntry { /** Human-readable label that identifies the collection to be sharded on the destination cluster. */ collection: string; /** Human-readable label that identifies the database that contains the collection to be sharded on the destination cluster. */ database: string; shardCollection: ShardKeys; } export const ShardEntry = /*@__PURE__*/ S.suspend(() => S.Struct({ collection: S.String, database: S.String, shardCollection: ShardKeys, }), ).annotate({ identifier: "ShardEntry" }) as any as S.Schema; /** List of shard configurations to shard destination collections. Atlas shards only those collections that you include in the sharding entries array. */ export type ShardingRequestShardingEntriesList = Array; export const ShardingRequestShardingEntriesList = /*@__PURE__*/ S.Array( ShardEntry, ) as any as S.Schema; /** Document that configures sharding on the destination cluster when migrating from a replica set source to a sharded cluster destination on MongoDB 6.0 or higher. If you don't wish to shard any collections on the destination cluster, leave this empty. */ export interface ShardingRequest { /** Flag that lets the migration create supporting indexes for the shard keys, if none exists, as the destination cluster also needs compatible indexes for the specified shard keys. */ createSupportingIndexes: boolean; /** List of shard configurations to shard destination collections. Atlas shards only those collections that you include in the sharding entries array. */ shardingEntries: ShardingRequestShardingEntriesList; } export const ShardingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ createSupportingIndexes: S.Boolean, shardingEntries: ShardingRequestShardingEntriesList, }), ).annotate({ identifier: "ShardingRequest", }) as any as S.Schema; /** Document that describes the source of the migration. */ export interface Source { /** Path to the CA certificate that signed SSL certificates use to authenticate to the source cluster. */ caCertificatePath?: string | null; /** Label that identifies the source cluster name. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the source project. */ groupId: string; /** Flag that indicates whether MongoDB Automation manages authentication to the source cluster. If true, do not provide values for username and password. */ managedAuthentication: boolean; /** Password that authenticates the username to the source cluster. */ password?: string | Redacted.Redacted | null; /** Flag that indicates whether you have SSL enabled. */ ssl: boolean; /** Label that identifies the SCRAM-SHA user that connects to the source cluster. */ username?: string | null; } export const Source = /*@__PURE__*/ S.suspend(() => S.Struct({ caCertificatePath: S.optional(S.NullOr(S.String)), clusterName: S.String, groupId: S.String, managedAuthentication: S.Boolean, password: S.optional(S.NullOr(S.String).pipe(T.SensitiveValue({}))), ssl: S.Boolean, username: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "Source" }) as any as S.Schema; export interface CreateGroupLiveMigrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; destination: Destination; /** Flag that indicates whether the migration process drops all collections from the destination cluster before the migration starts. */ dropDestinationData?: boolean; /** List of migration hosts used for this migration. */ migrationHosts: CreateGroupLiveMigrationRequestMigrationHostsList; sharding?: ShardingRequest; source: Source; } export const CreateGroupLiveMigrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), destination: Destination, dropDestinationData: S.optional(S.Boolean), migrationHosts: CreateGroupLiveMigrationRequestMigrationHostsList, sharding: S.optional(ShardingRequest), source: Source, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/liveMigrations", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "CreateGroupLiveMigrationRequest", }) as any as S.Schema; /** List of hosts running MongoDB Agents. These Agents can transfer your MongoDB data between one source and one destination cluster. */ export type LiveMigrationResponseMigrationHostsList = Array; export const LiveMigrationResponseMigrationHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Progress made in migrating one cluster to MongoDB Atlas. `NEW`: Someone scheduled a local cluster migration to MongoDB Atlas. `FAILED`: The cluster migration to MongoDB Atlas failed. `COMPLETE`: The cluster migration to MongoDB Atlas succeeded. `EXPIRED`: MongoDB Atlas prepares to begin the cut over of the migrating cluster when source and destination clusters have almost synchronized. If `"readyForCutover" : true`, this synchronization starts a timer of 120 hours. You can extend this timer. If the timer expires, MongoDB Atlas returns this status. `WORKING`: The cluster migration to MongoDB Atlas is performing one of the following tasks: - Preparing connections to source and destination clusters. - Replicating data from source to destination. - Verifying MongoDB Atlas connection settings. - Stopping replication after the cut over. */ export type LiveMigrationResponseStatus = | "NEW" | "WORKING" | "FAILED" | "COMPLETE" | "EXPIRED"; export const LiveMigrationResponseStatus = S.String; export interface LiveMigrationResponse { /** Unique 24-hexadecimal digit string that identifies the migration job. */ _id?: string; /** Replication lag between the source and destination clusters. Atlas returns this setting only during an active migration, before the cutover phase. */ lagTimeSeconds?: number | null; /** List of hosts running MongoDB Agents. These Agents can transfer your MongoDB data between one source and one destination cluster. */ migrationHosts?: LiveMigrationResponseMigrationHostsList; /** Flag that indicates the migrated cluster can be cut over to MongoDB Atlas. */ readyForCutover?: boolean; /** Progress made in migrating one cluster to MongoDB Atlas. `NEW`: Someone scheduled a local cluster migration to MongoDB Atlas. `FAILED`: The cluster migration to MongoDB Atlas failed. `COMPLETE`: The cluster migration to MongoDB Atlas succeeded. `EXPIRED`: MongoDB Atlas prepares to begin the cut over of the migrating cluster when source and destination clusters have almost synchronized. If `"readyForCutover" : true`, this synchronization starts a timer of 120 hours. You can extend this timer. If the timer expires, MongoDB Atlas returns this status. `WORKING`: The cluster migration to MongoDB Atlas is performing one of the following tasks: - Preparing connections to source and destination clusters. - Replicating data from source to destination. - Verifying MongoDB Atlas connection settings. - Stopping replication after the cut over. */ status?: LiveMigrationResponseStatus | null; } export const LiveMigrationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.String), lagTimeSeconds: S.optional(S.NullOr(S.Number)), migrationHosts: S.optional(LiveMigrationResponseMigrationHostsList), readyForCutover: S.optional(S.Boolean), status: S.optional(S.NullOr(LiveMigrationResponseStatus)), }), ).annotate({ identifier: "LiveMigrationResponse", }) as any as S.Schema; export type CreateGroupLogIntegrationRequestLogTypesItem = | "MONGOD" | "MONGOS" | "MONGOD_AUDIT" | "MONGOS_AUDIT"; export const CreateGroupLogIntegrationRequestLogTypesItem = S.String; /** Array of log types exported by this integration. */ export type CreateGroupLogIntegrationRequestLogTypesList = Array< CreateGroupLogIntegrationRequestLogTypesItem | (string & {}) >; export const CreateGroupLogIntegrationRequestLogTypesList = /*@__PURE__*/ S.Array( CreateGroupLogIntegrationRequestLogTypesItem, ) as any as S.Schema; /** Type of log integration. Identifies which service will receive the exported logs. This value cannot be modified after the integration is created. */ export type CreateGroupLogIntegrationRequestType = | "S3_LOG_EXPORT" | "DATADOG_LOG_EXPORT" | "GCS_LOG_EXPORT" | "OTEL_LOG_EXPORT" | "SPLUNK_LOG_EXPORT" | "AZURE_LOG_EXPORT"; export const CreateGroupLogIntegrationRequestType = S.String; export interface CreateGroupLogIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Array of log types exported by this integration. */ logTypes: CreateGroupLogIntegrationRequestLogTypesList; /** Type of log integration. Identifies which service will receive the exported logs. This value cannot be modified after the integration is created. */ type: CreateGroupLogIntegrationRequestType | (string & {}); } export const CreateGroupLogIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), logTypes: CreateGroupLogIntegrationRequestLogTypesList, type: CreateGroupLogIntegrationRequestType, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/logIntegrations", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateGroupLogIntegrationRequest", }) as any as S.Schema; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ export type S3LogIntegrationResponseOutputRegion = | "US1" | "US3" | "US5" | "EU" | "AP1" | "AP2" | "US1_FED"; export const S3LogIntegrationResponseOutputRegion = S.String; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ export type S3LogIntegrationResponseOutputType = "DATADOG_LOG_EXPORT"; export const S3LogIntegrationResponseOutputType = S.String; /** HTTP header with name and value. */ export interface HeaderOutput { /** Header name. */ name: string; } export const HeaderOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, }), ).annotate({ identifier: "HeaderOutput" }) as any as S.Schema; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ export type S3LogIntegrationResponseOutputOtelSuppliedHeadersList = Array; export const S3LogIntegrationResponseOutputOtelSuppliedHeadersList = /*@__PURE__*/ S.Array( HeaderOutput, ) as any as S.Schema; export type S3LogIntegrationResponseOutputLogTypesItem = | "MONGOD" | "MONGOS" | "MONGOD_AUDIT" | "MONGOS_AUDIT"; export const S3LogIntegrationResponseOutputLogTypesItem = S.String; /** Array of log types exported by this integration. */ export type S3LogIntegrationResponseOutputLogTypesList = Array; export const S3LogIntegrationResponseOutputLogTypesList = /*@__PURE__*/ S.Array( S3LogIntegrationResponseOutputLogTypesItem, ) as any as S.Schema; /** Details to integrate S3 log export with one Atlas project. */ export interface S3LogIntegrationResponseOutput { /** API key for authentication. */ apiKey?: string | Redacted.Redacted; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ region?: S3LogIntegrationResponseOutputRegion; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ type: S3LogIntegrationResponseOutputType; /** Name of the bucket to store log files. */ bucketName: string; /** Path prefix where the log files will be stored. Atlas will add further sub-directories based on the log type. */ prefixPath: string; /** Unique 24-character hexadecimal string that identifies the Atlas Cloud Provider Access role. */ roleId?: string; /** OpenTelemetry collector endpoint URL. */ otelEndpoint?: string; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ otelSuppliedHeaders?: S3LogIntegrationResponseOutputOtelSuppliedHeadersList; /** HTTP Event Collector (HEC) token for authentication. */ hecToken?: string; /** HTTP Event Collector (HEC) endpoint URL. */ hecUrl?: string; /** Storage account name where logs will be stored. */ storageAccountName?: string; /** Storage container name for log files. */ storageContainerName?: string; /** Unique 24-character hexadecimal digit string that identifies the log integration configuration. */ id: string; /** Array of log types exported by this integration. */ logTypes: S3LogIntegrationResponseOutputLogTypesList; /** Unique 24-character hexadecimal string that identifies the AWS IAM role that Atlas uses to access the S3 bucket. */ iamRoleId: string; /** AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings. */ kmsKey?: string | null; /** When true, uses the legacy daily-folder path structure compatible with Push-Based Log Export: `{prefix}/{cluster}/{hostname}/{logType}/{YYYY-MM-DD}/{timestamp}-{logType}.log`. When false (default), uses the flat timestamped structure: `{prefix}/{cluster}/{hostname}/{logType}/{timestamp}-{logType}.log`. */ useLegacyPathStructure?: boolean | null; } export const S3LogIntegrationResponseOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.optional(S.String.pipe(T.SensitiveValue({}))), region: S.optional(S3LogIntegrationResponseOutputRegion), type: S3LogIntegrationResponseOutputType, bucketName: S.String, prefixPath: S.String, roleId: S.optional(S.String), otelEndpoint: S.optional(S.String), otelSuppliedHeaders: S.optional( S3LogIntegrationResponseOutputOtelSuppliedHeadersList, ), hecToken: S.optional(S.String), hecUrl: S.optional(S.String), storageAccountName: S.optional(S.String), storageContainerName: S.optional(S.String), id: S.String, logTypes: S3LogIntegrationResponseOutputLogTypesList, iamRoleId: S.String, kmsKey: S.optional(S.NullOr(S.String)), useLegacyPathStructure: S.optional(S.NullOr(S.Boolean)), }), ).annotate({ identifier: "S3LogIntegrationResponseOutput", }) as any as S.Schema; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ export type DatadogLogIntegrationResponseOutputRegion = | "US1" | "US3" | "US5" | "EU" | "AP1" | "AP2" | "US1_FED"; export const DatadogLogIntegrationResponseOutputRegion = S.String; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ export type DatadogLogIntegrationResponseOutputType = "DATADOG_LOG_EXPORT"; export const DatadogLogIntegrationResponseOutputType = S.String; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ export type DatadogLogIntegrationResponseOutputOtelSuppliedHeadersList = Array; export const DatadogLogIntegrationResponseOutputOtelSuppliedHeadersList = /*@__PURE__*/ S.Array( HeaderOutput, ) as any as S.Schema; export type DatadogLogIntegrationResponseOutputLogTypesItem = | "MONGOD" | "MONGOS" | "MONGOD_AUDIT" | "MONGOS_AUDIT"; export const DatadogLogIntegrationResponseOutputLogTypesItem = S.String; /** Array of log types exported by this integration. */ export type DatadogLogIntegrationResponseOutputLogTypesList = Array; export const DatadogLogIntegrationResponseOutputLogTypesList = /*@__PURE__*/ S.Array( DatadogLogIntegrationResponseOutputLogTypesItem, ) as any as S.Schema; /** Details to integrate Datadog log export with one Atlas project. */ export interface DatadogLogIntegrationResponseOutput { /** API key for authentication. */ apiKey: string | Redacted.Redacted; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ region: DatadogLogIntegrationResponseOutputRegion; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ type: DatadogLogIntegrationResponseOutputType; /** Name of the bucket to store log files. */ bucketName?: string; /** Path prefix where the log files will be stored. Atlas will add further sub-directories based on the log type. */ prefixPath?: string; /** Unique 24-character hexadecimal string that identifies the Atlas Cloud Provider Access role. */ roleId?: string; /** OpenTelemetry collector endpoint URL. */ otelEndpoint?: string; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ otelSuppliedHeaders?: DatadogLogIntegrationResponseOutputOtelSuppliedHeadersList; /** HTTP Event Collector (HEC) token for authentication. */ hecToken?: string; /** HTTP Event Collector (HEC) endpoint URL. */ hecUrl?: string; /** Storage account name where logs will be stored. */ storageAccountName?: string; /** Storage container name for log files. */ storageContainerName?: string; /** Unique 24-character hexadecimal digit string that identifies the log integration configuration. */ id: string; /** Array of log types exported by this integration. */ logTypes: DatadogLogIntegrationResponseOutputLogTypesList; /** Unique 24-character hexadecimal string that identifies the AWS IAM role that Atlas uses to access the S3 bucket. */ iamRoleId?: string; /** AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings. */ kmsKey?: string | null; /** When true, uses the legacy daily-folder path structure compatible with Push-Based Log Export: `{prefix}/{cluster}/{hostname}/{logType}/{YYYY-MM-DD}/{timestamp}-{logType}.log`. When false (default), uses the flat timestamped structure: `{prefix}/{cluster}/{hostname}/{logType}/{timestamp}-{logType}.log`. */ useLegacyPathStructure?: boolean | null; } export const DatadogLogIntegrationResponseOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.String.pipe(T.SensitiveValue({})), region: DatadogLogIntegrationResponseOutputRegion, type: DatadogLogIntegrationResponseOutputType, bucketName: S.optional(S.String), prefixPath: S.optional(S.String), roleId: S.optional(S.String), otelEndpoint: S.optional(S.String), otelSuppliedHeaders: S.optional( DatadogLogIntegrationResponseOutputOtelSuppliedHeadersList, ), hecToken: S.optional(S.String), hecUrl: S.optional(S.String), storageAccountName: S.optional(S.String), storageContainerName: S.optional(S.String), id: S.String, logTypes: DatadogLogIntegrationResponseOutputLogTypesList, iamRoleId: S.optional(S.String), kmsKey: S.optional(S.NullOr(S.String)), useLegacyPathStructure: S.optional(S.NullOr(S.Boolean)), }), ).annotate({ identifier: "DatadogLogIntegrationResponseOutput", }) as any as S.Schema; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ export type GcsLogIntegrationResponseOutputRegion = | "US1" | "US3" | "US5" | "EU" | "AP1" | "AP2" | "US1_FED"; export const GcsLogIntegrationResponseOutputRegion = S.String; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ export type GcsLogIntegrationResponseOutputType = "DATADOG_LOG_EXPORT"; export const GcsLogIntegrationResponseOutputType = S.String; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ export type GcsLogIntegrationResponseOutputOtelSuppliedHeadersList = Array; export const GcsLogIntegrationResponseOutputOtelSuppliedHeadersList = /*@__PURE__*/ S.Array( HeaderOutput, ) as any as S.Schema; export type GcsLogIntegrationResponseOutputLogTypesItem = | "MONGOD" | "MONGOS" | "MONGOD_AUDIT" | "MONGOS_AUDIT"; export const GcsLogIntegrationResponseOutputLogTypesItem = S.String; /** Array of log types exported by this integration. */ export type GcsLogIntegrationResponseOutputLogTypesList = Array; export const GcsLogIntegrationResponseOutputLogTypesList = /*@__PURE__*/ S.Array( GcsLogIntegrationResponseOutputLogTypesItem, ) as any as S.Schema; /** Details to integrate Google Cloud Storage log export with one Atlas project. */ export interface GcsLogIntegrationResponseOutput { /** API key for authentication. */ apiKey?: string | Redacted.Redacted; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ region?: GcsLogIntegrationResponseOutputRegion; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ type: GcsLogIntegrationResponseOutputType; /** Name of the bucket to store log files. */ bucketName: string; /** Path prefix where the log files will be stored. Atlas will add further sub-directories based on the log type. */ prefixPath: string; /** Unique 24-character hexadecimal string that identifies the Atlas Cloud Provider Access role. */ roleId: string; /** OpenTelemetry collector endpoint URL. */ otelEndpoint?: string; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ otelSuppliedHeaders?: GcsLogIntegrationResponseOutputOtelSuppliedHeadersList; /** HTTP Event Collector (HEC) token for authentication. */ hecToken?: string; /** HTTP Event Collector (HEC) endpoint URL. */ hecUrl?: string; /** Storage account name where logs will be stored. */ storageAccountName?: string; /** Storage container name for log files. */ storageContainerName?: string; /** Unique 24-character hexadecimal digit string that identifies the log integration configuration. */ id: string; /** Array of log types exported by this integration. */ logTypes: GcsLogIntegrationResponseOutputLogTypesList; /** Unique 24-character hexadecimal string that identifies the AWS IAM role that Atlas uses to access the S3 bucket. */ iamRoleId?: string; /** AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings. */ kmsKey?: string | null; /** When true, uses the legacy daily-folder path structure compatible with Push-Based Log Export: `{prefix}/{cluster}/{hostname}/{logType}/{YYYY-MM-DD}/{timestamp}-{logType}.log`. When false (default), uses the flat timestamped structure: `{prefix}/{cluster}/{hostname}/{logType}/{timestamp}-{logType}.log`. */ useLegacyPathStructure?: boolean | null; } export const GcsLogIntegrationResponseOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.optional(S.String.pipe(T.SensitiveValue({}))), region: S.optional(GcsLogIntegrationResponseOutputRegion), type: GcsLogIntegrationResponseOutputType, bucketName: S.String, prefixPath: S.String, roleId: S.String, otelEndpoint: S.optional(S.String), otelSuppliedHeaders: S.optional( GcsLogIntegrationResponseOutputOtelSuppliedHeadersList, ), hecToken: S.optional(S.String), hecUrl: S.optional(S.String), storageAccountName: S.optional(S.String), storageContainerName: S.optional(S.String), id: S.String, logTypes: GcsLogIntegrationResponseOutputLogTypesList, iamRoleId: S.optional(S.String), kmsKey: S.optional(S.NullOr(S.String)), useLegacyPathStructure: S.optional(S.NullOr(S.Boolean)), }), ).annotate({ identifier: "GcsLogIntegrationResponseOutput", }) as any as S.Schema; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ export type OtelLogIntegrationResponseOutputRegion = | "US1" | "US3" | "US5" | "EU" | "AP1" | "AP2" | "US1_FED"; export const OtelLogIntegrationResponseOutputRegion = S.String; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ export type OtelLogIntegrationResponseOutputType = "DATADOG_LOG_EXPORT"; export const OtelLogIntegrationResponseOutputType = S.String; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ export type OtelLogIntegrationResponseOutputOtelSuppliedHeadersList = Array; export const OtelLogIntegrationResponseOutputOtelSuppliedHeadersList = /*@__PURE__*/ S.Array( HeaderOutput, ) as any as S.Schema; export type OtelLogIntegrationResponseOutputLogTypesItem = | "MONGOD" | "MONGOS" | "MONGOD_AUDIT" | "MONGOS_AUDIT"; export const OtelLogIntegrationResponseOutputLogTypesItem = S.String; /** Array of log types exported by this integration. */ export type OtelLogIntegrationResponseOutputLogTypesList = Array; export const OtelLogIntegrationResponseOutputLogTypesList = /*@__PURE__*/ S.Array( OtelLogIntegrationResponseOutputLogTypesItem, ) as any as S.Schema; /** Details to integrate OpenTelemetry log export with one Atlas project. */ export interface OtelLogIntegrationResponseOutput { /** API key for authentication. */ apiKey?: string | Redacted.Redacted; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ region?: OtelLogIntegrationResponseOutputRegion; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ type: OtelLogIntegrationResponseOutputType; /** Name of the bucket to store log files. */ bucketName?: string; /** Path prefix where the log files will be stored. Atlas will add further sub-directories based on the log type. */ prefixPath?: string; /** Unique 24-character hexadecimal string that identifies the Atlas Cloud Provider Access role. */ roleId?: string; /** OpenTelemetry collector endpoint URL. */ otelEndpoint: string; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ otelSuppliedHeaders: OtelLogIntegrationResponseOutputOtelSuppliedHeadersList; /** HTTP Event Collector (HEC) token for authentication. */ hecToken?: string; /** HTTP Event Collector (HEC) endpoint URL. */ hecUrl?: string; /** Storage account name where logs will be stored. */ storageAccountName?: string; /** Storage container name for log files. */ storageContainerName?: string; /** Unique 24-character hexadecimal digit string that identifies the log integration configuration. */ id: string; /** Array of log types exported by this integration. */ logTypes: OtelLogIntegrationResponseOutputLogTypesList; /** Unique 24-character hexadecimal string that identifies the AWS IAM role that Atlas uses to access the S3 bucket. */ iamRoleId?: string; /** AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings. */ kmsKey?: string | null; /** When true, uses the legacy daily-folder path structure compatible with Push-Based Log Export: `{prefix}/{cluster}/{hostname}/{logType}/{YYYY-MM-DD}/{timestamp}-{logType}.log`. When false (default), uses the flat timestamped structure: `{prefix}/{cluster}/{hostname}/{logType}/{timestamp}-{logType}.log`. */ useLegacyPathStructure?: boolean | null; } export const OtelLogIntegrationResponseOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.optional(S.String.pipe(T.SensitiveValue({}))), region: S.optional(OtelLogIntegrationResponseOutputRegion), type: OtelLogIntegrationResponseOutputType, bucketName: S.optional(S.String), prefixPath: S.optional(S.String), roleId: S.optional(S.String), otelEndpoint: S.String, otelSuppliedHeaders: OtelLogIntegrationResponseOutputOtelSuppliedHeadersList, hecToken: S.optional(S.String), hecUrl: S.optional(S.String), storageAccountName: S.optional(S.String), storageContainerName: S.optional(S.String), id: S.String, logTypes: OtelLogIntegrationResponseOutputLogTypesList, iamRoleId: S.optional(S.String), kmsKey: S.optional(S.NullOr(S.String)), useLegacyPathStructure: S.optional(S.NullOr(S.Boolean)), }), ).annotate({ identifier: "OtelLogIntegrationResponseOutput", }) as any as S.Schema; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ export type SplunkLogIntegrationResponseOutputRegion = | "US1" | "US3" | "US5" | "EU" | "AP1" | "AP2" | "US1_FED"; export const SplunkLogIntegrationResponseOutputRegion = S.String; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ export type SplunkLogIntegrationResponseOutputType = "DATADOG_LOG_EXPORT"; export const SplunkLogIntegrationResponseOutputType = S.String; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ export type SplunkLogIntegrationResponseOutputOtelSuppliedHeadersList = Array; export const SplunkLogIntegrationResponseOutputOtelSuppliedHeadersList = /*@__PURE__*/ S.Array( HeaderOutput, ) as any as S.Schema; export type SplunkLogIntegrationResponseOutputLogTypesItem = | "MONGOD" | "MONGOS" | "MONGOD_AUDIT" | "MONGOS_AUDIT"; export const SplunkLogIntegrationResponseOutputLogTypesItem = S.String; /** Array of log types exported by this integration. */ export type SplunkLogIntegrationResponseOutputLogTypesList = Array; export const SplunkLogIntegrationResponseOutputLogTypesList = /*@__PURE__*/ S.Array( SplunkLogIntegrationResponseOutputLogTypesItem, ) as any as S.Schema; /** Details to integrate Splunk log export with one Atlas project. */ export interface SplunkLogIntegrationResponseOutput { /** API key for authentication. */ apiKey?: string | Redacted.Redacted; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ region?: SplunkLogIntegrationResponseOutputRegion; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ type: SplunkLogIntegrationResponseOutputType; /** Name of the bucket to store log files. */ bucketName?: string; /** Path prefix where the log files will be stored. Atlas will add further sub-directories based on the log type. */ prefixPath?: string; /** Unique 24-character hexadecimal string that identifies the Atlas Cloud Provider Access role. */ roleId?: string; /** OpenTelemetry collector endpoint URL. */ otelEndpoint?: string; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ otelSuppliedHeaders?: SplunkLogIntegrationResponseOutputOtelSuppliedHeadersList; /** HTTP Event Collector (HEC) token for authentication. */ hecToken: string; /** HTTP Event Collector (HEC) endpoint URL. */ hecUrl: string; /** Storage account name where logs will be stored. */ storageAccountName?: string; /** Storage container name for log files. */ storageContainerName?: string; /** Unique 24-character hexadecimal digit string that identifies the log integration configuration. */ id: string; /** Array of log types exported by this integration. */ logTypes: SplunkLogIntegrationResponseOutputLogTypesList; /** Unique 24-character hexadecimal string that identifies the AWS IAM role that Atlas uses to access the S3 bucket. */ iamRoleId?: string; /** AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings. */ kmsKey?: string | null; /** When true, uses the legacy daily-folder path structure compatible with Push-Based Log Export: `{prefix}/{cluster}/{hostname}/{logType}/{YYYY-MM-DD}/{timestamp}-{logType}.log`. When false (default), uses the flat timestamped structure: `{prefix}/{cluster}/{hostname}/{logType}/{timestamp}-{logType}.log`. */ useLegacyPathStructure?: boolean | null; } export const SplunkLogIntegrationResponseOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.optional(S.String.pipe(T.SensitiveValue({}))), region: S.optional(SplunkLogIntegrationResponseOutputRegion), type: SplunkLogIntegrationResponseOutputType, bucketName: S.optional(S.String), prefixPath: S.optional(S.String), roleId: S.optional(S.String), otelEndpoint: S.optional(S.String), otelSuppliedHeaders: S.optional( SplunkLogIntegrationResponseOutputOtelSuppliedHeadersList, ), hecToken: S.String, hecUrl: S.String, storageAccountName: S.optional(S.String), storageContainerName: S.optional(S.String), id: S.String, logTypes: SplunkLogIntegrationResponseOutputLogTypesList, iamRoleId: S.optional(S.String), kmsKey: S.optional(S.NullOr(S.String)), useLegacyPathStructure: S.optional(S.NullOr(S.Boolean)), }), ).annotate({ identifier: "SplunkLogIntegrationResponseOutput", }) as any as S.Schema; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ export type AzureLogIntegrationResponseOutputRegion = | "US1" | "US3" | "US5" | "EU" | "AP1" | "AP2" | "US1_FED"; export const AzureLogIntegrationResponseOutputRegion = S.String; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ export type AzureLogIntegrationResponseOutputType = "DATADOG_LOG_EXPORT"; export const AzureLogIntegrationResponseOutputType = S.String; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ export type AzureLogIntegrationResponseOutputOtelSuppliedHeadersList = Array; export const AzureLogIntegrationResponseOutputOtelSuppliedHeadersList = /*@__PURE__*/ S.Array( HeaderOutput, ) as any as S.Schema; export type AzureLogIntegrationResponseOutputLogTypesItem = | "MONGOD" | "MONGOS" | "MONGOD_AUDIT" | "MONGOS_AUDIT"; export const AzureLogIntegrationResponseOutputLogTypesItem = S.String; /** Array of log types exported by this integration. */ export type AzureLogIntegrationResponseOutputLogTypesList = Array; export const AzureLogIntegrationResponseOutputLogTypesList = /*@__PURE__*/ S.Array( AzureLogIntegrationResponseOutputLogTypesItem, ) as any as S.Schema; /** Details to integrate Azure Blob Storage log export with one Atlas project. */ export interface AzureLogIntegrationResponseOutput { /** API key for authentication. */ apiKey?: string | Redacted.Redacted; /** Datadog site/region for log ingestion. Valid values: US1, US3, US5, EU, AP1, AP2, US1_FED. */ region?: AzureLogIntegrationResponseOutputRegion; /** Human-readable label that identifies the service to which you want to integrate with Atlas. The value must match the log integration type. This value cannot be modified after the integration is created. */ type: AzureLogIntegrationResponseOutputType; /** Name of the bucket to store log files. */ bucketName?: string; /** Path prefix where the log files will be stored. Atlas will add further sub-directories based on the log type. */ prefixPath: string; /** Unique 24-character hexadecimal string that identifies the Atlas Cloud Provider Access role. */ roleId: string; /** OpenTelemetry collector endpoint URL. */ otelEndpoint?: string; /** HTTP headers for authentication and configuration. Maximum 10 headers, total size limit 2KB. */ otelSuppliedHeaders?: AzureLogIntegrationResponseOutputOtelSuppliedHeadersList; /** HTTP Event Collector (HEC) token for authentication. */ hecToken?: string; /** HTTP Event Collector (HEC) endpoint URL. */ hecUrl?: string; /** Storage account name where logs will be stored. */ storageAccountName: string; /** Storage container name for log files. */ storageContainerName: string; /** Unique 24-character hexadecimal digit string that identifies the log integration configuration. */ id: string; /** Array of log types exported by this integration. */ logTypes: AzureLogIntegrationResponseOutputLogTypesList; /** Unique 24-character hexadecimal string that identifies the AWS IAM role that Atlas uses to access the S3 bucket. */ iamRoleId?: string; /** AWS KMS key ID or ARN for server-side encryption (optional). If not provided, uses bucket default encryption settings. */ kmsKey?: string | null; /** When true, uses the legacy daily-folder path structure compatible with Push-Based Log Export: `{prefix}/{cluster}/{hostname}/{logType}/{YYYY-MM-DD}/{timestamp}-{logType}.log`. When false (default), uses the flat timestamped structure: `{prefix}/{cluster}/{hostname}/{logType}/{timestamp}-{logType}.log`. */ useLegacyPathStructure?: boolean | null; } export const AzureLogIntegrationResponseOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.optional(S.String.pipe(T.SensitiveValue({}))), region: S.optional(AzureLogIntegrationResponseOutputRegion), type: AzureLogIntegrationResponseOutputType, bucketName: S.optional(S.String), prefixPath: S.String, roleId: S.String, otelEndpoint: S.optional(S.String), otelSuppliedHeaders: S.optional( AzureLogIntegrationResponseOutputOtelSuppliedHeadersList, ), hecToken: S.optional(S.String), hecUrl: S.optional(S.String), storageAccountName: S.String, storageContainerName: S.String, id: S.String, logTypes: AzureLogIntegrationResponseOutputLogTypesList, iamRoleId: S.optional(S.String), kmsKey: S.optional(S.NullOr(S.String)), useLegacyPathStructure: S.optional(S.NullOr(S.Boolean)), }), ).annotate({ identifier: "AzureLogIntegrationResponseOutput", }) as any as S.Schema; /** Response schema for log integration operations. */ export type LogIntegrationResponseOutput = | S3LogIntegrationResponseOutput | DatadogLogIntegrationResponseOutput | GcsLogIntegrationResponseOutput | OtelLogIntegrationResponseOutput | SplunkLogIntegrationResponseOutput | AzureLogIntegrationResponseOutput; export const LogIntegrationResponseOutput = S.Unknown as any as S.Schema; export interface ServiceAccountIPAccessListEntryInput { /** Range of network addresses in the access list for the Service Account. This parameter requires the range to be expressed in Classless Inter-Domain Routing (CIDR) notation of Internet Protocol version 4 or version 6 addresses. You can set a value for this parameter or `ipAddress`, but not for both in the same request. */ cidrBlock?: string | null; /** Network address in the access list for the Service Account. This parameter requires the address to be expressed as one Internet Protocol version 4 or version 6 address. You can set a value for this parameter or `cidrBlock`, but not for both in the same request. */ ipAddress?: string | null; } export const ServiceAccountIPAccessListEntryInput = /*@__PURE__*/ S.suspend( () => S.Struct({ cidrBlock: S.optional(S.NullOr(S.String)), ipAddress: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "ServiceAccountIPAccessListEntryInput", }) as any as S.Schema; /** List of IP access list entries that define allowed source addresses for this MCP configuration. */ export type CreateGroupMcpConfigRequestIpAccessListList = Array; export const CreateGroupMcpConfigRequestIpAccessListList = /*@__PURE__*/ S.Array( ServiceAccountIPAccessListEntryInput, ) as any as S.Schema; /** List of project roles to assign to this MCP configuration. */ export type CreateGroupMcpConfigRequestRolesList = Array; export const CreateGroupMcpConfigRequestRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateGroupMcpConfigRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** List of IP access list entries that define allowed source addresses for this MCP configuration. */ ipAccessList?: CreateGroupMcpConfigRequestIpAccessListList; /** Human-readable name that identifies this MCP configuration. */ mcpConfigName: string; /** List of project roles to assign to this MCP configuration. */ roles: CreateGroupMcpConfigRequestRolesList; } export const CreateGroupMcpConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), ipAccessList: S.optional(CreateGroupMcpConfigRequestIpAccessListList), mcpConfigName: S.String, roles: CreateGroupMcpConfigRequestRolesList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/mcpConfigs", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateGroupMcpConfigRequest", }) as any as S.Schema; export interface ServiceAccountIPAccessListEntry { /** Range of network addresses in the access list for the Service Account. This parameter requires the range to be expressed in Classless Inter-Domain Routing (CIDR) notation of Internet Protocol version 4 or version 6 addresses. You can set a value for this parameter or `ipAddress`, but not for both in the same request. */ cidrBlock?: string | null; /** Date MongoDB Cloud added the entry was added to the Access List. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** Network address in the access list for the Service Account. This parameter requires the address to be expressed as one Internet Protocol version 4 or version 6 address. You can set a value for this parameter or `cidrBlock`, but not for both in the same request. */ ipAddress?: string | null; /** Network address that issued the most recent request to the API. This parameter requires the address to be expressed as one Internet Protocol version 4 or version 6 address. The resource returns this parameter after this IP address makes at least one request. */ lastUsedAddress?: string | null; /** Date when MongoDB Cloud received the most recent request that originated from this Internet Protocol version 4 or version 6 address. The resource returns this parameter when at least one request originates from this IP address. MongoDB Cloud updates this parameter each time a client accesses the permitted resource, with a delay of up to 5 minutes. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ lastUsedAt?: string | null; /** The number of requests that has originated from this network address. */ requestCount?: number; } export const ServiceAccountIPAccessListEntry = /*@__PURE__*/ S.suspend(() => S.Struct({ cidrBlock: S.optional(S.NullOr(S.String)), createdAt: S.optional(S.String), ipAddress: S.optional(S.NullOr(S.String)), lastUsedAddress: S.optional(S.NullOr(S.String)), lastUsedAt: S.optional(S.NullOr(S.String)), requestCount: S.optional(S.Number), }), ).annotate({ identifier: "ServiceAccountIPAccessListEntry", }) as any as S.Schema; /** List of IP access list entries that define allowed source addresses for this MCP configuration. */ export type GroupMcpConfigResponseIpAccessListList = Array; export const GroupMcpConfigResponseIpAccessListList = /*@__PURE__*/ S.Array( ServiceAccountIPAccessListEntry, ) as any as S.Schema; /** List of project roles associated with this MCP configuration. */ export type GroupMcpConfigResponseRolesList = Array; export const GroupMcpConfigResponseRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface GroupMcpConfigResponse { /** Unique identifier for the Service Account client associated with this MCP configuration. Use this Service Account to connect to the Atlas Remote MCP. */ clientId?: string; /** Unique identifier for the egress Service Account client associated with this MCP configuration. This Service Account is managed by MongoDB Atlas. */ egressClientId?: string; /** List of IP access list entries that define allowed source addresses for this MCP configuration. */ ipAccessList?: GroupMcpConfigResponseIpAccessListList; /** Unique identifier that identifies this MCP configuration. */ mcpConfigId?: string; /** Human-readable name that identifies this MCP configuration. */ mcpConfigName?: string | null; /** List of project roles associated with this MCP configuration. */ roles?: GroupMcpConfigResponseRolesList; } export const GroupMcpConfigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ clientId: S.optional(S.String), egressClientId: S.optional(S.String), ipAccessList: S.optional(GroupMcpConfigResponseIpAccessListList), mcpConfigId: S.optional(S.String), mcpConfigName: S.optional(S.NullOr(S.String)), roles: S.optional(GroupMcpConfigResponseRolesList), }), ).annotate({ identifier: "GroupMcpConfigResponse", }) as any as S.Schema; export interface CreateGroupMcpConfigSecretRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** The expiration time of the new Service Account secret, provided in hours. The minimum and maximum allowed expiration times are subject to change and are controlled by the organization's settings. */ secretExpiresAfterHours: number; } export const CreateGroupMcpConfigSecretRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), secretExpiresAfterHours: S.Number, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/mcpConfigs/{mcpConfigId}/secrets", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateGroupMcpConfigSecretRequest", }) as any as S.Schema; export interface ServiceAccountSecret { /** The date that the secret was created on. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt: string; /** The date for the expiration of the secret. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expiresAt: string; /** Unique 24-hexadecimal digit string that identifies the secret. */ id: string; /** The last time the secret was used. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ lastUsedAt?: string | null; /** The masked Service Account secret. */ maskedSecretValue?: string; /** The secret for the Service Account. It will be returned only the first time after creation. */ secret?: string | Redacted.Redacted; } export const ServiceAccountSecret = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.String, expiresAt: S.String, id: S.String, lastUsedAt: S.optional(S.NullOr(S.String)), maskedSecretValue: S.optional(S.String), secret: S.optional(S.String.pipe(T.SensitiveValue({}))), }), ).annotate({ identifier: "ServiceAccountSecret", }) as any as S.Schema; /** The temporality to send to the metric integration. */ export type CreateGroupMetricIntegrationRequestAggregationTemporality = | "DELTA" | "CUMULATIVE"; export const CreateGroupMetricIntegrationRequestAggregationTemporality = S.String; /** Authentication method the integration uses when exporting metrics to the endpoint. `HEADER` authenticates with the static HTTP headers provided in the `headers` field, which must be set when this value is used. */ export type CreateGroupMetricIntegrationRequestAuthType = "HEADER"; export const CreateGroupMetricIntegrationRequestAuthType = S.String; /** HTTP header with name and value. */ export interface Header { /** Header name. */ name: string; /** Header value. */ value: string; } export const Header = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, value: S.String, }), ).annotate({ identifier: "Header" }) as any as S.Schema
; /** HTTP headers for authentication and configuration. Total size limit 2KB. Required when `authType` is `HEADER`. */ export type CreateGroupMetricIntegrationRequestHeadersList = Array
; export const CreateGroupMetricIntegrationRequestHeadersList = /*@__PURE__*/ S.Array( Header, ) as any as S.Schema; /** Type of metric integration. Identifies which protocol will be used for the integration. This value cannot be modified after the integration is created. */ export type CreateGroupMetricIntegrationRequestIntegrationType = "OTEL"; export const CreateGroupMetricIntegrationRequestIntegrationType = S.String; export type CreateGroupMetricIntegrationRequestMetricSelectionItem = | "ATLAS_STREAM_PROCESSING" | "MONGODB_METRICS" | "HARDWARE_METRICS"; export const CreateGroupMetricIntegrationRequestMetricSelectionItem = S.String; /** Array of metric categories to export. Determines which types of metrics are sent to the integration. */ export type CreateGroupMetricIntegrationRequestMetricSelectionList = Array< CreateGroupMetricIntegrationRequestMetricSelectionItem | (string & {}) >; export const CreateGroupMetricIntegrationRequestMetricSelectionList = /*@__PURE__*/ S.Array( CreateGroupMetricIntegrationRequestMetricSelectionItem, ) as any as S.Schema; /** The provider type for the metric integration. Identifies the third-party service provider. */ export type CreateGroupMetricIntegrationRequestProviderType = | "CUSTOM" | "DYNATRACE" | "NEW_RELIC"; export const CreateGroupMetricIntegrationRequestProviderType = S.String; export interface CreateGroupMetricIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The temporality to send to the metric integration. */ aggregationTemporality: | CreateGroupMetricIntegrationRequestAggregationTemporality | (string & {}); /** Authentication method the integration uses when exporting metrics to the endpoint. `HEADER` authenticates with the static HTTP headers provided in the `headers` field, which must be set when this value is used. */ authType: CreateGroupMetricIntegrationRequestAuthType | (string & {}); /** OpenTelemetry collector endpoint URL. Must use HTTPS. */ endpoint: string; /** HTTP headers for authentication and configuration. Total size limit 2KB. Required when `authType` is `HEADER`. */ headers?: CreateGroupMetricIntegrationRequestHeadersList; /** Type of metric integration. Identifies which protocol will be used for the integration. This value cannot be modified after the integration is created. */ integrationType: | CreateGroupMetricIntegrationRequestIntegrationType | (string & {}); /** Array of metric categories to export. Determines which types of metrics are sent to the integration. */ metricSelection: CreateGroupMetricIntegrationRequestMetricSelectionList; /** The provider type for the metric integration. Identifies the third-party service provider. */ providerType: CreateGroupMetricIntegrationRequestProviderType | (string & {}); } export const CreateGroupMetricIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), aggregationTemporality: CreateGroupMetricIntegrationRequestAggregationTemporality, authType: CreateGroupMetricIntegrationRequestAuthType, endpoint: S.String, headers: S.optional(CreateGroupMetricIntegrationRequestHeadersList), integrationType: CreateGroupMetricIntegrationRequestIntegrationType, metricSelection: CreateGroupMetricIntegrationRequestMetricSelectionList, providerType: CreateGroupMetricIntegrationRequestProviderType, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/metricIntegrations", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateGroupMetricIntegrationRequest", }) as any as S.Schema; /** The temporality to send to the metric integration. */ export type MetricIntegrationResponseAggregationTemporality = | "DELTA" | "CUMULATIVE"; export const MetricIntegrationResponseAggregationTemporality = S.String; /** Authentication method the integration uses when exporting metrics to the endpoint. */ export type MetricIntegrationResponseAuthType = "HEADER"; export const MetricIntegrationResponseAuthType = S.String; /** HTTP header with a redacted value. */ export interface RedactedHeader { /** Header name. */ name: string; /** Redacted header value. */ value: string; } export const RedactedHeader = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, value: S.String, }), ).annotate({ identifier: "RedactedHeader" }) as any as S.Schema; /** HTTP headers for authentication and configuration. Values are redacted and never returned in plaintext. */ export type MetricIntegrationResponseHeadersRedactedList = Array; export const MetricIntegrationResponseHeadersRedactedList = /*@__PURE__*/ S.Array( RedactedHeader, ) as any as S.Schema; /** Type of metric integration. Identifies which protocol will be used for the integration. */ export type MetricIntegrationResponseIntegrationType = "OTEL"; export const MetricIntegrationResponseIntegrationType = S.String; export type MetricIntegrationResponseMetricSelectionItem = | "ATLAS_STREAM_PROCESSING" | "MONGODB_METRICS" | "HARDWARE_METRICS"; export const MetricIntegrationResponseMetricSelectionItem = S.String; /** Array of metric categories to export. Determines which types of metrics are sent to the integration. */ export type MetricIntegrationResponseMetricSelectionList = Array; export const MetricIntegrationResponseMetricSelectionList = /*@__PURE__*/ S.Array( MetricIntegrationResponseMetricSelectionItem, ) as any as S.Schema; /** The provider type for the metric integration. Identifies the third-party service provider. */ export type MetricIntegrationResponseProviderType = | "CUSTOM" | "DYNATRACE" | "NEW_RELIC"; export const MetricIntegrationResponseProviderType = S.String; /** Response schema for metric integration operations. */ export interface MetricIntegrationResponse { /** The temporality to send to the metric integration. */ aggregationTemporality: MetricIntegrationResponseAggregationTemporality; /** Authentication method the integration uses when exporting metrics to the endpoint. */ authType: MetricIntegrationResponseAuthType; /** OpenTelemetry collector endpoint URL. */ endpoint: string; /** HTTP headers for authentication and configuration. Values are redacted and never returned in plaintext. */ headersRedacted?: MetricIntegrationResponseHeadersRedactedList; /** Type of metric integration. Identifies which protocol will be used for the integration. */ integrationType: MetricIntegrationResponseIntegrationType; /** Unique identifier of the metric integration configuration. */ metricIntegrationId: string; /** Array of metric categories to export. Determines which types of metrics are sent to the integration. */ metricSelection: MetricIntegrationResponseMetricSelectionList; /** The provider type for the metric integration. Identifies the third-party service provider. */ providerType: MetricIntegrationResponseProviderType; } export const MetricIntegrationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ aggregationTemporality: MetricIntegrationResponseAggregationTemporality, authType: MetricIntegrationResponseAuthType, endpoint: S.String, headersRedacted: S.optional(MetricIntegrationResponseHeadersRedactedList), integrationType: MetricIntegrationResponseIntegrationType, metricIntegrationId: S.String, metricSelection: MetricIntegrationResponseMetricSelectionList, providerType: MetricIntegrationResponseProviderType, }), ).annotate({ identifier: "MetricIntegrationResponse", }) as any as S.Schema; /** Cloud service provider that serves the requested network peering connection. */ export type CreateGroupPeerRequestProviderName = "AWS" | "AZURE" | "GCP"; export const CreateGroupPeerRequestProviderName = S.String; export interface CreateGroupPeerRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud network container that contains the specified network peering connection. */ containerId: string; /** Cloud service provider that serves the requested network peering connection. */ providerName?: CreateGroupPeerRequestProviderName | (string & {}); } export const CreateGroupPeerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), containerId: S.String, providerName: S.optional(CreateGroupPeerRequestProviderName), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/peers", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupPeerRequest", }) as any as S.Schema; /** Type of error that can be returned when requesting an Amazon Web Services (AWS) peering connection. The resource returns `null` if the request succeeded. */ export type AwsNetworkPeeringConnectionSettingsErrorStateName = | "REJECTED" | "EXPIRED" | "INVALID_ARGUMENT"; export const AwsNetworkPeeringConnectionSettingsErrorStateName = S.String; /** Cloud service provider that serves the requested network peering connection. */ export type AwsNetworkPeeringConnectionSettingsProviderName = | "AWS" | "AZURE" | "GCP"; export const AwsNetworkPeeringConnectionSettingsProviderName = S.String; /** State of the network peering connection at the time you made the request. */ export type AwsNetworkPeeringConnectionSettingsStatusName = | "INITIATING" | "PENDING_ACCEPTANCE" | "FAILED" | "FINALIZING" | "AVAILABLE" | "TERMINATING"; export const AwsNetworkPeeringConnectionSettingsStatusName = S.String; /** Group of Network Peering connection settings. */ export interface AwsNetworkPeeringConnectionSettings { /** Amazon Web Services (AWS) region where the Virtual Peering Connection (VPC) that you peered with the MongoDB Cloud VPC resides. The resource returns `null` if your VPC and the MongoDB Cloud VPC reside in the same region. */ accepterRegionName: string; /** Unique twelve-digit string that identifies the Amazon Web Services (AWS) account that owns the VPC that you peered with the MongoDB Cloud VPC. */ awsAccountId: string; /** Unique string that identifies the peering connection on AWS. */ connectionId?: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud network container that contains the specified network peering connection. */ containerId: string; /** Type of error that can be returned when requesting an Amazon Web Services (AWS) peering connection. The resource returns `null` if the request succeeded. */ errorStateName?: AwsNetworkPeeringConnectionSettingsErrorStateName; /** Unique 24-hexadecimal digit string that identifies the network peering connection. */ id?: string; /** Cloud service provider that serves the requested network peering connection. */ providerName?: AwsNetworkPeeringConnectionSettingsProviderName; /** Internet Protocol (IP) addresses expressed in Classless Inter-Domain Routing (CIDR) notation of the VPC's subnet that you want to peer with the MongoDB Cloud VPC. */ routeTableCidrBlock: string; /** State of the network peering connection at the time you made the request. */ statusName?: AwsNetworkPeeringConnectionSettingsStatusName; /** Unique string that identifies the VPC on Amazon Web Services (AWS) that you want to peer with the MongoDB Cloud VPC. */ vpcId: string; } export const AwsNetworkPeeringConnectionSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ accepterRegionName: S.String, awsAccountId: S.String, connectionId: S.optional(S.String), containerId: S.String, errorStateName: S.optional( AwsNetworkPeeringConnectionSettingsErrorStateName, ), id: S.optional(S.String), providerName: S.optional(AwsNetworkPeeringConnectionSettingsProviderName), routeTableCidrBlock: S.String, statusName: S.optional(AwsNetworkPeeringConnectionSettingsStatusName), vpcId: S.String, }), ).annotate({ identifier: "AwsNetworkPeeringConnectionSettings", }) as any as S.Schema; /** Cloud service provider that serves the requested network peering connection. */ export type AzureNetworkPeeringConnectionSettingsProviderName = | "AWS" | "AZURE" | "GCP"; export const AzureNetworkPeeringConnectionSettingsProviderName = S.String; /** State of the network peering connection at the time you made the request. */ export type AzureNetworkPeeringConnectionSettingsStatus = | "ADDING_PEER" | "AVAILABLE" | "FAILED" | "DELETION_FAILED" | "DELETING"; export const AzureNetworkPeeringConnectionSettingsStatus = S.String; /** Group of Network Peering connection settings. */ export interface AzureNetworkPeeringConnectionSettings { /** Unique string that identifies the Azure AD directory in which the VNet peered with the MongoDB Cloud VNet resides. */ azureDirectoryId: string; /** Unique string that identifies the Azure subscription in which the VNet you peered with the MongoDB Cloud VNet resides. */ azureSubscriptionId: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud network container that contains the specified network peering connection. */ containerId: string; /** Error message returned when a requested Azure network peering resource returns `"status" : "FAILED"`. The resource returns `null` if the request succeeded. */ errorState?: string; /** Unique 24-hexadecimal digit string that identifies the network peering connection. */ id?: string; /** Cloud service provider that serves the requested network peering connection. */ providerName?: AzureNetworkPeeringConnectionSettingsProviderName; /** Human-readable label that identifies the resource group in which the VNet to peer with the MongoDB Cloud VNet resides. */ resourceGroupName: string; /** State of the network peering connection at the time you made the request. */ status?: AzureNetworkPeeringConnectionSettingsStatus; /** Human-readable label that identifies the VNet that you want to peer with the MongoDB Cloud VNet. */ vnetName: string; } export const AzureNetworkPeeringConnectionSettings = /*@__PURE__*/ S.suspend( () => S.Struct({ azureDirectoryId: S.String, azureSubscriptionId: S.String, containerId: S.String, errorState: S.optional(S.String), id: S.optional(S.String), providerName: S.optional( AzureNetworkPeeringConnectionSettingsProviderName, ), resourceGroupName: S.String, status: S.optional(AzureNetworkPeeringConnectionSettingsStatus), vnetName: S.String, }), ).annotate({ identifier: "AzureNetworkPeeringConnectionSettings", }) as any as S.Schema; /** Cloud service provider that serves the requested network peering connection. */ export type GCPNetworkPeeringConnectionSettingsProviderName = | "AWS" | "AZURE" | "GCP"; export const GCPNetworkPeeringConnectionSettingsProviderName = S.String; /** State of the network peering connection at the time you made the request. */ export type GCPNetworkPeeringConnectionSettingsStatus = | "ADDING_PEER" | "WAITING_FOR_USER" | "AVAILABLE" | "FAILED" | "DELETING"; export const GCPNetworkPeeringConnectionSettingsStatus = S.String; /** Group of Network Peering connection settings. */ export interface GCPNetworkPeeringConnectionSettings { /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud network container that contains the specified network peering connection. */ containerId: string; /** Details of the error returned when requesting a GCP network peering resource. The resource returns `null` if the request succeeded. */ errorMessage?: string; /** Human-readable label that identifies the GCP project that contains the network that you want to peer with the MongoDB Cloud VPC. */ gcpProjectId: string; /** Unique 24-hexadecimal digit string that identifies the network peering connection. */ id?: string; /** Human-readable label that identifies the network to peer with the MongoDB Cloud VPC. */ networkName: string; /** Cloud service provider that serves the requested network peering connection. */ providerName?: GCPNetworkPeeringConnectionSettingsProviderName; /** State of the network peering connection at the time you made the request. */ status?: GCPNetworkPeeringConnectionSettingsStatus; } export const GCPNetworkPeeringConnectionSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ containerId: S.String, errorMessage: S.optional(S.String), gcpProjectId: S.String, id: S.optional(S.String), networkName: S.String, providerName: S.optional(GCPNetworkPeeringConnectionSettingsProviderName), status: S.optional(GCPNetworkPeeringConnectionSettingsStatus), }), ).annotate({ identifier: "GCPNetworkPeeringConnectionSettings", }) as any as S.Schema; export type BaseNetworkPeeringConnectionSettings = | AwsNetworkPeeringConnectionSettings | AzureNetworkPeeringConnectionSettings | GCPNetworkPeeringConnectionSettings; export const BaseNetworkPeeringConnectionSettings = S.Unknown as any as S.Schema; /** Human-readable label that identifies the cloud service provider for which you want to create the private endpoint service. */ export type CreateGroupPrivateEndpointEndpointServiceRequestProviderName = | "AWS" | "AZURE" | "GCP"; export const CreateGroupPrivateEndpointEndpointServiceRequestProviderName = S.String; /** List of regions that the endpoint service supports. Native cross region support is implemented for AWS only. */ export type CreateGroupPrivateEndpointEndpointServiceRequestSupportedRemoteRegionsList = Array; export const CreateGroupPrivateEndpointEndpointServiceRequestSupportedRemoteRegionsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateGroupPrivateEndpointEndpointServiceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether this endpoint service uses PSC port-mapping. This is only applicable for GCP Private Endpoint Services. */ portMappingEnabled?: boolean; /** Human-readable label that identifies the cloud service provider for which you want to create the private endpoint service. */ providerName: | CreateGroupPrivateEndpointEndpointServiceRequestProviderName | (string & {}); /** Cloud provider region in which you want to create the private endpoint service. Regions accepted as values differ for [Amazon Web Services](https://docs.atlas.mongodb.com/reference/amazon-aws/), [Google Cloud Platform](https://docs.atlas.mongodb.com/reference/google-gcp/), and [Microsoft Azure](https://docs.atlas.mongodb.com/reference/microsoft-azure/). */ region: string; /** List of regions that the endpoint service supports. Native cross region support is implemented for AWS only. */ supportedRemoteRegions?: CreateGroupPrivateEndpointEndpointServiceRequestSupportedRemoteRegionsList | null; } export const CreateGroupPrivateEndpointEndpointServiceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), portMappingEnabled: S.optional(S.Boolean), providerName: CreateGroupPrivateEndpointEndpointServiceRequestProviderName, region: S.String, supportedRemoteRegions: S.optional( S.NullOr( CreateGroupPrivateEndpointEndpointServiceRequestSupportedRemoteRegionsList, ), ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/endpointService", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupPrivateEndpointEndpointServiceRequest", }) as any as S.Schema; /** Cloud service provider that serves the requested endpoint service. */ export type EndpointServiceCloudProvider = "AWS" | "AZURE" | "GCP"; export const EndpointServiceCloudProvider = S.String; /** State of the Private Endpoint Service connection when MongoDB Cloud received this request. */ export type EndpointServiceStatus = | "INITIATING" | "AVAILABLE" | "WAITING_FOR_USER" | "FAILED" | "DELETING"; export const EndpointServiceStatus = S.String; export interface EndpointService { /** Cloud service provider that serves the requested endpoint service. */ cloudProvider: EndpointServiceCloudProvider; /** Error message returned when requesting private connection resource. The resource returns `null` if the request succeeded. */ errorMessage?: string; /** Unique 24-hexadecimal digit string that identifies the Private Endpoint Service. */ id?: string; /** Cloud provider region that manages this Private Endpoint Service. */ regionName?: string; /** State of the Private Endpoint Service connection when MongoDB Cloud received this request. */ status?: EndpointServiceStatus; } export const EndpointService = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: EndpointServiceCloudProvider, errorMessage: S.optional(S.String), id: S.optional(S.String), regionName: S.optional(S.String), status: S.optional(EndpointServiceStatus), }), ).annotate({ identifier: "EndpointService", }) as any as S.Schema; export type CreateGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider = | "AWS" | "AZURE" | "GCP"; export const CreateGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider = S.String; export interface CreateGroupPrivateEndpointEndpointServiceEndpointRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Cloud service provider that manages this private endpoint. */ cloudProvider: | CreateGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the private endpoint service for which you want to create a private endpoint. */ endpointServiceId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const CreateGroupPrivateEndpointEndpointServiceEndpointRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: CreateGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider.pipe( T.Label(), ), endpointServiceId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}/endpoint", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupPrivateEndpointEndpointServiceEndpointRequest", }) as any as S.Schema; /** Cloud service provider that serves the requested endpoint. */ export type PrivateLinkEndpointCloudProvider = "AWS" | "AZURE" | "GCP"; export const PrivateLinkEndpointCloudProvider = S.String; export interface PrivateLinkEndpoint { /** Cloud service provider that serves the requested endpoint. */ cloudProvider: PrivateLinkEndpointCloudProvider; /** Flag that indicates whether MongoDB Cloud received a request to remove the specified private endpoint from the private endpoint service. */ deleteRequested?: boolean; /** Error message returned when requesting private connection resource. The resource returns `null` if the request succeeded. */ errorMessage?: string; /** Region name of the private endpoint. */ regionName?: string; } export const PrivateLinkEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: PrivateLinkEndpointCloudProvider, deleteRequested: S.optional(S.Boolean), errorMessage: S.optional(S.String), regionName: S.optional(S.String), }), ).annotate({ identifier: "PrivateLinkEndpoint", }) as any as S.Schema; /** Human-readable label that identifies the cloud service provider. Atlas Data Lake supports Amazon Web Services and Azure. */ export type CreateGroupPrivateNetworkSettingEndpointIdRequestProvider = | "AWS" | "AZURE"; export const CreateGroupPrivateNetworkSettingEndpointIdRequestProvider = S.String; /** Status of the private endpoint connection request. */ export type CreateGroupPrivateNetworkSettingEndpointIdRequestStatus = | "PENDING" | "OK" | "FAILED" | "DELETING"; export const CreateGroupPrivateNetworkSettingEndpointIdRequestStatus = S.String; /** Human-readable label that identifies the resource type associated with this private endpoint. */ export type CreateGroupPrivateNetworkSettingEndpointIdRequestType = "DATA_LAKE"; export const CreateGroupPrivateNetworkSettingEndpointIdRequestType = S.String; export interface CreateGroupPrivateNetworkSettingEndpointIdRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Link ID that identifies the Azure private endpoint connection. */ azureLinkId?: string; /** Human-readable string to associate with this private endpoint. */ comment?: string; /** Human-readable label to identify customer's VPC endpoint DNS name. If defined, you must also specify a value for `region`. */ customerEndpointDNSName?: string; /** IP address used to connect to the Azure private endpoint. */ customerEndpointIPAddress?: string; /** Unique string that identifies the private endpoint. For AWS, this is a 22-character alphanumeric string in the format `vpce-<17 hex characters>`. For Azure, this is the full resource ID in the format `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{endpointName}`. */ endpointId: string; /** Error message describing a failure approving the private endpoint request. */ errorMessage?: string; /** Human-readable label that identifies the cloud service provider. Atlas Data Lake supports Amazon Web Services and Azure. */ provider?: | CreateGroupPrivateNetworkSettingEndpointIdRequestProvider | (string & {}); /** Human-readable label to identify the region of customer's VPC endpoint. If defined, you must also specify a value for `customerEndpointDNSName`. */ region?: string; /** Status of the private endpoint connection request. */ status?: | CreateGroupPrivateNetworkSettingEndpointIdRequestStatus | (string & {}); /** Human-readable label that identifies the resource type associated with this private endpoint. */ type?: CreateGroupPrivateNetworkSettingEndpointIdRequestType | (string & {}); } export const CreateGroupPrivateNetworkSettingEndpointIdRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), azureLinkId: S.optional(S.String), comment: S.optional(S.String), customerEndpointDNSName: S.optional(S.String), customerEndpointIPAddress: S.optional(S.String), endpointId: S.String, errorMessage: S.optional(S.String), provider: S.optional( CreateGroupPrivateNetworkSettingEndpointIdRequestProvider, ), region: S.optional(S.String), status: S.optional( CreateGroupPrivateNetworkSettingEndpointIdRequestStatus, ), type: S.optional(CreateGroupPrivateNetworkSettingEndpointIdRequestType), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/privateNetworkSettings/endpointIds", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateGroupPrivateNetworkSettingEndpointIdRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedPrivateNetworkEndpointIdEntryViewLinksList = Array; export const PaginatedPrivateNetworkEndpointIdEntryViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Human-readable label that identifies the cloud service provider. Atlas Data Lake supports Amazon Web Services and Azure. */ export type PrivateNetworkEndpointIdEntryProvider = "AWS" | "AZURE"; export const PrivateNetworkEndpointIdEntryProvider = S.String; /** Status of the private endpoint connection request. */ export type PrivateNetworkEndpointIdEntryStatus = | "PENDING" | "OK" | "FAILED" | "DELETING"; export const PrivateNetworkEndpointIdEntryStatus = S.String; /** Human-readable label that identifies the resource type associated with this private endpoint. */ export type PrivateNetworkEndpointIdEntryType = "DATA_LAKE"; export const PrivateNetworkEndpointIdEntryType = S.String; export interface PrivateNetworkEndpointIdEntry { /** Link ID that identifies the Azure private endpoint connection. */ azureLinkId?: string; /** Human-readable string to associate with this private endpoint. */ comment?: string; /** Human-readable label to identify customer's VPC endpoint DNS name. If defined, you must also specify a value for `region`. */ customerEndpointDNSName?: string; /** IP address used to connect to the Azure private endpoint. */ customerEndpointIPAddress?: string; /** Unique string that identifies the private endpoint. For AWS, this is a 22-character alphanumeric string in the format `vpce-<17 hex characters>`. For Azure, this is the full resource ID in the format `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{endpointName}`. */ endpointId: string; /** Error message describing a failure approving the private endpoint request. */ errorMessage?: string; /** Human-readable label that identifies the cloud service provider. Atlas Data Lake supports Amazon Web Services and Azure. */ provider?: PrivateNetworkEndpointIdEntryProvider; /** Human-readable label to identify the region of customer's VPC endpoint. If defined, you must also specify a value for `customerEndpointDNSName`. */ region?: string; /** Status of the private endpoint connection request. */ status?: PrivateNetworkEndpointIdEntryStatus; /** Human-readable label that identifies the resource type associated with this private endpoint. */ type?: PrivateNetworkEndpointIdEntryType; } export const PrivateNetworkEndpointIdEntry = /*@__PURE__*/ S.suspend(() => S.Struct({ azureLinkId: S.optional(S.String), comment: S.optional(S.String), customerEndpointDNSName: S.optional(S.String), customerEndpointIPAddress: S.optional(S.String), endpointId: S.String, errorMessage: S.optional(S.String), provider: S.optional(PrivateNetworkEndpointIdEntryProvider), region: S.optional(S.String), status: S.optional(PrivateNetworkEndpointIdEntryStatus), type: S.optional(PrivateNetworkEndpointIdEntryType), }), ).annotate({ identifier: "PrivateNetworkEndpointIdEntry", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedPrivateNetworkEndpointIdEntryViewResultsList = Array; export const PaginatedPrivateNetworkEndpointIdEntryViewResultsList = /*@__PURE__*/ S.Array( PrivateNetworkEndpointIdEntry, ) as any as S.Schema; export interface PaginatedPrivateNetworkEndpointIdEntryView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedPrivateNetworkEndpointIdEntryViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedPrivateNetworkEndpointIdEntryViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedPrivateNetworkEndpointIdEntryView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedPrivateNetworkEndpointIdEntryViewLinksList), results: PaginatedPrivateNetworkEndpointIdEntryViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedPrivateNetworkEndpointIdEntryView", }) as any as S.Schema; /** A list of project-level roles for the Service Account. */ export type CreateGroupServiceAccountRequestRolesList = Array; export const CreateGroupServiceAccountRequestRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateGroupServiceAccountRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human readable description for the Service Account. */ description: string; /** Human-readable name for the Service Account. The name is modifiable and does not have to be unique. */ name: string; /** A list of project-level roles for the Service Account. */ roles: CreateGroupServiceAccountRequestRolesList; /** The expiration time of the new Service Account secret, provided in hours. The minimum and maximum allowed expiration times are subject to change and are controlled by the organization's settings. */ secretExpiresAfterHours: number; } export const CreateGroupServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), description: S.String, name: S.String, roles: CreateGroupServiceAccountRequestRolesList, secretExpiresAfterHours: S.Number, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "CreateGroupServiceAccountRequest", }) as any as S.Schema; /** A list of Project roles associated with the Service Account. */ export type GroupServiceAccountRolesList = Array; export const GroupServiceAccountRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** A list of secrets associated with the specified Service Account. */ export type GroupServiceAccountSecretsList = Array; export const GroupServiceAccountSecretsList = /*@__PURE__*/ S.Array( ServiceAccountSecret, ) as any as S.Schema; export interface GroupServiceAccount { /** The Client ID of the Service Account. */ clientId?: string; /** The date that the Service Account was created on. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** Human readable description for the Service Account. */ description?: string; /** Human-readable name for the Service Account. */ name?: string; /** A list of Project roles associated with the Service Account. */ roles?: GroupServiceAccountRolesList; /** A list of secrets associated with the specified Service Account. */ secrets?: GroupServiceAccountSecretsList; } export const GroupServiceAccount = /*@__PURE__*/ S.suspend(() => S.Struct({ clientId: S.optional(S.String), createdAt: S.optional(S.String), description: S.optional(S.String), name: S.optional(S.String), roles: S.optional(GroupServiceAccountRolesList), secrets: S.optional(GroupServiceAccountSecretsList), }), ).annotate({ identifier: "GroupServiceAccount", }) as any as S.Schema; export type CreateGroupServiceAccountAccessListRequestBodyList = Array; export const CreateGroupServiceAccountAccessListRequestBodyList = /*@__PURE__*/ S.Array( ServiceAccountIPAccessListEntryInput, ) as any as S.Schema; export interface CreateGroupServiceAccountAccessListRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; body: CreateGroupServiceAccountAccessListRequestBodyList; } export const CreateGroupServiceAccountAccessListRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), body: CreateGroupServiceAccountAccessListRequestBodyList.pipe( T.HttpBody(), ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/accessList", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "CreateGroupServiceAccountAccessListRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedServiceAccountIPAccessEntryViewLinksList = Array; export const PaginatedServiceAccountIPAccessEntryViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedServiceAccountIPAccessEntryViewResultsList = Array; export const PaginatedServiceAccountIPAccessEntryViewResultsList = /*@__PURE__*/ S.Array( ServiceAccountIPAccessListEntry, ) as any as S.Schema; export interface PaginatedServiceAccountIPAccessEntryView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedServiceAccountIPAccessEntryViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedServiceAccountIPAccessEntryViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedServiceAccountIPAccessEntryView = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedServiceAccountIPAccessEntryViewLinksList), results: PaginatedServiceAccountIPAccessEntryViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedServiceAccountIPAccessEntryView", }) as any as S.Schema; export interface CreateGroupServiceAccountSecretRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The expiration time of the new Service Account secret, provided in hours. The minimum and maximum allowed expiration times are subject to change and are controlled by the organization's settings. */ secretExpiresAfterHours: number; } export const CreateGroupServiceAccountSecretRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), secretExpiresAfterHours: S.Number, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/secrets", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "CreateGroupServiceAccountSecretRequest", }) as any as S.Schema; /** Connection type. */ export type CreateGroupStreamConnectionRequestType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const CreateGroupStreamConnectionRequestType = S.String; export interface CreateGroupStreamConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection type. */ type?: CreateGroupStreamConnectionRequestType | (string & {}); } export const CreateGroupStreamConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.optional(S.String), region: S.optional(S.String), type: S.optional(CreateGroupStreamConnectionRequestType), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "CreateGroupStreamConnectionRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DBRoleToExecuteLinksList = Array; export const DBRoleToExecuteLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Type of the DB role. Can be either Built In or Custom. */ export type DBRoleToExecuteType = "BUILT_IN" | "CUSTOM"; export const DBRoleToExecuteType = S.String; /** Name of a built-in or custom DB Role to connect to a MongoDB Cloud Cluster. */ export interface DBRoleToExecute { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DBRoleToExecuteLinksList; /** The name of the role to use. Can be a built in role or a custom role. */ role?: string; /** Type of the DB role. Can be either Built In or Custom. */ type?: DBRoleToExecuteType; } export const DBRoleToExecute = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(DBRoleToExecuteLinksList), role: S.optional(S.String), type: S.optional(DBRoleToExecuteType), }), ).annotate({ identifier: "DBRoleToExecute", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsAWSConnectionConfigLinksList = Array; export const StreamsAWSConnectionConfigLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** AWS configurations for AWS-based connection types. */ export interface StreamsAWSConnectionConfig { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsAWSConnectionConfigLinksList; /** Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) Identity and Access Management (IAM) role that MongoDB Cloud assumes when it accesses resources in your AWS account. */ roleArn?: string; /** The name of an S3 bucket used to check authorization of the passed-in IAM role ARN. */ testBucket?: string; } export const StreamsAWSConnectionConfig = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(StreamsAWSConnectionConfigLinksList), roleArn: S.optional(S.String), testBucket: S.optional(S.String), }), ).annotate({ identifier: "StreamsAWSConnectionConfig", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsKafkaAuthenticationOutputLinksList = Array; export const StreamsKafkaAuthenticationOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** User credentials required to connect to a Kafka Cluster. Includes the authentication type, as well as the parameters for that authentication mode. */ export interface StreamsKafkaAuthenticationOutput { aws?: StreamsAWSConnectionConfig; /** OIDC client identifier for authentication to the Kafka cluster. */ clientId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsKafkaAuthenticationOutputLinksList; /** Style of authentication. Can be one of PLAIN, SCRAM-256, SCRAM-512, or OAUTHBEARER. */ mechanism?: string; /** SASL OAUTHBEARER authentication method. Currently, only OIDC is supported. */ method?: string; /** SASL OAUTHBEARER extensions parameter for additional OAuth2 configuration. */ saslOauthbearerExtensions?: string; /** OIDC scope parameter defining the access permissions requested. */ scope?: string; /** SSL certificate for client authentication to Kafka. */ sslCertificate?: string; /** OIDC token endpoint URL for obtaining access tokens. */ tokenEndpointUrl?: string; /** Username of the account to connect to the Kafka cluster. */ username?: string; } export const StreamsKafkaAuthenticationOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ aws: S.optional(StreamsAWSConnectionConfig), clientId: S.optional(S.String), links: S.optional(StreamsKafkaAuthenticationOutputLinksList), mechanism: S.optional(S.String), method: S.optional(S.String), saslOauthbearerExtensions: S.optional(S.String), scope: S.optional(S.String), sslCertificate: S.optional(S.String), tokenEndpointUrl: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "StreamsKafkaAuthenticationOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsClusterConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsClusterConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsKafkaNetworkingAccessLinksList = Array; export const StreamsKafkaNetworkingAccessLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Selected networking type. Either `PUBLIC`, `VPC`, `PRIVATE_LINK`, or `TRANSIT_GATEWAY`. Defaults to `PUBLIC`. For VPC, ensure that VPC peering exists and connectivity has been established between Atlas VPC and the VPC where Kafka cluster is hosted for the connection to function properly. `TRANSIT_GATEWAY` support is coming soon. */ export type StreamsKafkaNetworkingAccessType = | "PUBLIC" | "VPC" | "PRIVATE_LINK" | "TRANSIT_GATEWAY"; export const StreamsKafkaNetworkingAccessType = S.String; /** Information about networking access. */ export interface StreamsKafkaNetworkingAccess { /** Reserved. Will be used by `PRIVATE_LINK` connection type. Setting this field with any other networking access type returns a validation error. */ connectionId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsKafkaNetworkingAccessLinksList; /** Reserved. Will be used by `PRIVATE_LINK` connection type. */ name?: string; /** Reserved. Will be used by `TRANSIT_GATEWAY` connection type. */ tgwRouteId?: string; /** Selected networking type. Either `PUBLIC`, `VPC`, `PRIVATE_LINK`, or `TRANSIT_GATEWAY`. Defaults to `PUBLIC`. For VPC, ensure that VPC peering exists and connectivity has been established between Atlas VPC and the VPC where Kafka cluster is hosted for the connection to function properly. `TRANSIT_GATEWAY` support is coming soon. */ type?: StreamsKafkaNetworkingAccessType; } export const StreamsKafkaNetworkingAccess = /*@__PURE__*/ S.suspend(() => S.Struct({ connectionId: S.optional(S.String), links: S.optional(StreamsKafkaNetworkingAccessLinksList), name: S.optional(S.String), tgwRouteId: S.optional(S.String), type: S.optional(StreamsKafkaNetworkingAccessType), }), ).annotate({ identifier: "StreamsKafkaNetworkingAccess", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsKafkaNetworkingLinksList = Array; export const StreamsKafkaNetworkingLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Networking configuration for Streams connections. */ export interface StreamsKafkaNetworking { access?: StreamsKafkaNetworkingAccess; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsKafkaNetworkingLinksList; } export const StreamsKafkaNetworking = /*@__PURE__*/ S.suspend(() => S.Struct({ access: S.optional(StreamsKafkaNetworkingAccess), links: S.optional(StreamsKafkaNetworkingLinksList), }), ).annotate({ identifier: "StreamsKafkaNetworking", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsKafkaSecurityLinksList = Array; export const StreamsKafkaSecurityLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Properties for the secure transport connection to Kafka. For SSL, this can include the trusted certificate to use. */ export interface StreamsKafkaSecurity { /** A trusted, public x509 certificate for connecting to Kafka over SSL. */ brokerPublicCertificate?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsKafkaSecurityLinksList; /** Describes the transport type. Can be either `SASL_PLAINTEXT`, `SASL_SSL`, or `SSL`. */ protocol?: string; } export const StreamsKafkaSecurity = /*@__PURE__*/ S.suspend(() => S.Struct({ brokerPublicCertificate: S.optional(S.String), links: S.optional(StreamsKafkaSecurityLinksList), protocol: S.optional(S.String), }), ).annotate({ identifier: "StreamsKafkaSecurity", }) as any as S.Schema; /** A map of key-value pairs that will be passed as headers for the request. */ export type StreamsClusterConnectionOutputHeadersMap = { [key: string]: string | undefined; }; export const StreamsClusterConnectionOutputHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsPublicPrivateLinkNetworkingAccessLinksList = Array; export const StreamsPublicPrivateLinkNetworkingAccessLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Selected networking type. Either `PUBLIC` or `PRIVATE_LINK`. Defaults to `PUBLIC`. For AWS, Azure, and GCP connections, use `PRIVATE_LINK` for AWS PrivateLink, Azure Private Link, or GCP Private Service Connect (PSC) respectively. */ export type StreamsPublicPrivateLinkNetworkingAccessType = | "PUBLIC" | "PRIVATE_LINK"; export const StreamsPublicPrivateLinkNetworkingAccessType = S.String; /** Information about networking access. */ export interface StreamsPublicPrivateLinkNetworkingAccess { /** The ID of the Private Link connection. Required for `PRIVATE_LINK` type. For GCP connections using Private Service Connect (PSC), this is the PSC connection ID. */ connectionId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsPublicPrivateLinkNetworkingAccessLinksList; /** Selected networking type. Either `PUBLIC` or `PRIVATE_LINK`. Defaults to `PUBLIC`. For AWS, Azure, and GCP connections, use `PRIVATE_LINK` for AWS PrivateLink, Azure Private Link, or GCP Private Service Connect (PSC) respectively. */ type?: StreamsPublicPrivateLinkNetworkingAccessType; } export const StreamsPublicPrivateLinkNetworkingAccess = /*@__PURE__*/ S.suspend( () => S.Struct({ connectionId: S.optional(S.String), links: S.optional(StreamsPublicPrivateLinkNetworkingAccessLinksList), type: S.optional(StreamsPublicPrivateLinkNetworkingAccessType), }), ).annotate({ identifier: "StreamsPublicPrivateLinkNetworkingAccess", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsPublicPrivateLinkNetworkingLinksList = Array; export const StreamsPublicPrivateLinkNetworkingLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Networking configuration for connections that support `PUBLIC` and `PRIVATE_LINK` access types. For GCP connections, use `PRIVATE_LINK` for GCP Private Service Connect (PSC). */ export interface StreamsPublicPrivateLinkNetworking { access?: StreamsPublicPrivateLinkNetworkingAccess; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsPublicPrivateLinkNetworkingLinksList; } export const StreamsPublicPrivateLinkNetworking = /*@__PURE__*/ S.suspend(() => S.Struct({ access: S.optional(StreamsPublicPrivateLinkNetworkingAccess), links: S.optional(StreamsPublicPrivateLinkNetworkingLinksList), }), ).annotate({ identifier: "StreamsPublicPrivateLinkNetworking", }) as any as S.Schema; /** The Schema Registry provider. */ export type StreamsClusterConnectionOutputProvider = "CONFLUENT"; export const StreamsClusterConnectionOutputProvider = S.String; /** Authentication type discriminator. Specifies the authentication mechanism for Confluent Schema Registry. */ export type ConfluentUserInfoAuthenticationOutputType = | "USER_INFO" | "SASL_INHERIT"; export const ConfluentUserInfoAuthenticationOutputType = S.String; /** Authentication details for type `USER_INFO` with username and password for Confluent Schema Registry. */ export interface ConfluentUserInfoAuthenticationOutput { /** Authentication type discriminator. Specifies the authentication mechanism for Confluent Schema Registry. */ type: ConfluentUserInfoAuthenticationOutputType; /** Username or Public Key for authentication. */ username: string; } export const ConfluentUserInfoAuthenticationOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ type: ConfluentUserInfoAuthenticationOutputType, username: S.String, }), ).annotate({ identifier: "ConfluentUserInfoAuthenticationOutput", }) as any as S.Schema; /** Authentication configuration for Schema Registry. */ export type SchemaRegistryAuthenticationOutput = ConfluentUserInfoAuthenticationOutput; export const SchemaRegistryAuthenticationOutput = S.Unknown as any as S.Schema; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ export type StreamsClusterConnectionOutputSchemaRegistryUrlsList = Array; export const StreamsClusterConnectionOutputSchemaRegistryUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AzureConnectionLinksList = Array; export const AzureConnectionLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Azure-specific configuration for the connection. */ export interface AzureConnection { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AzureConnectionLinksList; /** Azure region where the storage account is located. */ region?: string; /** Unique ID of the Azure Service Principal that has access to the storage account. */ servicePrincipalId?: string; /** Name of the Azure Storage Account to connect to. */ storageAccountName?: string; } export const AzureConnection = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(AzureConnectionLinksList), region: S.optional(S.String), servicePrincipalId: S.optional(S.String), storageAccountName: S.optional(S.String), }), ).annotate({ identifier: "AzureConnection", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsGCPConnectionConfigLinksList = Array; export const StreamsGCPConnectionConfigLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** GCP-specific configuration for the connection. */ export interface StreamsGCPConnectionConfig { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsGCPConnectionConfigLinksList; /** Email address of the Google Cloud Platform (GCP) service account that Atlas Streams uses to connect to the GCP Pub/Sub resources. */ serviceAccountId?: string; } export const StreamsGCPConnectionConfig = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(StreamsGCPConnectionConfigLinksList), serviceAccountId: S.optional(S.String), }), ).annotate({ identifier: "StreamsGCPConnectionConfig", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsClusterConnectionOutputLinksList = Array; export const StreamsClusterConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsClusterConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsClusterConnectionOutputState = S.String; /** Connection type. */ export type StreamsClusterConnectionOutputType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const StreamsClusterConnectionOutputType = S.String; export interface StreamsClusterConnectionOutput { /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsClusterConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** A map of key-value pairs that will be passed as headers for the request. */ headers?: StreamsClusterConnectionOutputHeadersMap; /** The URL to be used for the request. */ url?: string; aws?: StreamsAWSConnectionConfig; publicPrivateNetworking?: StreamsPublicPrivateLinkNetworking; /** The Schema Registry provider. */ provider?: StreamsClusterConnectionOutputProvider; schemaRegistryAuthentication?: SchemaRegistryAuthenticationOutput; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ schemaRegistryUrls?: StreamsClusterConnectionOutputSchemaRegistryUrlsList; azure?: AzureConnection; gcp?: StreamsGCPConnectionConfig; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsClusterConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsClusterConnectionOutputState; /** Connection type. */ type?: StreamsClusterConnectionOutputType; } export const StreamsClusterConnectionOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsClusterConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), headers: S.optional(StreamsClusterConnectionOutputHeadersMap), url: S.optional(S.String), aws: S.optional(StreamsAWSConnectionConfig), publicPrivateNetworking: S.optional(StreamsPublicPrivateLinkNetworking), provider: S.optional(StreamsClusterConnectionOutputProvider), schemaRegistryAuthentication: S.optional( SchemaRegistryAuthenticationOutput, ), schemaRegistryUrls: S.optional( StreamsClusterConnectionOutputSchemaRegistryUrlsList, ), azure: S.optional(AzureConnection), gcp: S.optional(StreamsGCPConnectionConfig), id: S.optional(S.String), links: S.optional(StreamsClusterConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsClusterConnectionOutputState), type: S.optional(StreamsClusterConnectionOutputType), }), ).annotate({ identifier: "StreamsClusterConnectionOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsKafkaConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsKafkaConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** A map of key-value pairs that will be passed as headers for the request. */ export type StreamsKafkaConnectionOutputHeadersMap = { [key: string]: string | undefined; }; export const StreamsKafkaConnectionOutputHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** The Schema Registry provider. */ export type StreamsKafkaConnectionOutputProvider = "CONFLUENT"; export const StreamsKafkaConnectionOutputProvider = S.String; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ export type StreamsKafkaConnectionOutputSchemaRegistryUrlsList = Array; export const StreamsKafkaConnectionOutputSchemaRegistryUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsKafkaConnectionOutputLinksList = Array; export const StreamsKafkaConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsKafkaConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsKafkaConnectionOutputState = S.String; /** Connection type. */ export type StreamsKafkaConnectionOutputType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const StreamsKafkaConnectionOutputType = S.String; export interface StreamsKafkaConnectionOutput { /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsKafkaConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** A map of key-value pairs that will be passed as headers for the request. */ headers?: StreamsKafkaConnectionOutputHeadersMap; /** The URL to be used for the request. */ url?: string; aws?: StreamsAWSConnectionConfig; publicPrivateNetworking?: StreamsPublicPrivateLinkNetworking; /** The Schema Registry provider. */ provider?: StreamsKafkaConnectionOutputProvider; schemaRegistryAuthentication?: SchemaRegistryAuthenticationOutput; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ schemaRegistryUrls?: StreamsKafkaConnectionOutputSchemaRegistryUrlsList; azure?: AzureConnection; gcp?: StreamsGCPConnectionConfig; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsKafkaConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsKafkaConnectionOutputState; /** Connection type. */ type?: StreamsKafkaConnectionOutputType; } export const StreamsKafkaConnectionOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsKafkaConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), headers: S.optional(StreamsKafkaConnectionOutputHeadersMap), url: S.optional(S.String), aws: S.optional(StreamsAWSConnectionConfig), publicPrivateNetworking: S.optional(StreamsPublicPrivateLinkNetworking), provider: S.optional(StreamsKafkaConnectionOutputProvider), schemaRegistryAuthentication: S.optional( SchemaRegistryAuthenticationOutput, ), schemaRegistryUrls: S.optional( StreamsKafkaConnectionOutputSchemaRegistryUrlsList, ), azure: S.optional(AzureConnection), gcp: S.optional(StreamsGCPConnectionConfig), id: S.optional(S.String), links: S.optional(StreamsKafkaConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsKafkaConnectionOutputState), type: S.optional(StreamsKafkaConnectionOutputType), }), ).annotate({ identifier: "StreamsKafkaConnectionOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsHttpsConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsHttpsConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** A map of key-value pairs that will be passed as headers for the request. */ export type StreamsHttpsConnectionOutputHeadersMap = { [key: string]: string | undefined; }; export const StreamsHttpsConnectionOutputHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** The Schema Registry provider. */ export type StreamsHttpsConnectionOutputProvider = "CONFLUENT"; export const StreamsHttpsConnectionOutputProvider = S.String; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ export type StreamsHttpsConnectionOutputSchemaRegistryUrlsList = Array; export const StreamsHttpsConnectionOutputSchemaRegistryUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsHttpsConnectionOutputLinksList = Array; export const StreamsHttpsConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsHttpsConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsHttpsConnectionOutputState = S.String; /** Connection type. */ export type StreamsHttpsConnectionOutputType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const StreamsHttpsConnectionOutputType = S.String; export interface StreamsHttpsConnectionOutput { /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsHttpsConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** A map of key-value pairs that will be passed as headers for the request. */ headers?: StreamsHttpsConnectionOutputHeadersMap; /** The URL to be used for the request. */ url?: string; aws?: StreamsAWSConnectionConfig; publicPrivateNetworking?: StreamsPublicPrivateLinkNetworking; /** The Schema Registry provider. */ provider?: StreamsHttpsConnectionOutputProvider; schemaRegistryAuthentication?: SchemaRegistryAuthenticationOutput; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ schemaRegistryUrls?: StreamsHttpsConnectionOutputSchemaRegistryUrlsList; azure?: AzureConnection; gcp?: StreamsGCPConnectionConfig; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsHttpsConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsHttpsConnectionOutputState; /** Connection type. */ type?: StreamsHttpsConnectionOutputType; } export const StreamsHttpsConnectionOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsHttpsConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), headers: S.optional(StreamsHttpsConnectionOutputHeadersMap), url: S.optional(S.String), aws: S.optional(StreamsAWSConnectionConfig), publicPrivateNetworking: S.optional(StreamsPublicPrivateLinkNetworking), provider: S.optional(StreamsHttpsConnectionOutputProvider), schemaRegistryAuthentication: S.optional( SchemaRegistryAuthenticationOutput, ), schemaRegistryUrls: S.optional( StreamsHttpsConnectionOutputSchemaRegistryUrlsList, ), azure: S.optional(AzureConnection), gcp: S.optional(StreamsGCPConnectionConfig), id: S.optional(S.String), links: S.optional(StreamsHttpsConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsHttpsConnectionOutputState), type: S.optional(StreamsHttpsConnectionOutputType), }), ).annotate({ identifier: "StreamsHttpsConnectionOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsAWSLambdaConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsAWSLambdaConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** A map of key-value pairs that will be passed as headers for the request. */ export type StreamsAWSLambdaConnectionOutputHeadersMap = { [key: string]: string | undefined; }; export const StreamsAWSLambdaConnectionOutputHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** The Schema Registry provider. */ export type StreamsAWSLambdaConnectionOutputProvider = "CONFLUENT"; export const StreamsAWSLambdaConnectionOutputProvider = S.String; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ export type StreamsAWSLambdaConnectionOutputSchemaRegistryUrlsList = Array; export const StreamsAWSLambdaConnectionOutputSchemaRegistryUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsAWSLambdaConnectionOutputLinksList = Array; export const StreamsAWSLambdaConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsAWSLambdaConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsAWSLambdaConnectionOutputState = S.String; /** Connection type. */ export type StreamsAWSLambdaConnectionOutputType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const StreamsAWSLambdaConnectionOutputType = S.String; /** The configuration for AWS Lambda connections. */ export interface StreamsAWSLambdaConnectionOutput { /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsAWSLambdaConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** A map of key-value pairs that will be passed as headers for the request. */ headers?: StreamsAWSLambdaConnectionOutputHeadersMap; /** The URL to be used for the request. */ url?: string; aws?: StreamsAWSConnectionConfig; publicPrivateNetworking?: StreamsPublicPrivateLinkNetworking; /** The Schema Registry provider. */ provider?: StreamsAWSLambdaConnectionOutputProvider; schemaRegistryAuthentication?: SchemaRegistryAuthenticationOutput; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ schemaRegistryUrls?: StreamsAWSLambdaConnectionOutputSchemaRegistryUrlsList; azure?: AzureConnection; gcp?: StreamsGCPConnectionConfig; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsAWSLambdaConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsAWSLambdaConnectionOutputState; /** Connection type. */ type?: StreamsAWSLambdaConnectionOutputType; } export const StreamsAWSLambdaConnectionOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsAWSLambdaConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), headers: S.optional(StreamsAWSLambdaConnectionOutputHeadersMap), url: S.optional(S.String), aws: S.optional(StreamsAWSConnectionConfig), publicPrivateNetworking: S.optional(StreamsPublicPrivateLinkNetworking), provider: S.optional(StreamsAWSLambdaConnectionOutputProvider), schemaRegistryAuthentication: S.optional( SchemaRegistryAuthenticationOutput, ), schemaRegistryUrls: S.optional( StreamsAWSLambdaConnectionOutputSchemaRegistryUrlsList, ), azure: S.optional(AzureConnection), gcp: S.optional(StreamsGCPConnectionConfig), id: S.optional(S.String), links: S.optional(StreamsAWSLambdaConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsAWSLambdaConnectionOutputState), type: S.optional(StreamsAWSLambdaConnectionOutputType), }), ).annotate({ identifier: "StreamsAWSLambdaConnectionOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsS3ConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsS3ConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** A map of key-value pairs that will be passed as headers for the request. */ export type StreamsS3ConnectionOutputHeadersMap = { [key: string]: string | undefined; }; export const StreamsS3ConnectionOutputHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** The Schema Registry provider. */ export type StreamsS3ConnectionOutputProvider = "CONFLUENT"; export const StreamsS3ConnectionOutputProvider = S.String; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ export type StreamsS3ConnectionOutputSchemaRegistryUrlsList = Array; export const StreamsS3ConnectionOutputSchemaRegistryUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsS3ConnectionOutputLinksList = Array; export const StreamsS3ConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsS3ConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsS3ConnectionOutputState = S.String; /** Connection type. */ export type StreamsS3ConnectionOutputType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const StreamsS3ConnectionOutputType = S.String; /** The configuration for S3 connections. */ export interface StreamsS3ConnectionOutput { /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsS3ConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** A map of key-value pairs that will be passed as headers for the request. */ headers?: StreamsS3ConnectionOutputHeadersMap; /** The URL to be used for the request. */ url?: string; aws?: StreamsAWSConnectionConfig; publicPrivateNetworking?: StreamsPublicPrivateLinkNetworking; /** The Schema Registry provider. */ provider?: StreamsS3ConnectionOutputProvider; schemaRegistryAuthentication?: SchemaRegistryAuthenticationOutput; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ schemaRegistryUrls?: StreamsS3ConnectionOutputSchemaRegistryUrlsList; azure?: AzureConnection; gcp?: StreamsGCPConnectionConfig; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsS3ConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsS3ConnectionOutputState; /** Connection type. */ type?: StreamsS3ConnectionOutputType; } export const StreamsS3ConnectionOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsS3ConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), headers: S.optional(StreamsS3ConnectionOutputHeadersMap), url: S.optional(S.String), aws: S.optional(StreamsAWSConnectionConfig), publicPrivateNetworking: S.optional(StreamsPublicPrivateLinkNetworking), provider: S.optional(StreamsS3ConnectionOutputProvider), schemaRegistryAuthentication: S.optional( SchemaRegistryAuthenticationOutput, ), schemaRegistryUrls: S.optional( StreamsS3ConnectionOutputSchemaRegistryUrlsList, ), azure: S.optional(AzureConnection), gcp: S.optional(StreamsGCPConnectionConfig), id: S.optional(S.String), links: S.optional(StreamsS3ConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsS3ConnectionOutputState), type: S.optional(StreamsS3ConnectionOutputType), }), ).annotate({ identifier: "StreamsS3ConnectionOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsAWSKinesisDataStreamsConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsAWSKinesisDataStreamsConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** A map of key-value pairs that will be passed as headers for the request. */ export type StreamsAWSKinesisDataStreamsConnectionOutputHeadersMap = { [key: string]: string | undefined; }; export const StreamsAWSKinesisDataStreamsConnectionOutputHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** The Schema Registry provider. */ export type StreamsAWSKinesisDataStreamsConnectionOutputProvider = "CONFLUENT"; export const StreamsAWSKinesisDataStreamsConnectionOutputProvider = S.String; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ export type StreamsAWSKinesisDataStreamsConnectionOutputSchemaRegistryUrlsList = Array; export const StreamsAWSKinesisDataStreamsConnectionOutputSchemaRegistryUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsAWSKinesisDataStreamsConnectionOutputLinksList = Array; export const StreamsAWSKinesisDataStreamsConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsAWSKinesisDataStreamsConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsAWSKinesisDataStreamsConnectionOutputState = S.String; /** Connection type. */ export type StreamsAWSKinesisDataStreamsConnectionOutputType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const StreamsAWSKinesisDataStreamsConnectionOutputType = S.String; /** The configuration for AWS Kinesis Data Stream connections. */ export interface StreamsAWSKinesisDataStreamsConnectionOutput { /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsAWSKinesisDataStreamsConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** A map of key-value pairs that will be passed as headers for the request. */ headers?: StreamsAWSKinesisDataStreamsConnectionOutputHeadersMap; /** The URL to be used for the request. */ url?: string; aws?: StreamsAWSConnectionConfig; publicPrivateNetworking?: StreamsPublicPrivateLinkNetworking; /** The Schema Registry provider. */ provider?: StreamsAWSKinesisDataStreamsConnectionOutputProvider; schemaRegistryAuthentication?: SchemaRegistryAuthenticationOutput; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ schemaRegistryUrls?: StreamsAWSKinesisDataStreamsConnectionOutputSchemaRegistryUrlsList; azure?: AzureConnection; gcp?: StreamsGCPConnectionConfig; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsAWSKinesisDataStreamsConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsAWSKinesisDataStreamsConnectionOutputState; /** Connection type. */ type?: StreamsAWSKinesisDataStreamsConnectionOutputType; } export const StreamsAWSKinesisDataStreamsConnectionOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsAWSKinesisDataStreamsConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), headers: S.optional( StreamsAWSKinesisDataStreamsConnectionOutputHeadersMap, ), url: S.optional(S.String), aws: S.optional(StreamsAWSConnectionConfig), publicPrivateNetworking: S.optional(StreamsPublicPrivateLinkNetworking), provider: S.optional( StreamsAWSKinesisDataStreamsConnectionOutputProvider, ), schemaRegistryAuthentication: S.optional( SchemaRegistryAuthenticationOutput, ), schemaRegistryUrls: S.optional( StreamsAWSKinesisDataStreamsConnectionOutputSchemaRegistryUrlsList, ), azure: S.optional(AzureConnection), gcp: S.optional(StreamsGCPConnectionConfig), id: S.optional(S.String), links: S.optional(StreamsAWSKinesisDataStreamsConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsAWSKinesisDataStreamsConnectionOutputState), type: S.optional(StreamsAWSKinesisDataStreamsConnectionOutputType), }), ).annotate({ identifier: "StreamsAWSKinesisDataStreamsConnectionOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsSchemaRegistryConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsSchemaRegistryConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** A map of key-value pairs that will be passed as headers for the request. */ export type StreamsSchemaRegistryConnectionOutputHeadersMap = { [key: string]: string | undefined; }; export const StreamsSchemaRegistryConnectionOutputHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** The Schema Registry provider. */ export type StreamsSchemaRegistryConnectionOutputProvider = "CONFLUENT"; export const StreamsSchemaRegistryConnectionOutputProvider = S.String; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ export type StreamsSchemaRegistryConnectionOutputSchemaRegistryUrlsList = Array; export const StreamsSchemaRegistryConnectionOutputSchemaRegistryUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsSchemaRegistryConnectionOutputLinksList = Array; export const StreamsSchemaRegistryConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsSchemaRegistryConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsSchemaRegistryConnectionOutputState = S.String; /** Connection type. */ export type StreamsSchemaRegistryConnectionOutputType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const StreamsSchemaRegistryConnectionOutputType = S.String; /** The configuration for Schema Registry connections. */ export interface StreamsSchemaRegistryConnectionOutput { /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsSchemaRegistryConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** A map of key-value pairs that will be passed as headers for the request. */ headers?: StreamsSchemaRegistryConnectionOutputHeadersMap; /** The URL to be used for the request. */ url?: string; aws?: StreamsAWSConnectionConfig; publicPrivateNetworking?: StreamsPublicPrivateLinkNetworking; /** The Schema Registry provider. */ provider: StreamsSchemaRegistryConnectionOutputProvider; schemaRegistryAuthentication: SchemaRegistryAuthenticationOutput; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ schemaRegistryUrls: StreamsSchemaRegistryConnectionOutputSchemaRegistryUrlsList; azure?: AzureConnection; gcp?: StreamsGCPConnectionConfig; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsSchemaRegistryConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsSchemaRegistryConnectionOutputState; /** Connection type. */ type?: StreamsSchemaRegistryConnectionOutputType; } export const StreamsSchemaRegistryConnectionOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsSchemaRegistryConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), headers: S.optional(StreamsSchemaRegistryConnectionOutputHeadersMap), url: S.optional(S.String), aws: S.optional(StreamsAWSConnectionConfig), publicPrivateNetworking: S.optional(StreamsPublicPrivateLinkNetworking), provider: StreamsSchemaRegistryConnectionOutputProvider, schemaRegistryAuthentication: SchemaRegistryAuthenticationOutput, schemaRegistryUrls: StreamsSchemaRegistryConnectionOutputSchemaRegistryUrlsList, azure: S.optional(AzureConnection), gcp: S.optional(StreamsGCPConnectionConfig), id: S.optional(S.String), links: S.optional(StreamsSchemaRegistryConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsSchemaRegistryConnectionOutputState), type: S.optional(StreamsSchemaRegistryConnectionOutputType), }), ).annotate({ identifier: "StreamsSchemaRegistryConnectionOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsAzureBlobStorageConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsAzureBlobStorageConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** A map of key-value pairs that will be passed as headers for the request. */ export type StreamsAzureBlobStorageConnectionOutputHeadersMap = { [key: string]: string | undefined; }; export const StreamsAzureBlobStorageConnectionOutputHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** The Schema Registry provider. */ export type StreamsAzureBlobStorageConnectionOutputProvider = "CONFLUENT"; export const StreamsAzureBlobStorageConnectionOutputProvider = S.String; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ export type StreamsAzureBlobStorageConnectionOutputSchemaRegistryUrlsList = Array; export const StreamsAzureBlobStorageConnectionOutputSchemaRegistryUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsAzureBlobStorageConnectionOutputLinksList = Array; export const StreamsAzureBlobStorageConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsAzureBlobStorageConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsAzureBlobStorageConnectionOutputState = S.String; /** Connection type. */ export type StreamsAzureBlobStorageConnectionOutputType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const StreamsAzureBlobStorageConnectionOutputType = S.String; /** The configuration for Azure Blob Storage connections. */ export interface StreamsAzureBlobStorageConnectionOutput { /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsAzureBlobStorageConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** A map of key-value pairs that will be passed as headers for the request. */ headers?: StreamsAzureBlobStorageConnectionOutputHeadersMap; /** The URL to be used for the request. */ url?: string; aws?: StreamsAWSConnectionConfig; publicPrivateNetworking?: StreamsPublicPrivateLinkNetworking; /** The Schema Registry provider. */ provider?: StreamsAzureBlobStorageConnectionOutputProvider; schemaRegistryAuthentication?: SchemaRegistryAuthenticationOutput; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ schemaRegistryUrls?: StreamsAzureBlobStorageConnectionOutputSchemaRegistryUrlsList; azure?: AzureConnection; gcp?: StreamsGCPConnectionConfig; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsAzureBlobStorageConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsAzureBlobStorageConnectionOutputState; /** Connection type. */ type?: StreamsAzureBlobStorageConnectionOutputType; } export const StreamsAzureBlobStorageConnectionOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsAzureBlobStorageConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), headers: S.optional(StreamsAzureBlobStorageConnectionOutputHeadersMap), url: S.optional(S.String), aws: S.optional(StreamsAWSConnectionConfig), publicPrivateNetworking: S.optional(StreamsPublicPrivateLinkNetworking), provider: S.optional(StreamsAzureBlobStorageConnectionOutputProvider), schemaRegistryAuthentication: S.optional( SchemaRegistryAuthenticationOutput, ), schemaRegistryUrls: S.optional( StreamsAzureBlobStorageConnectionOutputSchemaRegistryUrlsList, ), azure: S.optional(AzureConnection), gcp: S.optional(StreamsGCPConnectionConfig), id: S.optional(S.String), links: S.optional(StreamsAzureBlobStorageConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsAzureBlobStorageConnectionOutputState), type: S.optional(StreamsAzureBlobStorageConnectionOutputType), }), ).annotate({ identifier: "StreamsAzureBlobStorageConnectionOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsGCPPubSubConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsGCPPubSubConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** A map of key-value pairs that will be passed as headers for the request. */ export type StreamsGCPPubSubConnectionOutputHeadersMap = { [key: string]: string | undefined; }; export const StreamsGCPPubSubConnectionOutputHeadersMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** The Schema Registry provider. */ export type StreamsGCPPubSubConnectionOutputProvider = "CONFLUENT"; export const StreamsGCPPubSubConnectionOutputProvider = S.String; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ export type StreamsGCPPubSubConnectionOutputSchemaRegistryUrlsList = Array; export const StreamsGCPPubSubConnectionOutputSchemaRegistryUrlsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsGCPPubSubConnectionOutputLinksList = Array; export const StreamsGCPPubSubConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsGCPPubSubConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsGCPPubSubConnectionOutputState = S.String; /** Connection type. */ export type StreamsGCPPubSubConnectionOutputType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const StreamsGCPPubSubConnectionOutputType = S.String; /** The configuration for GCP Pub/Sub connections. */ export interface StreamsGCPPubSubConnectionOutput { /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsGCPPubSubConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** A map of key-value pairs that will be passed as headers for the request. */ headers?: StreamsGCPPubSubConnectionOutputHeadersMap; /** The URL to be used for the request. */ url?: string; aws?: StreamsAWSConnectionConfig; publicPrivateNetworking?: StreamsPublicPrivateLinkNetworking; /** The Schema Registry provider. */ provider?: StreamsGCPPubSubConnectionOutputProvider; schemaRegistryAuthentication?: SchemaRegistryAuthenticationOutput; /** List of Schema Registry endpoint URLs used by this connection. Each URL must use the http or https scheme and specify a valid host and optional port. */ schemaRegistryUrls?: StreamsGCPPubSubConnectionOutputSchemaRegistryUrlsList; azure?: AzureConnection; gcp?: StreamsGCPConnectionConfig; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsGCPPubSubConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsGCPPubSubConnectionOutputState; /** Connection type. */ type?: StreamsGCPPubSubConnectionOutputType; } export const StreamsGCPPubSubConnectionOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsGCPPubSubConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), headers: S.optional(StreamsGCPPubSubConnectionOutputHeadersMap), url: S.optional(S.String), aws: S.optional(StreamsAWSConnectionConfig), publicPrivateNetworking: S.optional(StreamsPublicPrivateLinkNetworking), provider: S.optional(StreamsGCPPubSubConnectionOutputProvider), schemaRegistryAuthentication: S.optional( SchemaRegistryAuthenticationOutput, ), schemaRegistryUrls: S.optional( StreamsGCPPubSubConnectionOutputSchemaRegistryUrlsList, ), azure: S.optional(AzureConnection), gcp: S.optional(StreamsGCPConnectionConfig), id: S.optional(S.String), links: S.optional(StreamsGCPPubSubConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsGCPPubSubConnectionOutputState), type: S.optional(StreamsGCPPubSubConnectionOutputType), }), ).annotate({ identifier: "StreamsGCPPubSubConnectionOutput", }) as any as S.Schema; /** Settings that define a connection to an external data store. */ export type StreamsConnectionOutput = | StreamsClusterConnectionOutput | StreamsKafkaConnectionOutput | StreamsHttpsConnectionOutput | StreamsAWSLambdaConnectionOutput | StreamsS3ConnectionOutput | StreamsAWSKinesisDataStreamsConnectionOutput | StreamsSchemaRegistryConnectionOutput | StreamsAzureBlobStorageConnectionOutput | StreamsGCPPubSubConnectionOutput; export const StreamsConnectionOutput = S.Unknown as any as S.Schema; /** Connection type. */ export type CreateGroupStreamConnectionFailoverConnectionRequestType = | "Kafka" | "Cluster"; export const CreateGroupStreamConnectionFailoverConnectionRequestType = S.String; export interface CreateGroupStreamConnectionFailoverConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream connection name. */ connectionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the stream connection. */ name?: string; /** Connection region. */ region?: string; /** Connection type. */ type?: | CreateGroupStreamConnectionFailoverConnectionRequestType | (string & {}); } export const CreateGroupStreamConnectionFailoverConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), connectionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.optional(S.String), region: S.optional(S.String), type: S.optional( CreateGroupStreamConnectionFailoverConnectionRequestType, ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}/failoverConnections", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateGroupStreamConnectionFailoverConnectionRequest", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsFailoverClusterConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsFailoverClusterConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsFailoverClusterConnectionOutputLinksList = Array; export const StreamsFailoverClusterConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsFailoverClusterConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsFailoverClusterConnectionOutputState = S.String; /** Connection type. */ export type StreamsFailoverClusterConnectionOutputType = "Kafka" | "Cluster"; export const StreamsFailoverClusterConnectionOutputType = S.String; export interface StreamsFailoverClusterConnectionOutput { authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsFailoverClusterConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsFailoverClusterConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsFailoverClusterConnectionOutputState; /** Connection type. */ type?: StreamsFailoverClusterConnectionOutputType; /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; } export const StreamsFailoverClusterConnectionOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsFailoverClusterConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), id: S.optional(S.String), links: S.optional(StreamsFailoverClusterConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsFailoverClusterConnectionOutputState), type: S.optional(StreamsFailoverClusterConnectionOutputType), clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), }), ).annotate({ identifier: "StreamsFailoverClusterConnectionOutput", }) as any as S.Schema; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ export type StreamsFailoverKafkaConnectionOutputConfigMap = { [key: string]: string | undefined; }; export const StreamsFailoverKafkaConnectionOutputConfigMap = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsFailoverKafkaConnectionOutputLinksList = Array; export const StreamsFailoverKafkaConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Connection state. */ export type StreamsFailoverKafkaConnectionOutputState = | "PENDING" | "READY" | "DELETING" | "FAILED"; export const StreamsFailoverKafkaConnectionOutputState = S.String; /** Connection type. */ export type StreamsFailoverKafkaConnectionOutputType = "Kafka" | "Cluster"; export const StreamsFailoverKafkaConnectionOutputType = S.String; export interface StreamsFailoverKafkaConnectionOutput { authentication?: StreamsKafkaAuthenticationOutput; /** Comma separated list of server addresses. */ bootstrapServers?: string; /** Map of Kafka key-value pairs for optional configuration. This object is flat, and keys can have '.' characters. */ config?: StreamsFailoverKafkaConnectionOutputConfigMap; networking?: StreamsKafkaNetworking; security?: StreamsKafkaSecurity; /** Unique identifier of the connection. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsFailoverKafkaConnectionOutputLinksList; /** Human-readable label that identifies the stream connection. */ name?: string; /** Connection region. */ region?: string; /** Connection state. */ state?: StreamsFailoverKafkaConnectionOutputState; /** Connection type. */ type?: StreamsFailoverKafkaConnectionOutputType; /** Unique 24-hexadecimal digit string that identifies the project that contains the configured cluster. Required if the ID does not match the project containing the streams workspace. You must first enable the organization setting. */ clusterGroupId?: string | null; /** Name of the cluster configured for this connection. */ clusterName?: string; dbRoleToExecute?: DBRoleToExecute; } export const StreamsFailoverKafkaConnectionOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ authentication: S.optional(StreamsKafkaAuthenticationOutput), bootstrapServers: S.optional(S.String), config: S.optional(StreamsFailoverKafkaConnectionOutputConfigMap), networking: S.optional(StreamsKafkaNetworking), security: S.optional(StreamsKafkaSecurity), id: S.optional(S.String), links: S.optional(StreamsFailoverKafkaConnectionOutputLinksList), name: S.optional(S.String), region: S.optional(S.String), state: S.optional(StreamsFailoverKafkaConnectionOutputState), type: S.optional(StreamsFailoverKafkaConnectionOutputType), clusterGroupId: S.optional(S.NullOr(S.String)), clusterName: S.optional(S.String), dbRoleToExecute: S.optional(DBRoleToExecute), }), ).annotate({ identifier: "StreamsFailoverKafkaConnectionOutput", }) as any as S.Schema; /** Settings that define a failover connection to an external data store. */ export type StreamsFailoverConnectionOutput = | StreamsFailoverClusterConnectionOutput | StreamsFailoverKafkaConnectionOutput; export const StreamsFailoverConnectionOutput = S.Unknown as any as S.Schema; /** Authentication mechanism to use with this private networking connection. */ export type CreateGroupStreamPrivateLinkConnectionRequestAuthenticationScheme = | "TLS" | "SASL_SCRAM" | "IAM"; export const CreateGroupStreamPrivateLinkConnectionRequestAuthenticationScheme = S.String; /** Azure Resource IDs of each availability zone for the Azure Confluent cluster. */ export type CreateGroupStreamPrivateLinkConnectionRequestAzureResourceIdsList = Array; export const CreateGroupStreamPrivateLinkConnectionRequestAzureResourceIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor, if your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array []. */ export type CreateGroupStreamPrivateLinkConnectionRequestDnsSubDomainList = Array; export const CreateGroupStreamPrivateLinkConnectionRequestDnsSubDomainList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of GCP Private Service Connect connection IDs. */ export type CreateGroupStreamPrivateLinkConnectionRequestGcpConnectionIdsList = Array; export const CreateGroupStreamPrivateLinkConnectionRequestGcpConnectionIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Service Attachment URIs of each availability zone for the GCP Confluent cluster. */ export type CreateGroupStreamPrivateLinkConnectionRequestGcpServiceAttachmentUrisList = Array; export const CreateGroupStreamPrivateLinkConnectionRequestGcpServiceAttachmentUrisList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateGroupStreamPrivateLinkConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor. */ arn?: string; /** Authentication mechanism to use with this private networking connection. */ authenticationScheme?: | CreateGroupStreamPrivateLinkConnectionRequestAuthenticationScheme | (string & {}); /** Azure Resource IDs of each availability zone for the Azure Confluent cluster. */ azureResourceIds?: CreateGroupStreamPrivateLinkConnectionRequestAzureResourceIdsList; /** The domain hostname. Required for the following provider and vendor combinations: - AWS provider with CONFLUENT vendor. - AZURE provider with EVENTHUB or CONFLUENT vendor. */ dnsDomain?: string; /** Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor, if your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array []. */ dnsSubDomain?: CreateGroupStreamPrivateLinkConnectionRequestDnsSubDomainList; /** List of GCP Private Service Connect connection IDs. */ gcpConnectionIds?: CreateGroupStreamPrivateLinkConnectionRequestGcpConnectionIdsList; /** Service Attachment URIs of each availability zone for the GCP Confluent cluster. */ gcpServiceAttachmentUris?: CreateGroupStreamPrivateLinkConnectionRequestGcpServiceAttachmentUrisList; /** Cloud provider where the private endpoint's target resource is deployed. Valid values are AWS, AZURE, and GCP. */ provider: string; /** The region of the Provider’s cluster. See [AWS](https://www.mongodb.com/docs/atlas/reference/amazon-aws/#stream-processing-workspaces), [AZURE](https://www.mongodb.com/docs/atlas/reference/microsoft-azure/#stream-processing-workspaces), and [GCP](https://www.mongodb.com/docs/atlas/reference/google-gcp/#stream-processing-workspaces) supported regions. */ region?: string; /** For AZURE EVENTHUB, this is the [namespace endpoint ID](https://learn.microsoft.com/en-us/rest/api/eventhub/namespaces/get). For AWS CONFLUENT cluster, this is the [VPC Endpoint service name](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). */ serviceEndpointId?: string; /** Vendor that manages the cloud service. The list of supported vendor values is: - AWS -- `MSK` for AWS MSK Kafka clusters -- `CONFLUENT` for Confluent Kafka clusters on AWS -- `KINESIS` for AWS Kinesis Data Streams -- `S3` for AWS S3 -- `LAMBDA` for AWS Lambda - Azure -- `EVENTHUB` for Azure EventHub. -- `CONFLUENT` for Confluent Kafka clusters on Azure -- `AZURE_BLOB_STORAGE` for Azure Blob Storage - GCP -- `CONFLUENT` for Confluent Kafka clusters on GCP -- `PUBSUB` for Google Cloud Pub/Sub **NOTE** Omitting the vendor field will default to using the GENERIC vendor. */ vendor?: string; } export const CreateGroupStreamPrivateLinkConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), arn: S.optional(S.String), authenticationScheme: S.optional( CreateGroupStreamPrivateLinkConnectionRequestAuthenticationScheme, ), azureResourceIds: S.optional( CreateGroupStreamPrivateLinkConnectionRequestAzureResourceIdsList, ), dnsDomain: S.optional(S.String), dnsSubDomain: S.optional( CreateGroupStreamPrivateLinkConnectionRequestDnsSubDomainList, ), gcpConnectionIds: S.optional( CreateGroupStreamPrivateLinkConnectionRequestGcpConnectionIdsList, ), gcpServiceAttachmentUris: S.optional( CreateGroupStreamPrivateLinkConnectionRequestGcpServiceAttachmentUrisList, ), provider: S.String, region: S.optional(S.String), serviceEndpointId: S.optional(S.String), vendor: S.optional(S.String), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams/privateLinkConnections", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "CreateGroupStreamPrivateLinkConnectionRequest", }) as any as S.Schema; /** Authentication mechanism to use with this private networking connection. */ export type StreamsPrivateLinkConnectionAuthenticationScheme = | "TLS" | "SASL_SCRAM" | "IAM"; export const StreamsPrivateLinkConnectionAuthenticationScheme = S.String; /** Azure Resource IDs of each availability zone for the Azure Confluent cluster. */ export type StreamsPrivateLinkConnectionAzureResourceIdsList = Array; export const StreamsPrivateLinkConnectionAzureResourceIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor, if your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array []. */ export type StreamsPrivateLinkConnectionDnsSubDomainList = Array; export const StreamsPrivateLinkConnectionDnsSubDomainList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of GCP Private Service Connect connection IDs. */ export type StreamsPrivateLinkConnectionGcpConnectionIdsList = Array; export const StreamsPrivateLinkConnectionGcpConnectionIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Service Attachment URIs of each availability zone for the GCP Confluent cluster. */ export type StreamsPrivateLinkConnectionGcpServiceAttachmentUrisList = Array; export const StreamsPrivateLinkConnectionGcpServiceAttachmentUrisList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsPrivateLinkConnectionLinksList = Array; export const StreamsPrivateLinkConnectionLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Container for metadata needed to create a Private Link connection. */ export interface StreamsPrivateLinkConnection { /** The ID of the Private Link connection. */ _id?: string; /** Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor. */ arn?: string; /** Authentication mechanism to use with this private networking connection. */ authenticationScheme?: StreamsPrivateLinkConnectionAuthenticationScheme; /** Azure Resource IDs of each availability zone for the Azure Confluent cluster. */ azureResourceIds?: StreamsPrivateLinkConnectionAzureResourceIdsList; /** The domain hostname. Required for the following provider and vendor combinations: - AWS provider with CONFLUENT vendor. - AZURE provider with EVENTHUB or CONFLUENT vendor. */ dnsDomain?: string; /** Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor, if your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array []. */ dnsSubDomain?: StreamsPrivateLinkConnectionDnsSubDomainList; /** Error message if the state is FAILED. */ errorMessage?: string; /** List of GCP Private Service Connect connection IDs. */ gcpConnectionIds?: StreamsPrivateLinkConnectionGcpConnectionIdsList; /** Service Attachment URIs of each availability zone for the GCP Confluent cluster. */ gcpServiceAttachmentUris?: StreamsPrivateLinkConnectionGcpServiceAttachmentUrisList; /** Interface endpoint ID that is created from the service endpoint ID provided. */ interfaceEndpointId?: string; /** Interface endpoint name that is created from the service endpoint ID provided. */ interfaceEndpointName?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsPrivateLinkConnectionLinksList; /** Cloud provider where the private endpoint's target resource is deployed. Valid values are AWS, AZURE, and GCP. */ provider: string; /** Account ID from the cloud provider. */ providerAccountId?: string; /** The region of the Provider’s cluster. See [AWS](https://www.mongodb.com/docs/atlas/reference/amazon-aws/#stream-processing-workspaces), [AZURE](https://www.mongodb.com/docs/atlas/reference/microsoft-azure/#stream-processing-workspaces), and [GCP](https://www.mongodb.com/docs/atlas/reference/google-gcp/#stream-processing-workspaces) supported regions. */ region?: string; /** For AZURE EVENTHUB, this is the [namespace endpoint ID](https://learn.microsoft.com/en-us/rest/api/eventhub/namespaces/get). For AWS CONFLUENT cluster, this is the [VPC Endpoint service name](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). */ serviceEndpointId?: string; /** State the connection is in. */ state?: string; /** Vendor that manages the cloud service. The list of supported vendor values is: - AWS -- `MSK` for AWS MSK Kafka clusters -- `CONFLUENT` for Confluent Kafka clusters on AWS -- `KINESIS` for AWS Kinesis Data Streams -- `S3` for AWS S3 -- `LAMBDA` for AWS Lambda - Azure -- `EVENTHUB` for Azure EventHub. -- `CONFLUENT` for Confluent Kafka clusters on Azure -- `AZURE_BLOB_STORAGE` for Azure Blob Storage - GCP -- `CONFLUENT` for Confluent Kafka clusters on GCP -- `PUBSUB` for Google Cloud Pub/Sub **NOTE** Omitting the vendor field will default to using the GENERIC vendor. */ vendor?: string; } export const StreamsPrivateLinkConnection = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.String), arn: S.optional(S.String), authenticationScheme: S.optional( StreamsPrivateLinkConnectionAuthenticationScheme, ), azureResourceIds: S.optional( StreamsPrivateLinkConnectionAzureResourceIdsList, ), dnsDomain: S.optional(S.String), dnsSubDomain: S.optional(StreamsPrivateLinkConnectionDnsSubDomainList), errorMessage: S.optional(S.String), gcpConnectionIds: S.optional( StreamsPrivateLinkConnectionGcpConnectionIdsList, ), gcpServiceAttachmentUris: S.optional( StreamsPrivateLinkConnectionGcpServiceAttachmentUrisList, ), interfaceEndpointId: S.optional(S.String), interfaceEndpointName: S.optional(S.String), links: S.optional(StreamsPrivateLinkConnectionLinksList), provider: S.String, providerAccountId: S.optional(S.String), region: S.optional(S.String), serviceEndpointId: S.optional(S.String), state: S.optional(S.String), vendor: S.optional(S.String), }), ).annotate({ identifier: "StreamsPrivateLinkConnection", }) as any as S.Schema; /** Tier ceiling for autoscaling (scale-up limit). - **Omitted:** - On `CREATE`: falls back to the workspace max tier (there is no current bound to preserve). - On `MODIFY` or `:startWith`: the current bound is preserved. - **`null`** on `CREATE`, `MODIFY`, or `:startWith`: resets the bound to the workspace max tier. - **A tier value** on `CREATE`, `MODIFY`, or `:startWith`: sets the bound to that tier. */ export type StreamsAutoscalingInputMaxTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamsAutoscalingInputMaxTier = S.String; /** Tier floor for autoscaling (scale-down limit). - **Omitted:** - On `CREATE`: falls back to the workspace default tier (there is no current bound to preserve). - On `MODIFY` or `:startWith`: the current bound is preserved. - **`null`** on `CREATE`, `MODIFY`, or `:startWith`: resets the bound to the workspace default tier. - **A tier value** on `CREATE`, `MODIFY`, or `:startWith`: sets the bound to that tier. */ export type StreamsAutoscalingInputMinTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamsAutoscalingInputMinTier = S.String; /** Autoscaling configuration for a stream processor. */ export interface StreamsAutoscalingInput { /** Flag that indicates whether autoscaling is enabled. - **Omitted, `null`, or `false`:** - On `CREATE`: a no-op, there is no persisted setting yet to disable or clear. - On `MODIFY` or `:startWith`: omitted preserves the current setting. `null` or `false` disables autoscaling and clears its configuration. - **`true`** on `CREATE`, `MODIFY`, or `:startWith`: enables autoscaling. */ enabled?: boolean | null; /** Tier ceiling for autoscaling (scale-up limit). - **Omitted:** - On `CREATE`: falls back to the workspace max tier (there is no current bound to preserve). - On `MODIFY` or `:startWith`: the current bound is preserved. - **`null`** on `CREATE`, `MODIFY`, or `:startWith`: resets the bound to the workspace max tier. - **A tier value** on `CREATE`, `MODIFY`, or `:startWith`: sets the bound to that tier. */ maxTier?: StreamsAutoscalingInputMaxTier | (string & {}) | null; /** Tier floor for autoscaling (scale-down limit). - **Omitted:** - On `CREATE`: falls back to the workspace default tier (there is no current bound to preserve). - On `MODIFY` or `:startWith`: the current bound is preserved. - **`null`** on `CREATE`, `MODIFY`, or `:startWith`: resets the bound to the workspace default tier. - **A tier value** on `CREATE`, `MODIFY`, or `:startWith`: sets the bound to that tier. */ minTier?: StreamsAutoscalingInputMinTier | (string & {}) | null; } export const StreamsAutoscalingInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.NullOr(S.Boolean)), maxTier: S.optional(S.NullOr(StreamsAutoscalingInputMaxTier)), minTier: S.optional(S.NullOr(StreamsAutoscalingInputMinTier)), }), ).annotate({ identifier: "StreamsAutoscalingInput", }) as any as S.Schema; /** Dead letter queue for the stream processor. */ export interface StreamsDLQInput { /** Name of the collection to use for the DLQ. */ coll?: string; /** Name of the connection to write DLQ messages to. Must be an Atlas connection. */ connectionName?: string; /** Name of the database to use for the DLQ. */ db?: string; } export const StreamsDLQInput = /*@__PURE__*/ S.suspend(() => S.Struct({ coll: S.optional(S.String), connectionName: S.optional(S.String), db: S.optional(S.String), }), ).annotate({ identifier: "StreamsDLQInput", }) as any as S.Schema; /** Optional configuration for the stream processor. */ export interface StreamsOptionsInput { autoscaling?: StreamsAutoscalingInput | null; dlq?: StreamsDLQInput; } export const StreamsOptionsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ autoscaling: S.optional(S.NullOr(StreamsAutoscalingInput)), dlq: S.optional(StreamsDLQInput), }), ).annotate({ identifier: "StreamsOptionsInput", }) as any as S.Schema; export type Document = { [key: string]: unknown | undefined }; export const Document = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** Stream aggregation pipeline you want to apply to your streaming data. */ export type CreateGroupStreamProcessorRequestPipelineList = Array; export const CreateGroupStreamProcessorRequestPipelineList = /*@__PURE__*/ S.Array( Document, ) as any as S.Schema; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ export type CreateGroupStreamProcessorRequestTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const CreateGroupStreamProcessorRequestTier = S.String; export interface CreateGroupStreamProcessorRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that enables or disables failover for the stream processor. */ failoverEnabled?: boolean; /** Human-readable name of the stream processor. */ name?: string; options?: StreamsOptionsInput; /** Stream aggregation pipeline you want to apply to your streaming data. */ pipeline?: CreateGroupStreamProcessorRequestPipelineList; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ tier?: CreateGroupStreamProcessorRequestTier | (string & {}); } export const CreateGroupStreamProcessorRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), failoverEnabled: S.optional(S.Boolean), name: S.optional(S.String), options: S.optional(StreamsOptionsInput), pipeline: S.optional(CreateGroupStreamProcessorRequestPipelineList), tier: S.optional(CreateGroupStreamProcessorRequestTier), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "CreateGroupStreamProcessorRequest", }) as any as S.Schema; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ export type StreamsProcessorEffectiveTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamsProcessorEffectiveTier = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsProcessorLinksList = Array; export const StreamsProcessorLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsAutoscalingLinksList = Array; export const StreamsAutoscalingLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Tier ceiling for autoscaling (scale-up limit). - **Omitted:** - On `CREATE`: falls back to the workspace max tier (there is no current bound to preserve). - On `MODIFY` or `:startWith`: the current bound is preserved. - **`null`** on `CREATE`, `MODIFY`, or `:startWith`: resets the bound to the workspace max tier. - **A tier value** on `CREATE`, `MODIFY`, or `:startWith`: sets the bound to that tier. */ export type StreamsAutoscalingMaxTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamsAutoscalingMaxTier = S.String; /** Tier floor for autoscaling (scale-down limit). - **Omitted:** - On `CREATE`: falls back to the workspace default tier (there is no current bound to preserve). - On `MODIFY` or `:startWith`: the current bound is preserved. - **`null`** on `CREATE`, `MODIFY`, or `:startWith`: resets the bound to the workspace default tier. - **A tier value** on `CREATE`, `MODIFY`, or `:startWith`: sets the bound to that tier. */ export type StreamsAutoscalingMinTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamsAutoscalingMinTier = S.String; /** Autoscaling configuration for a stream processor. */ export interface StreamsAutoscaling { /** Flag that indicates whether autoscaling is enabled. - **Omitted, `null`, or `false`:** - On `CREATE`: a no-op, there is no persisted setting yet to disable or clear. - On `MODIFY` or `:startWith`: omitted preserves the current setting. `null` or `false` disables autoscaling and clears its configuration. - **`true`** on `CREATE`, `MODIFY`, or `:startWith`: enables autoscaling. */ enabled?: boolean | null; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsAutoscalingLinksList; /** Tier ceiling for autoscaling (scale-up limit). - **Omitted:** - On `CREATE`: falls back to the workspace max tier (there is no current bound to preserve). - On `MODIFY` or `:startWith`: the current bound is preserved. - **`null`** on `CREATE`, `MODIFY`, or `:startWith`: resets the bound to the workspace max tier. - **A tier value** on `CREATE`, `MODIFY`, or `:startWith`: sets the bound to that tier. */ maxTier?: StreamsAutoscalingMaxTier | null; /** Tier floor for autoscaling (scale-down limit). - **Omitted:** - On `CREATE`: falls back to the workspace default tier (there is no current bound to preserve). - On `MODIFY` or `:startWith`: the current bound is preserved. - **`null`** on `CREATE`, `MODIFY`, or `:startWith`: resets the bound to the workspace default tier. - **A tier value** on `CREATE`, `MODIFY`, or `:startWith`: sets the bound to that tier. */ minTier?: StreamsAutoscalingMinTier | null; } export const StreamsAutoscaling = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.NullOr(S.Boolean)), links: S.optional(StreamsAutoscalingLinksList), maxTier: S.optional(S.NullOr(StreamsAutoscalingMaxTier)), minTier: S.optional(S.NullOr(StreamsAutoscalingMinTier)), }), ).annotate({ identifier: "StreamsAutoscaling", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsDLQLinksList = Array; export const StreamsDLQLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Dead letter queue for the stream processor. */ export interface StreamsDLQ { /** Name of the collection to use for the DLQ. */ coll?: string; /** Name of the connection to write DLQ messages to. Must be an Atlas connection. */ connectionName?: string; /** Name of the database to use for the DLQ. */ db?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsDLQLinksList; } export const StreamsDLQ = /*@__PURE__*/ S.suspend(() => S.Struct({ coll: S.optional(S.String), connectionName: S.optional(S.String), db: S.optional(S.String), links: S.optional(StreamsDLQLinksList), }), ).annotate({ identifier: "StreamsDLQ" }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsOptionsLinksList = Array; export const StreamsOptionsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Optional configuration for the stream processor. */ export interface StreamsOptions { autoscaling?: StreamsAutoscaling | null; dlq?: StreamsDLQ; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsOptionsLinksList; } export const StreamsOptions = /*@__PURE__*/ S.suspend(() => S.Struct({ autoscaling: S.optional(S.NullOr(StreamsAutoscaling)), dlq: S.optional(StreamsDLQ), links: S.optional(StreamsOptionsLinksList), }), ).annotate({ identifier: "StreamsOptions" }) as any as S.Schema; /** Stream aggregation pipeline you want to apply to your streaming data. */ export type StreamsProcessorPipelineList = Array; export const StreamsProcessorPipelineList = /*@__PURE__*/ S.Array( Document, ) as any as S.Schema; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ export type StreamsProcessorTier = "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamsProcessorTier = S.String; /** An atlas stream processor. */ export interface StreamsProcessor { /** Unique 24-hexadecimal character string that identifies the stream processor. */ _id?: string; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ effectiveTier: StreamsProcessorEffectiveTier; /** Flag that enables or disables failover for the stream processor. */ failoverEnabled?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsProcessorLinksList; /** Human-readable name of the stream processor. */ name?: string; options?: StreamsOptions; /** Stream aggregation pipeline you want to apply to your streaming data. */ pipeline?: StreamsProcessorPipelineList; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ tier?: StreamsProcessorTier; } export const StreamsProcessor = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.String), effectiveTier: StreamsProcessorEffectiveTier, failoverEnabled: S.optional(S.Boolean), links: S.optional(StreamsProcessorLinksList), name: S.optional(S.String), options: S.optional(StreamsOptions), pipeline: S.optional(StreamsProcessorPipelineList), tier: S.optional(StreamsProcessorTier), }), ).annotate({ identifier: "StreamsProcessor", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider. */ export type StreamsDataProcessRegionInputCloudProvider = | "AWS" | "GCP" | "AZURE" | "TENANT" | "SERVERLESS"; export const StreamsDataProcessRegionInputCloudProvider = S.String; /** Atlas Streams AWS Regions. */ export type ApiStreamsAWSRegionView = | "SYDNEY_AUS" | "MUMBAI_IND" | "FRANKFURT_DEU" | "DUBLIN_IRL" | "LONDON_GBR" | "VIRGINIA_USA" | "OHIO_USA" | "OREGON_USA" | "SAOPAULO_BRA" | "MONTREAL_CAN" | "TOKYO_JPN" | "SINGAPORE_SGP" | "PARIS_FRA" | "SEOUL_KOR"; export const ApiStreamsAWSRegionView = S.String; /** Atlas Streams Azure Regions. */ export type ApiStreamsAzureRegionView = | "eastus" | "westus" | "eastus2" | "westeurope" | "brazilsouth" | "australiaeast" | "northeurope" | "eastasia" | "southeastasia"; export const ApiStreamsAzureRegionView = S.String; /** Atlas Streams GCP Regions. */ export type ApiStreamsGCPRegionView = | "US_CENTRAL1" | "EUROPE_WEST1" | "US_EAST4" | "US_WEST1"; export const ApiStreamsGCPRegionView = S.String; /** Name of the cloud provider region hosting Atlas Stream Processing. */ export type BaseStreamsRegion = | ApiStreamsAWSRegionView | ApiStreamsAzureRegionView | ApiStreamsGCPRegionView; export const BaseStreamsRegion = S.Unknown as any as S.Schema; /** Information about the cloud provider region in which MongoDB Cloud processes the stream. */ export interface StreamsDataProcessRegionInput { /** Human-readable label that identifies the cloud provider. */ cloudProvider: StreamsDataProcessRegionInputCloudProvider | (string & {}); region: BaseStreamsRegion; } export const StreamsDataProcessRegionInput = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: StreamsDataProcessRegionInputCloudProvider, region: BaseStreamsRegion, }), ).annotate({ identifier: "StreamsDataProcessRegionInput", }) as any as S.Schema; /** List of failover regions configured for the stream workspace. */ export type CreateGroupStreamWorkspaceRequestFailoverRegionsList = Array; export const CreateGroupStreamWorkspaceRequestFailoverRegionsList = /*@__PURE__*/ S.Array( StreamsDataProcessRegionInput, ) as any as S.Schema; /** Sample connections to add to SPI. */ export interface StreamsSampleConnectionsInput { /** Flag that indicates whether to add a `sample_stream_solar` connection. */ solar?: boolean; } export const StreamsSampleConnectionsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ solar: S.optional(S.Boolean), }), ).annotate({ identifier: "StreamsSampleConnectionsInput", }) as any as S.Schema; /** Max tier size for the Stream Workspace. Configures Memory or VCPU allowances. */ export type StreamConfigInputMaxTierSize = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamConfigInputMaxTierSize = S.String; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ export type StreamConfigInputTier = "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamConfigInputTier = S.String; /** Configuration options for an Atlas Stream Processing Workspace. */ export interface StreamConfigInput { /** Max tier size for the Stream Workspace. Configures Memory or VCPU allowances. */ maxTierSize?: StreamConfigInputMaxTierSize | (string & {}); /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ tier?: StreamConfigInputTier | (string & {}); } export const StreamConfigInput = /*@__PURE__*/ S.suspend(() => S.Struct({ maxTierSize: S.optional(StreamConfigInputMaxTierSize), tier: S.optional(StreamConfigInputTier), }), ).annotate({ identifier: "StreamConfigInput", }) as any as S.Schema; export interface CreateGroupStreamWorkspaceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; dataProcessRegion?: StreamsDataProcessRegionInput; /** List of failover regions configured for the stream workspace. */ failoverRegions?: CreateGroupStreamWorkspaceRequestFailoverRegionsList; /** Label that identifies the stream workspace. */ name?: string; sampleConnections?: StreamsSampleConnectionsInput; streamConfig?: StreamConfigInput | null; } export const CreateGroupStreamWorkspaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), dataProcessRegion: S.optional(StreamsDataProcessRegionInput), failoverRegions: S.optional( CreateGroupStreamWorkspaceRequestFailoverRegionsList, ), name: S.optional(S.String), sampleConnections: S.optional(StreamsSampleConnectionsInput), streamConfig: S.optional(S.NullOr(StreamConfigInput)), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "CreateGroupStreamWorkspaceRequest", }) as any as S.Schema; /** List of connections configured in the stream workspace. */ export type StreamsTenantOutputConnectionsList = Array; export const StreamsTenantOutputConnectionsList = /*@__PURE__*/ S.Array( StreamsConnectionOutput, ) as any as S.Schema; /** Human-readable label that identifies the cloud provider. */ export type StreamsDataProcessRegionCloudProvider = | "AWS" | "GCP" | "AZURE" | "TENANT" | "SERVERLESS"; export const StreamsDataProcessRegionCloudProvider = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsDataProcessRegionLinksList = Array; export const StreamsDataProcessRegionLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Information about the cloud provider region in which MongoDB Cloud processes the stream. */ export interface StreamsDataProcessRegion { /** Human-readable label that identifies the cloud provider. */ cloudProvider: StreamsDataProcessRegionCloudProvider; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsDataProcessRegionLinksList; region: BaseStreamsRegion; } export const StreamsDataProcessRegion = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: StreamsDataProcessRegionCloudProvider, links: S.optional(StreamsDataProcessRegionLinksList), region: BaseStreamsRegion, }), ).annotate({ identifier: "StreamsDataProcessRegion", }) as any as S.Schema; /** List of failover regions configured for the stream workspace. */ export type StreamsTenantOutputFailoverRegionsList = Array; export const StreamsTenantOutputFailoverRegionsList = /*@__PURE__*/ S.Array( StreamsDataProcessRegion, ) as any as S.Schema; /** List that contains the hostnames assigned to the stream workspace. */ export type StreamsTenantOutputHostnamesList = Array; export const StreamsTenantOutputHostnamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsTenantOutputLinksList = Array; export const StreamsTenantOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsSampleConnectionsLinksList = Array; export const StreamsSampleConnectionsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Sample connections to add to SPI. */ export interface StreamsSampleConnections { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsSampleConnectionsLinksList; /** Flag that indicates whether to add a `sample_stream_solar` connection. */ solar?: boolean; } export const StreamsSampleConnections = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(StreamsSampleConnectionsLinksList), solar: S.optional(S.Boolean), }), ).annotate({ identifier: "StreamsSampleConnections", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamConfigLinksList = Array; export const StreamConfigLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Max tier size for the Stream Workspace. Configures Memory or VCPU allowances. */ export type StreamConfigMaxTierSize = "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamConfigMaxTierSize = S.String; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ export type StreamConfigTier = "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamConfigTier = S.String; /** Configuration options for an Atlas Stream Processing Workspace. */ export interface StreamConfig { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamConfigLinksList; /** Max tier size for the Stream Workspace. Configures Memory or VCPU allowances. */ maxTierSize?: StreamConfigMaxTierSize; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ tier?: StreamConfigTier; } export const StreamConfig = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(StreamConfigLinksList), maxTierSize: S.optional(StreamConfigMaxTierSize), tier: S.optional(StreamConfigTier), }), ).annotate({ identifier: "StreamConfig" }) as any as S.Schema; export interface StreamsTenantOutput { /** Unique 24-hexadecimal character string that identifies the project. */ _id?: string; /** List of connections configured in the stream workspace. */ connections?: StreamsTenantOutputConnectionsList; dataProcessRegion?: StreamsDataProcessRegion; /** List of failover regions configured for the stream workspace. */ failoverRegions?: StreamsTenantOutputFailoverRegionsList; /** Unique 24-hexadecimal character string that identifies the project. */ groupId?: string; /** List that contains the hostnames assigned to the stream workspace. */ hostnames?: StreamsTenantOutputHostnamesList; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsTenantOutputLinksList; /** Label that identifies the stream workspace. */ name?: string; sampleConnections?: StreamsSampleConnections; streamConfig?: StreamConfig | null; } export const StreamsTenantOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.String), connections: S.optional(StreamsTenantOutputConnectionsList), dataProcessRegion: S.optional(StreamsDataProcessRegion), failoverRegions: S.optional(StreamsTenantOutputFailoverRegionsList), groupId: S.optional(S.String), hostnames: S.optional(StreamsTenantOutputHostnamesList), links: S.optional(StreamsTenantOutputLinksList), name: S.optional(S.String), sampleConnections: S.optional(StreamsSampleConnections), streamConfig: S.optional(S.NullOr(StreamConfig)), }), ).annotate({ identifier: "StreamsTenantOutput", }) as any as S.Schema; export type CreateAtlasOrganizationApiKeyRolesItem = | "ORG_OWNER" | "ORG_MEMBER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_READ_ONLY"; export const CreateAtlasOrganizationApiKeyRolesItem = S.String; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this organization. */ export type CreateAtlasOrganizationApiKeyRolesList = Array< CreateAtlasOrganizationApiKeyRolesItem | (string & {}) | null >; export const CreateAtlasOrganizationApiKeyRolesList = /*@__PURE__*/ S.Array( S.NullOr(CreateAtlasOrganizationApiKeyRolesItem), ) as any as S.Schema; /** Organization Service Account that Atlas creates for this organization. If omitted, Atlas doesn't create an organization Service Account for this organization. If specified, this object requires all body parameters. Note that API Keys cannot be specified in the same request. */ export interface CreateAtlasOrganizationApiKey { /** Purpose or explanation provided when someone created this organization API key. */ desc: string; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this organization. */ roles: CreateAtlasOrganizationApiKeyRolesList; } export const CreateAtlasOrganizationApiKey = /*@__PURE__*/ S.suspend(() => S.Struct({ desc: S.String, roles: CreateAtlasOrganizationApiKeyRolesList, }), ).annotate({ identifier: "CreateAtlasOrganizationApiKey", }) as any as S.Schema; /** Organization roles available for Service Accounts. */ export type OrgServiceAccountRequestRolesItem = | "ORG_MEMBER" | "ORG_READ_ONLY" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_GROUP_CREATOR" | "ORG_OWNER"; export const OrgServiceAccountRequestRolesItem = S.String; /** A list of organization-level roles for the Service Account. */ export type OrgServiceAccountRequestRolesList = Array< OrgServiceAccountRequestRolesItem | (string & {}) >; export const OrgServiceAccountRequestRolesList = /*@__PURE__*/ S.Array( OrgServiceAccountRequestRolesItem, ) as any as S.Schema; /** Organization Service Account that Atlas creates for this organization. If omitted, Atlas doesn't create an organization Service Account for this organization. If specified, this object requires all body parameters. Note that API Keys cannot be specified in the same request. */ export interface OrgServiceAccountRequest { /** Human readable description for the Service Account. */ description: string; /** Human-readable name for the Service Account. The name is modifiable and does not have to be unique. */ name: string; /** A list of organization-level roles for the Service Account. */ roles: OrgServiceAccountRequestRolesList; /** The expiration time of the new Service Account secret, provided in hours. The minimum and maximum allowed expiration times are subject to change and are controlled by the organization's settings. */ secretExpiresAfterHours: number; } export const OrgServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ description: S.String, name: S.String, roles: OrgServiceAccountRequestRolesList, secretExpiresAfterHours: S.Number, }), ).annotate({ identifier: "OrgServiceAccountRequest", }) as any as S.Schema; export interface CreateOrgRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; apiKey?: CreateAtlasOrganizationApiKey; /** Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. */ federationSettingsId?: string; /** Human-readable label that identifies the organization. */ name: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user that you want to assign the Organization Owner role. This user must be a member of the same organization as the calling API key. If you provide `federationSettingsId`, this user must instead have the Organization Owner role on an organization in the specified federation. This parameter is required only when you authenticate with Programmatic API Keys. */ orgOwnerId?: string; serviceAccount?: OrgServiceAccountRequest; /** Disables automatic alert creation. When set to true, no organization level alerts will be created automatically. */ skipDefaultAlertsSettings?: boolean; } export const CreateOrgRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), apiKey: S.optional(CreateAtlasOrganizationApiKey), federationSettingsId: S.optional(S.String), name: S.String, orgOwnerId: S.optional(S.String), serviceAccount: S.optional(OrgServiceAccountRequest), skipDefaultAlertsSettings: S.optional(S.Boolean), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateOrgRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AtlasOrganizationLinksList = Array; export const AtlasOrganizationLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Details that describe the organization. */ export interface AtlasOrganization { /** Unique 24-hexadecimal digit string that identifies the organization. */ id?: string; /** Flag that indicates whether this organization has been deleted. */ isDeleted?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AtlasOrganizationLinksList; /** Human-readable label that identifies the organization. */ name: string; /** Disables automatic alert creation. When set to true, no organization level alerts will be created automatically. */ skipDefaultAlertsSettings?: boolean; } export const AtlasOrganization = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.String), isDeleted: S.optional(S.Boolean), links: S.optional(AtlasOrganizationLinksList), name: S.String, skipDefaultAlertsSettings: S.optional(S.Boolean), }), ).annotate({ identifier: "AtlasOrganization", }) as any as S.Schema; /** Organization roles available for Service Accounts. */ export type OrgServiceAccountRolesItem = | "ORG_MEMBER" | "ORG_READ_ONLY" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_GROUP_CREATOR" | "ORG_OWNER"; export const OrgServiceAccountRolesItem = S.String; /** A list of Organization roles associated with the Service Account. */ export type OrgServiceAccountRolesList = Array; export const OrgServiceAccountRolesList = /*@__PURE__*/ S.Array( OrgServiceAccountRolesItem, ) as any as S.Schema; /** A list of secrets associated with the specified Service Account. */ export type OrgServiceAccountSecretsList = Array; export const OrgServiceAccountSecretsList = /*@__PURE__*/ S.Array( ServiceAccountSecret, ) as any as S.Schema; /** Organization Service Account that Atlas created for the organization. */ export interface OrgServiceAccount { /** The Client ID of the Service Account. */ clientId?: string; /** The date that the Service Account was created on. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** Human readable description for the Service Account. */ description?: string; /** Human-readable name for the Service Account. */ name?: string; /** A list of Organization roles associated with the Service Account. */ roles?: OrgServiceAccountRolesList; /** A list of secrets associated with the specified Service Account. */ secrets?: OrgServiceAccountSecretsList; } export const OrgServiceAccount = /*@__PURE__*/ S.suspend(() => S.Struct({ clientId: S.optional(S.String), createdAt: S.optional(S.String), description: S.optional(S.String), name: S.optional(S.String), roles: S.optional(OrgServiceAccountRolesList), secrets: S.optional(OrgServiceAccountSecretsList), }), ).annotate({ identifier: "OrgServiceAccount", }) as any as S.Schema; export interface CreateOrganizationResponse { apiKey?: ApiKeyUserDetails; /** Unique 24-hexadecimal digit string that identifies the federation that you linked the newly created organization to. */ federationSettingsId?: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user that you assigned the Organization Owner role in the new organization. */ orgOwnerId?: string; organization?: AtlasOrganization; serviceAccount?: OrgServiceAccount; /** Disables automatic alert creation. When set to true, no organization level alerts will be created automatically. */ skipDefaultAlertsSettings?: boolean; } export const CreateOrganizationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.optional(ApiKeyUserDetails), federationSettingsId: S.optional(S.String), orgOwnerId: S.optional(S.String), organization: S.optional(AtlasOrganization), serviceAccount: S.optional(OrgServiceAccount), skipDefaultAlertsSettings: S.optional(S.Boolean), }), ).annotate({ identifier: "CreateOrganizationResponse", }) as any as S.Schema; export type CreateOrgApiKeyRequestRolesItem = | "ORG_OWNER" | "ORG_MEMBER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_READ_ONLY"; export const CreateOrgApiKeyRequestRolesItem = S.String; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this organization. */ export type CreateOrgApiKeyRequestRolesList = Array< CreateOrgApiKeyRequestRolesItem | (string & {}) | null >; export const CreateOrgApiKeyRequestRolesList = /*@__PURE__*/ S.Array( S.NullOr(CreateOrgApiKeyRequestRolesItem), ) as any as S.Schema; export interface CreateOrgApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Purpose or explanation provided when someone created this organization API key. */ desc: string; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this organization. */ roles: CreateOrgApiKeyRequestRolesList; } export const CreateOrgApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), desc: S.String, roles: CreateOrgApiKeyRequestRolesList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/apiKeys", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateOrgApiKeyRequest", }) as any as S.Schema; export interface UserAccessListRequest { /** Range of network addresses that you want to add to the access list for the API key. This parameter requires the range to be expressed in classless inter-domain routing (CIDR) notation of Internet Protocol version 4 or version 6 addresses. You can set a value for this parameter or `ipAddress` but not both in the same request. */ cidrBlock?: string; /** Network address that you want to add to the access list for the API key. This parameter requires the address to be expressed as one Internet Protocol version 4 or version 6 address. You can set a value for this parameter or `cidrBlock` but not both in the same request. */ ipAddress?: string; } export const UserAccessListRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ cidrBlock: S.optional(S.String), ipAddress: S.optional(S.String), }), ).annotate({ identifier: "UserAccessListRequest", }) as any as S.Schema; export type CreateOrgApiKeyAccessListEntryRequestBodyList = Array; export const CreateOrgApiKeyAccessListEntryRequestBodyList = /*@__PURE__*/ S.Array( UserAccessListRequest, ) as any as S.Schema; export interface CreateOrgApiKeyAccessListEntryRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key for which you want to create a new access list entry. */ apiUserId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; body: CreateOrgApiKeyAccessListEntryRequestBodyList; } export const CreateOrgApiKeyAccessListEntryRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), body: CreateOrgApiKeyAccessListEntryRequestBodyList.pipe(T.HttpBody()), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}/accessList", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateOrgApiKeyAccessListEntryRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiUserAccessListResponseViewLinksList = Array; export const PaginatedApiUserAccessListResponseViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type UserAccessListResponseLinksList = Array; export const UserAccessListResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface UserAccessListResponse { /** Range of IP addresses in Classless Inter-Domain Routing (CIDR) notation in the access list for the API key. */ cidrBlock?: string; /** Total number of requests that have originated from the Internet Protocol (IP) address given as the value of the `lastUsedAddress` parameter. */ count?: number; /** Date and time when someone added the network addresses to the specified API access list. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Network address in the access list for the API key. */ ipAddress?: string; /** Date and time when MongoDB Cloud received the most recent request that originated from this Internet Protocol version 4 or version 6 address. The resource returns this parameter when at least one request has originated from this IP address. MongoDB Cloud updates this parameter each time a client accesses the permitted resource. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ lastUsed?: string; /** Network address that issued the most recent request to the API. This parameter requires the address to be expressed as one Internet Protocol version 4 or version 6 address. The resource returns this parameter after this IP address made at least one request. */ lastUsedAddress?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: UserAccessListResponseLinksList; } export const UserAccessListResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ cidrBlock: S.optional(S.String), count: S.optional(S.Number), created: S.optional(S.String), ipAddress: S.optional(S.String), lastUsed: S.optional(S.String), lastUsedAddress: S.optional(S.String), links: S.optional(UserAccessListResponseLinksList), }), ).annotate({ identifier: "UserAccessListResponse", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiUserAccessListResponseViewResultsList = Array; export const PaginatedApiUserAccessListResponseViewResultsList = /*@__PURE__*/ S.Array( UserAccessListResponse, ) as any as S.Schema; export interface PaginatedApiUserAccessListResponseView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiUserAccessListResponseViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiUserAccessListResponseViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiUserAccessListResponseView = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedApiUserAccessListResponseViewLinksList), results: PaginatedApiUserAccessListResponseViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiUserAccessListResponseView", }) as any as S.Schema; /** The list of clusters to be included in the Cost Explorer Query. */ export type CreateOrgBillingCostExplorerUsageProcessRequestClustersList = Array; export const CreateOrgBillingCostExplorerUsageProcessRequestClustersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** The dimension to group the returned usage results by. At least one filter value needs to be provided for a dimension to be used. */ export type CreateOrgBillingCostExplorerUsageProcessRequestGroupBy = | "organizations" | "projects" | "clusters" | "services"; export const CreateOrgBillingCostExplorerUsageProcessRequestGroupBy = S.String; /** The list of organizations to be included in the Cost Explorer Query. */ export type CreateOrgBillingCostExplorerUsageProcessRequestOrganizationsList = Array; export const CreateOrgBillingCostExplorerUsageProcessRequestOrganizationsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** The list of projects to be included in the Cost Explorer Query. */ export type CreateOrgBillingCostExplorerUsageProcessRequestProjectsList = Array; export const CreateOrgBillingCostExplorerUsageProcessRequestProjectsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CreateOrgBillingCostExplorerUsageProcessRequestServicesItem = | "Atlas" | "Clusters" | "Storage" | "Serverless Instances" | "Backup" | "Data Transfer" | "BI Connector" | "DSC Compute" | "DSC Storage" | "Premium Features" | "Atlas Data Federation" | "Atlas Stream Processing" | "App Services" | "Charts" | "Cloud Manager" | "Cloud Manager Standard/Premium" | "Legacy Backup" | "AI Model APIs" | "Automated Embedding" | "Native Reranking" | "Flex Consulting" | "Support" | "Credits"; export const CreateOrgBillingCostExplorerUsageProcessRequestServicesItem = S.String; /** The list of SKU services to be included in the Cost Explorer Query. */ export type CreateOrgBillingCostExplorerUsageProcessRequestServicesList = Array< CreateOrgBillingCostExplorerUsageProcessRequestServicesItem | (string & {}) >; export const CreateOrgBillingCostExplorerUsageProcessRequestServicesList = /*@__PURE__*/ S.Array( CreateOrgBillingCostExplorerUsageProcessRequestServicesItem, ) as any as S.Schema; export interface CreateOrgBillingCostExplorerUsageProcessRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** The list of clusters to be included in the Cost Explorer Query. */ clusters?: CreateOrgBillingCostExplorerUsageProcessRequestClustersList; /** The exclusive ending date for the Cost Explorer query. The date must be the start of a month. */ endDate: string; /** The dimension to group the returned usage results by. At least one filter value needs to be provided for a dimension to be used. */ groupBy?: | CreateOrgBillingCostExplorerUsageProcessRequestGroupBy | (string & {}); /** Flag to control whether usage that matches the filter criteria, but does not have values for all filter criteria is included in response. Default is false, which excludes the partially matching data. */ includePartialMatches?: boolean; /** The list of organizations to be included in the Cost Explorer Query. */ organizations?: CreateOrgBillingCostExplorerUsageProcessRequestOrganizationsList; /** The list of projects to be included in the Cost Explorer Query. */ projects?: CreateOrgBillingCostExplorerUsageProcessRequestProjectsList; /** The list of SKU services to be included in the Cost Explorer Query. */ services?: CreateOrgBillingCostExplorerUsageProcessRequestServicesList; /** The inclusive starting date for the Cost Explorer query. The date must be the start of a month. */ startDate: string; } export const CreateOrgBillingCostExplorerUsageProcessRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), clusters: S.optional( CreateOrgBillingCostExplorerUsageProcessRequestClustersList, ), endDate: S.String, groupBy: S.optional( CreateOrgBillingCostExplorerUsageProcessRequestGroupBy, ), includePartialMatches: S.optional(S.Boolean), organizations: S.optional( CreateOrgBillingCostExplorerUsageProcessRequestOrganizationsList, ), projects: S.optional( CreateOrgBillingCostExplorerUsageProcessRequestProjectsList, ), services: S.optional( CreateOrgBillingCostExplorerUsageProcessRequestServicesList, ), startDate: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/billing/costExplorer/usage", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateOrgBillingCostExplorerUsageProcessRequest", }) as any as S.Schema; export interface CreateOrgBillingCostExplorerUsageProcessResponse {} export const CreateOrgBillingCostExplorerUsageProcessResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "CreateOrgBillingCostExplorerUsageProcessResponse", }) as any as S.Schema; /** Format of the report. */ export type CreateOrgInvoiceReportRequestReportFormat = "CSV"; export const CreateOrgInvoiceReportRequestReportFormat = S.String; /** Type of report to generate. */ export type CreateOrgInvoiceReportRequestReportType = "FOCUS"; export const CreateOrgInvoiceReportRequestReportType = S.String; export interface CreateOrgInvoiceReportRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique string that identifies the invoice for which to generate the report. */ invoiceId: string; /** Version of the report format specification. */ formatSpecVersion?: string; /** Format of the report. */ reportFormat: CreateOrgInvoiceReportRequestReportFormat | (string & {}); /** Type of report to generate. */ reportType: CreateOrgInvoiceReportRequestReportType | (string & {}); } export const CreateOrgInvoiceReportRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), invoiceId: S.String.pipe(T.Label()), formatSpecVersion: S.optional(S.String), reportFormat: CreateOrgInvoiceReportRequestReportFormat, reportType: CreateOrgInvoiceReportRequestReportType, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/reports", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateOrgInvoiceReportRequest", }) as any as S.Schema; /** Format of the generated report. */ export type InvoiceReportResponseReportFormat = "CSV"; export const InvoiceReportResponseReportFormat = S.String; /** Type of the generated report. */ export type InvoiceReportResponseReportType = "FOCUS"; export const InvoiceReportResponseReportType = S.String; /** Current state of the report generation. */ export type InvoiceReportResponseState = | "PENDING" | "RUNNING" | "SUCCEEDED" | "FAILED"; export const InvoiceReportResponseState = S.String; /** Status and details of a previously requested invoice report. */ export interface InvoiceReportResponse { /** URL to download the report. Present only when the report has succeeded. */ downloadUrl?: string; /** Time at which the download URL expires. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Present only when the report has succeeded. */ expiresAt?: string; /** Reason the report failed. Present only when the report has failed. */ failureReason?: string; /** Version of the report format specification. */ formatSpecVersion?: string; /** Unique 24-hexadecimal digit string that identifies the invoice. */ invoiceId: string; /** Format of the generated report. */ reportFormat: InvoiceReportResponseReportFormat; /** Unique 24-hexadecimal digit string that identifies the report. */ reportId: string; /** Type of the generated report. */ reportType: InvoiceReportResponseReportType; /** Current state of the report generation. */ state: InvoiceReportResponseState; } export const InvoiceReportResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ downloadUrl: S.optional(S.String), expiresAt: S.optional(S.String), failureReason: S.optional(S.String), formatSpecVersion: S.optional(S.String), invoiceId: S.String, reportFormat: InvoiceReportResponseReportFormat, reportId: S.String, reportType: InvoiceReportResponseReportType, state: InvoiceReportResponseState, }), ).annotate({ identifier: "InvoiceReportResponse", }) as any as S.Schema; /** IP address access list entries associated with the API key. */ export type CreateOrgLiveMigrationLinkTokenRequestAccessListIpsList = Array; export const CreateOrgLiveMigrationLinkTokenRequestAccessListIpsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateOrgLiveMigrationLinkTokenRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** IP address access list entries associated with the API key. */ accessListIps?: CreateOrgLiveMigrationLinkTokenRequestAccessListIpsList; } export const CreateOrgLiveMigrationLinkTokenRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), accessListIps: S.optional( CreateOrgLiveMigrationLinkTokenRequestAccessListIpsList, ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/liveMigrations/linkTokens", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateOrgLiveMigrationLinkTokenRequest", }) as any as S.Schema; export interface TargetOrg { /** Link token that contains all the information required to complete the link. */ linkToken: string; } export const TargetOrg = /*@__PURE__*/ S.suspend(() => S.Struct({ linkToken: S.String, }), ).annotate({ identifier: "TargetOrg" }) as any as S.Schema; /** List of IP access list entries that define allowed source addresses for this MCP configuration. */ export type CreateOrgMcpConfigRequestIpAccessListList = Array; export const CreateOrgMcpConfigRequestIpAccessListList = /*@__PURE__*/ S.Array( ServiceAccountIPAccessListEntryInput, ) as any as S.Schema; /** Organization roles available for Service Accounts. */ export type CreateOrgMcpConfigRequestRolesItem = | "ORG_MEMBER" | "ORG_READ_ONLY" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_GROUP_CREATOR" | "ORG_OWNER"; export const CreateOrgMcpConfigRequestRolesItem = S.String; /** List of organization roles to assign to this MCP configuration. */ export type CreateOrgMcpConfigRequestRolesList = Array< CreateOrgMcpConfigRequestRolesItem | (string & {}) >; export const CreateOrgMcpConfigRequestRolesList = /*@__PURE__*/ S.Array( CreateOrgMcpConfigRequestRolesItem, ) as any as S.Schema; export interface CreateOrgMcpConfigRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** List of IP access list entries that define allowed source addresses for this MCP configuration. */ ipAccessList?: CreateOrgMcpConfigRequestIpAccessListList; /** Human-readable name that identifies this MCP configuration. */ mcpConfigName: string; /** List of organization roles to assign to this MCP configuration. */ roles: CreateOrgMcpConfigRequestRolesList; } export const CreateOrgMcpConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), ipAccessList: S.optional(CreateOrgMcpConfigRequestIpAccessListList), mcpConfigName: S.String, roles: CreateOrgMcpConfigRequestRolesList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/mcpConfigs", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateOrgMcpConfigRequest", }) as any as S.Schema; /** List of IP access list entries that define allowed source addresses for this MCP configuration. */ export type OrgMcpConfigResponseIpAccessListList = Array; export const OrgMcpConfigResponseIpAccessListList = /*@__PURE__*/ S.Array( ServiceAccountIPAccessListEntry, ) as any as S.Schema; /** Organization roles available for Service Accounts. */ export type OrgMcpConfigResponseRolesItem = | "ORG_MEMBER" | "ORG_READ_ONLY" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_GROUP_CREATOR" | "ORG_OWNER"; export const OrgMcpConfigResponseRolesItem = S.String; /** List of organization roles associated with this MCP configuration. */ export type OrgMcpConfigResponseRolesList = Array; export const OrgMcpConfigResponseRolesList = /*@__PURE__*/ S.Array( OrgMcpConfigResponseRolesItem, ) as any as S.Schema; export interface OrgMcpConfigResponse { /** Unique identifier for the Service Account client associated with this MCP configuration. Use this Service Account to connect to the Atlas Remote MCP. */ clientId?: string; /** Unique identifier for the egress Service Account client associated with this MCP configuration. This Service Account is managed by MongoDB Atlas. */ egressClientId?: string; /** List of IP access list entries that define allowed source addresses for this MCP configuration. */ ipAccessList?: OrgMcpConfigResponseIpAccessListList; /** Unique identifier that identifies this MCP configuration. */ mcpConfigId?: string; /** Human-readable name that identifies this MCP configuration. */ mcpConfigName?: string | null; /** List of organization roles associated with this MCP configuration. */ roles?: OrgMcpConfigResponseRolesList; } export const OrgMcpConfigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ clientId: S.optional(S.String), egressClientId: S.optional(S.String), ipAccessList: S.optional(OrgMcpConfigResponseIpAccessListList), mcpConfigId: S.optional(S.String), mcpConfigName: S.optional(S.NullOr(S.String)), roles: S.optional(OrgMcpConfigResponseRolesList), }), ).annotate({ identifier: "OrgMcpConfigResponse", }) as any as S.Schema; export interface CreateOrgMcpConfigSecretRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** The expiration time of the new Service Account secret, provided in hours. The minimum and maximum allowed expiration times are subject to change and are controlled by the organization's settings. */ secretExpiresAfterHours: number; } export const CreateOrgMcpConfigSecretRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), secretExpiresAfterHours: S.Number, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/mcpConfigs/{mcpConfigId}/secrets", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "CreateOrgMcpConfigSecretRequest", }) as any as S.Schema; export interface ApiAtlasPolicyCreateView { /** A string that defines the permissions for the policy. The syntax used is the Cedar Policy language. */ body: string; } export const ApiAtlasPolicyCreateView = /*@__PURE__*/ S.suspend(() => S.Struct({ body: S.String, }), ).annotate({ identifier: "ApiAtlasPolicyCreateView", }) as any as S.Schema; /** List of policies that make up the atlas resource policy. */ export type CreateOrgResourcePolicyRequestPoliciesList = Array; export const CreateOrgResourcePolicyRequestPoliciesList = /*@__PURE__*/ S.Array( ApiAtlasPolicyCreateView, ) as any as S.Schema; export interface CreateOrgResourcePolicyRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Description of the atlas resource policy. */ description?: string | null; /** Human-readable label that describes the atlas resource policy. */ name: string; /** List of policies that make up the atlas resource policy. */ policies: CreateOrgResourcePolicyRequestPoliciesList; } export const CreateOrgResourcePolicyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), description: S.optional(S.NullOr(S.String)), name: S.String, policies: CreateOrgResourcePolicyRequestPoliciesList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/resourcePolicies", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "CreateOrgResourcePolicyRequest", }) as any as S.Schema; /** The user that last updated the atlas resource policy. */ export interface ApiAtlasUserMetadataView { /** Unique 24-hexadecimal character string that identifies a user. */ id?: string; /** Human-readable label that describes a user. */ name?: string; } export const ApiAtlasUserMetadataView = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.String), name: S.optional(S.String), }), ).annotate({ identifier: "ApiAtlasUserMetadataView", }) as any as S.Schema; export interface ApiAtlasPolicyView { /** A string that defines the permissions for the policy. The syntax used is the Cedar Policy language. */ body?: string; /** Unique 24-hexadecimal character string that identifies the policy. */ id?: string; } export const ApiAtlasPolicyView = /*@__PURE__*/ S.suspend(() => S.Struct({ body: S.optional(S.String), id: S.optional(S.String), }), ).annotate({ identifier: "ApiAtlasPolicyView", }) as any as S.Schema; /** List of policies that make up the atlas resource policy. */ export type ApiAtlasResourcePolicyViewPoliciesList = Array; export const ApiAtlasResourcePolicyViewPoliciesList = /*@__PURE__*/ S.Array( ApiAtlasPolicyView, ) as any as S.Schema; export interface ApiAtlasResourcePolicyView { createdByUser?: ApiAtlasUserMetadataView; /** Date and time in UTC when the atlas resource policy was created. */ createdDate?: string; /** Description of the atlas resource policy. */ description?: string; /** Unique 24-hexadecimal character string that identifies the atlas resource policy. */ id?: string; lastUpdatedByUser?: ApiAtlasUserMetadataView; /** Date and time in UTC when the atlas resource policy was last updated. */ lastUpdatedDate?: string; /** Human-readable label that describes the atlas resource policy. */ name?: string; /** Unique 24-hexadecimal character string that identifies the organization the atlas resource policy belongs to. */ orgId?: string; /** List of policies that make up the atlas resource policy. */ policies?: ApiAtlasResourcePolicyViewPoliciesList; /** A string that identifies the version of the atlas resource policy. */ version?: string; } export const ApiAtlasResourcePolicyView = /*@__PURE__*/ S.suspend(() => S.Struct({ createdByUser: S.optional(ApiAtlasUserMetadataView), createdDate: S.optional(S.String), description: S.optional(S.String), id: S.optional(S.String), lastUpdatedByUser: S.optional(ApiAtlasUserMetadataView), lastUpdatedDate: S.optional(S.String), name: S.optional(S.String), orgId: S.optional(S.String), policies: S.optional(ApiAtlasResourcePolicyViewPoliciesList), version: S.optional(S.String), }), ).annotate({ identifier: "ApiAtlasResourcePolicyView", }) as any as S.Schema; /** Organization roles available for Service Accounts. */ export type CreateOrgServiceAccountRequestRolesItem = | "ORG_MEMBER" | "ORG_READ_ONLY" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_GROUP_CREATOR" | "ORG_OWNER"; export const CreateOrgServiceAccountRequestRolesItem = S.String; /** A list of organization-level roles for the Service Account. */ export type CreateOrgServiceAccountRequestRolesList = Array< CreateOrgServiceAccountRequestRolesItem | (string & {}) >; export const CreateOrgServiceAccountRequestRolesList = /*@__PURE__*/ S.Array( CreateOrgServiceAccountRequestRolesItem, ) as any as S.Schema; export interface CreateOrgServiceAccountRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human readable description for the Service Account. */ description: string; /** Human-readable name for the Service Account. The name is modifiable and does not have to be unique. */ name: string; /** A list of organization-level roles for the Service Account. */ roles: CreateOrgServiceAccountRequestRolesList; /** The expiration time of the new Service Account secret, provided in hours. The minimum and maximum allowed expiration times are subject to change and are controlled by the organization's settings. */ secretExpiresAfterHours: number; } export const CreateOrgServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), description: S.String, name: S.String, roles: CreateOrgServiceAccountRequestRolesList, secretExpiresAfterHours: S.Number, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "CreateOrgServiceAccountRequest", }) as any as S.Schema; export type CreateOrgServiceAccountAccessListRequestBodyList = Array; export const CreateOrgServiceAccountAccessListRequestBodyList = /*@__PURE__*/ S.Array( ServiceAccountIPAccessListEntryInput, ) as any as S.Schema; export interface CreateOrgServiceAccountAccessListRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; body: CreateOrgServiceAccountAccessListRequestBodyList; } export const CreateOrgServiceAccountAccessListRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), body: CreateOrgServiceAccountAccessListRequestBodyList.pipe(T.HttpBody()), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/accessList", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "CreateOrgServiceAccountAccessListRequest", }) as any as S.Schema; export interface CreateOrgServiceAccountSecretRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The expiration time of the new Service Account secret, provided in hours. The minimum and maximum allowed expiration times are subject to change and are controlled by the organization's settings. */ secretExpiresAfterHours: number; } export const CreateOrgServiceAccountSecretRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), secretExpiresAfterHours: S.Number, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/secrets", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "CreateOrgServiceAccountSecretRequest", }) as any as S.Schema; /** List that contains the MongoDB Cloud users in this team. */ export type CreateOrgTeamRequestUsernamesList = Array; export const CreateOrgTeamRequestUsernamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateOrgTeamRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the team. */ name: string; /** List that contains the MongoDB Cloud users in this team. */ usernames: CreateOrgTeamRequestUsernamesList; } export const CreateOrgTeamRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.String, usernames: CreateOrgTeamRequestUsernamesList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/teams", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CreateOrgTeamRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type TeamLinksList = Array; export const TeamLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List that contains the MongoDB Cloud users in this team. */ export type TeamUsernamesList = Array; export const TeamUsernamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface Team { /** Unique 24-hexadecimal digit string that identifies this team. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: TeamLinksList; /** Human-readable label that identifies the team. */ name: string; /** List that contains the MongoDB Cloud users in this team. */ usernames: TeamUsernamesList; } export const Team = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.String), links: S.optional(TeamLinksList), name: S.String, usernames: TeamUsernamesList, }), ).annotate({ identifier: "Team" }) as any as S.Schema; /** List of project level role assignments to assign the MongoDB Cloud user. */ export type OrgUserRolesRequestGroupRoleAssignmentsList = Array; export const OrgUserRolesRequestGroupRoleAssignmentsList = /*@__PURE__*/ S.Array( GroupRoleAssignment, ) as any as S.Schema; /** Organization-level role. */ export type OrgUserRolesRequestOrgRolesItem = | "ORG_OWNER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_READ_ONLY" | "ORG_MEMBER"; export const OrgUserRolesRequestOrgRolesItem = S.String; /** One or more organization level roles to assign the MongoDB Cloud user. */ export type OrgUserRolesRequestOrgRolesList = Array< OrgUserRolesRequestOrgRolesItem | (string & {}) >; export const OrgUserRolesRequestOrgRolesList = /*@__PURE__*/ S.Array( OrgUserRolesRequestOrgRolesItem, ) as any as S.Schema; /** Organization and project level roles to assign the MongoDB Cloud user within one organization. */ export interface OrgUserRolesRequest { /** List of project level role assignments to assign the MongoDB Cloud user. */ groupRoleAssignments?: OrgUserRolesRequestGroupRoleAssignmentsList; /** One or more organization level roles to assign the MongoDB Cloud user. */ orgRoles: OrgUserRolesRequestOrgRolesList; } export const OrgUserRolesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupRoleAssignments: S.optional( OrgUserRolesRequestGroupRoleAssignmentsList, ), orgRoles: OrgUserRolesRequestOrgRolesList, }), ).annotate({ identifier: "OrgUserRolesRequest", }) as any as S.Schema; /** List of unique 24-hexadecimal digit strings that identifies the teams to which this MongoDB Cloud user belongs. */ export type CreateOrgUserRequestTeamIdsList = Array; export const CreateOrgUserRequestTeamIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateOrgUserRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; roles: OrgUserRolesRequest; /** List of unique 24-hexadecimal digit strings that identifies the teams to which this MongoDB Cloud user belongs. */ teamIds?: CreateOrgUserRequestTeamIdsList; /** Email address that represents the username of the MongoDB Cloud user. */ username: string; } export const CreateOrgUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), roles: OrgUserRolesRequest, teamIds: S.optional(CreateOrgUserRequestTeamIdsList), username: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/users", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "CreateOrgUserRequest", }) as any as S.Schema; export interface CutoverGroupLiveMigrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the migration. */ liveMigrationId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const CutoverGroupLiveMigrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), liveMigrationId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "PUT", uri: "/api/atlas/v2/groups/{groupId}/liveMigrations/{liveMigrationId}/cutover", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "CutoverGroupLiveMigrationRequest", }) as any as S.Schema; export interface CutoverGroupLiveMigrationResponse {} export const CutoverGroupLiveMigrationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "CutoverGroupLiveMigrationResponse", }) as any as S.Schema; export type DeauthorizeGroupCloudProviderAccessRoleRequestCloudProvider = | "AWS" | "AZURE" | "GCP"; export const DeauthorizeGroupCloudProviderAccessRoleRequestCloudProvider = S.String; export interface DeauthorizeGroupCloudProviderAccessRoleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cloud provider of the role to deauthorize. */ cloudProvider: | DeauthorizeGroupCloudProviderAccessRoleRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the role. Amazon Web Services (AWS) IAM roles and Google Service Accounts return this value as `roleId`. Azure Service Principals return it as `_id`. */ roleId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeauthorizeGroupCloudProviderAccessRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: DeauthorizeGroupCloudProviderAccessRoleRequestCloudProvider.pipe( T.Label(), ), roleId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/cloudProviderAccess/{cloudProvider}/{roleId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeauthorizeGroupCloudProviderAccessRoleRequest", }) as any as S.Schema; export interface DeauthorizeGroupCloudProviderAccessRoleResponse {} export const DeauthorizeGroupCloudProviderAccessRoleResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeauthorizeGroupCloudProviderAccessRoleResponse", }) as any as S.Schema; export interface DeferGroupMaintenanceWindowRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeferGroupMaintenanceWindowRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/maintenanceWindow/defer", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeferGroupMaintenanceWindowRequest", }) as any as S.Schema; export interface DeferGroupMaintenanceWindowResponse {} export const DeferGroupMaintenanceWindowResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeferGroupMaintenanceWindowResponse", }) as any as S.Schema; export interface DeleteFederationSettingRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; } export const DeleteFederationSettingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteFederationSettingRequest", }) as any as S.Schema; export interface DeleteFederationSettingResponse {} export const DeleteFederationSettingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteFederationSettingResponse", }) as any as S.Schema; export interface DeleteFederationSettingConnectedOrgConfigRoleMappingRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the role mapping that you want to remove. */ id: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeleteFederationSettingConnectedOrgConfigRoleMappingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), orgId: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings/{id}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteFederationSettingConnectedOrgConfigRoleMappingRequest", }) as any as S.Schema; export interface DeleteFederationSettingConnectedOrgConfigRoleMappingResponse {} export const DeleteFederationSettingConnectedOrgConfigRoleMappingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteFederationSettingConnectedOrgConfigRoleMappingResponse", }) as any as S.Schema; export interface DeleteFederationSettingIdentityProviderRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the identity provider to connect. */ identityProviderId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeleteFederationSettingIdentityProviderRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), identityProviderId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "DeleteFederationSettingIdentityProviderRequest", }) as any as S.Schema; export interface DeleteFederationSettingIdentityProviderResponse {} export const DeleteFederationSettingIdentityProviderResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteFederationSettingIdentityProviderResponse", }) as any as S.Schema; export interface DeleteGroupRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupRequest", }) as any as S.Schema; export interface DeleteGroupResponse {} export const DeleteGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupResponse", }) as any as S.Schema; export interface DeleteGroupAccessListEntryRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Access list entry that you want to remove from the project's IP access list. This value can use one of the following: one AWS security group ID, one IP address, or one CIDR block of addresses. For CIDR blocks that use a subnet mask, replace the forward slash (`/`) with its URL-encoded value (`%2F`). When you remove an entry from the IP access list, existing connections from the removed address or addresses may remain open for a variable amount of time. The amount of time it takes MongoDB Cloud to close the connection depends upon several factors, including: - how your application established the connection, - how MongoDB Cloud or the driver using the address behaves, and - which protocol (like TCP or UDP) the connection uses. */ entryValue: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupAccessListEntryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), entryValue: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/accessList/{entryValue}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupAccessListEntryRequest", }) as any as S.Schema; export interface DeleteGroupAccessListEntryResponse {} export const DeleteGroupAccessListEntryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupAccessListEntryResponse", }) as any as S.Schema; export interface DeleteGroupAiModelApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The id of the API key to be deleted. */ apiKeyId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupAiModelApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), apiKeyId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiKeys/{apiKeyId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "DeleteGroupAiModelApiKeyRequest", }) as any as S.Schema; export interface DeleteGroupAiModelApiKeyResponse {} export const DeleteGroupAiModelApiKeyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupAiModelApiKeyResponse", }) as any as S.Schema; export interface DeleteGroupAlertConfigRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration. */ alertConfigId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupAlertConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), alertConfigId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupAlertConfigRequest", }) as any as S.Schema; export interface DeleteGroupAlertConfigResponse {} export const DeleteGroupAlertConfigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupAlertConfigResponse", }) as any as S.Schema; export interface DeleteGroupBackupExportBucketRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal character string that identifies the Export Bucket. */ exportBucketId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeleteGroupBackupExportBucketRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), exportBucketId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupBackupExportBucketRequest", }) as any as S.Schema; export interface DeleteGroupBackupExportBucketResponse {} export const DeleteGroupBackupExportBucketResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteGroupBackupExportBucketResponse", }) as any as S.Schema; export type DeleteGroupBackupPrivateEndpointRequestCloudProvider = "AWS"; export const DeleteGroupBackupPrivateEndpointRequestCloudProvider = S.String; export interface DeleteGroupBackupPrivateEndpointRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cloud provider of the private endpoint to delete. */ cloudProvider: | DeleteGroupBackupPrivateEndpointRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the private endpoint to delete. */ endpointId: string; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeleteGroupBackupPrivateEndpointRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: DeleteGroupBackupPrivateEndpointRequestCloudProvider.pipe( T.Label(), ), endpointId: S.String.pipe(T.Label()), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints/{endpointId}", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "DeleteGroupBackupPrivateEndpointRequest", }) as any as S.Schema; export interface DeleteGroupBackupPrivateEndpointResponse {} export const DeleteGroupBackupPrivateEndpointResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteGroupBackupPrivateEndpointResponse", }) as any as S.Schema; export interface DeleteGroupClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether to retain backup snapshots for the deleted dedicated cluster. */ retainBackups?: boolean; } export const DeleteGroupClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), retainBackups: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "DeleteGroupClusterRequest", }) as any as S.Schema; export interface DeleteGroupClusterResponse {} export const DeleteGroupClusterResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupClusterResponse", }) as any as S.Schema; export interface DeleteGroupClusterBackupScheduleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeleteGroupClusterBackupScheduleRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/schedule", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteGroupClusterBackupScheduleRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider that stores the snapshot copy. */ export type DiskBackupCopySetting20240805CloudProvider = | "AWS" | "AZURE" | "GCP"; export const DiskBackupCopySetting20240805CloudProvider = S.String; /** Unit of time in which MongoDB Cloud measures snapshot copy retention. */ export type DiskBackupTimeBasedCopyPolicyItemRetentionUnit = | "days" | "weeks" | "months" | "years"; export const DiskBackupTimeBasedCopyPolicyItemRetentionUnit = S.String; /** Human-readable label that identifies the frequency type associated with the copy policy. */ export type DiskBackupTimeBasedCopyPolicyItemFrequencyType = | "daily" | "hourly" | "weekly" | "monthly" | "yearly" | "ondemand"; export const DiskBackupTimeBasedCopyPolicyItemFrequencyType = S.String; /** Specifications for one time-based copy policy item. */ export interface DiskBackupTimeBasedCopyPolicyItem { /** Unit of time in which MongoDB Cloud measures snapshot copy retention. */ retentionUnit: DiskBackupTimeBasedCopyPolicyItemRetentionUnit; /** Duration in days, weeks, months, or years that MongoDB Cloud retains the snapshot copy. */ retentionValue: number; /** Human-readable label that identifies the frequency type associated with the copy policy. */ frequencyType: DiskBackupTimeBasedCopyPolicyItemFrequencyType; /** Unique 24-hexadecimal digit string that identifies this copy policy item. */ id?: string; } export const DiskBackupTimeBasedCopyPolicyItem = /*@__PURE__*/ S.suspend(() => S.Struct({ retentionUnit: DiskBackupTimeBasedCopyPolicyItemRetentionUnit, retentionValue: S.Number, frequencyType: DiskBackupTimeBasedCopyPolicyItemFrequencyType, id: S.optional(S.String), }), ).annotate({ identifier: "DiskBackupTimeBasedCopyPolicyItem", }) as any as S.Schema; /** Specifications for one copy policy item. */ export type DiskBackupCopyPolicyItem = DiskBackupTimeBasedCopyPolicyItem; export const DiskBackupCopyPolicyItem = S.Unknown as any as S.Schema; /** List that contains a document for each copy policy item. Allowed only when `copyPolicyItemsEnabled` is true. Responses omit this field when `copyPolicyItemsEnabled` is false or omitted. */ export type DiskBackupCopySetting20240805CopyPolicyItemsList = Array; export const DiskBackupCopySetting20240805CopyPolicyItemsList = /*@__PURE__*/ S.Array( DiskBackupCopyPolicyItem, ) as any as S.Schema; export type DiskBackupCopySetting20240805FrequenciesItem = | "HOURLY" | "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY" | "ON_DEMAND"; export const DiskBackupCopySetting20240805FrequenciesItem = S.String; /** Deprecated: use `copyPolicyItems`, which defines which snapshots to copy and their retention. Allowed only when `copyPolicyItemsEnabled` is false or omitted. Responses omit this field when `copyPolicyItemsEnabled` is true. */ export type DiskBackupCopySetting20240805FrequenciesList = Array; export const DiskBackupCopySetting20240805FrequenciesList = /*@__PURE__*/ S.Array( DiskBackupCopySetting20240805FrequenciesItem, ) as any as S.Schema; /** Copy setting item in the desired backup policy. */ export interface DiskBackupCopySetting20240805 { /** Human-readable label that identifies the cloud provider that stores the snapshot copy. */ cloudProvider?: DiskBackupCopySetting20240805CloudProvider; /** List that contains a document for each copy policy item. Allowed only when `copyPolicyItemsEnabled` is true. Responses omit this field when `copyPolicyItemsEnabled` is false or omitted. */ copyPolicyItems?: DiskBackupCopySetting20240805CopyPolicyItemsList; /** Deprecated: use `copyPolicyItems`, which defines which snapshots to copy and their retention. Allowed only when `copyPolicyItemsEnabled` is false or omitted. Responses omit this field when `copyPolicyItemsEnabled` is true. */ frequencies?: DiskBackupCopySetting20240805FrequenciesList; /** Number of most recent snapshots to copy to the target region. If specified, Atlas copies this number of the most recent snapshots rather than using a frequency-based or policy-based copy schedule. This field is mutually exclusive with `frequencies` and `copyPolicyItems`. */ lastNumberOfSnapshots?: number; /** Target region to copy snapshots belonging to `zoneId`. Please supply the 'Atlas Region'. */ regionName?: string; /** Flag that indicates whether to copy the oplogs to the target region. You can use the oplogs to perform point-in-time restores. */ shouldCopyOplogs?: boolean; /** Unique 24-hexadecimal digit string that identifies the zone in a cluster. For global clusters, there can be multiple zones to choose from. For sharded clusters and replica set clusters, there is only one zone in the cluster. To find the Zone Id, do a GET request to Return One Cluster from One Project and consult the `replicationSpecs` array. */ zoneId: string; } export const DiskBackupCopySetting20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(DiskBackupCopySetting20240805CloudProvider), copyPolicyItems: S.optional( DiskBackupCopySetting20240805CopyPolicyItemsList, ), frequencies: S.optional(DiskBackupCopySetting20240805FrequenciesList), lastNumberOfSnapshots: S.optional(S.Number), regionName: S.optional(S.String), shouldCopyOplogs: S.optional(S.Boolean), zoneId: S.String, }), ).annotate({ identifier: "DiskBackupCopySetting20240805", }) as any as S.Schema; /** List that contains a document for each copy setting item in the desired backup policy. */ export type DiskBackupSnapshotSchedule20240805OutputCopySettingsList = Array; export const DiskBackupSnapshotSchedule20240805OutputCopySettingsList = /*@__PURE__*/ S.Array( DiskBackupCopySetting20240805, ) as any as S.Schema; /** Human-readable label that indicates the rate at which the export policy item occurs. */ export type AutoExportPolicyViewFrequencyType = "monthly" | "yearly"; export const AutoExportPolicyViewFrequencyType = S.String; /** Policy for automatically exporting Cloud Backup Snapshots. */ export interface AutoExportPolicyView { /** Unique 24-hexadecimal character string that identifies the Export Bucket. */ exportBucketId?: string; /** Human-readable label that indicates the rate at which the export policy item occurs. */ frequencyType?: AutoExportPolicyViewFrequencyType | (string & {}); } export const AutoExportPolicyView = /*@__PURE__*/ S.suspend(() => S.Struct({ exportBucketId: S.optional(S.String), frequencyType: S.optional(AutoExportPolicyViewFrequencyType), }), ).annotate({ identifier: "AutoExportPolicyView", }) as any as S.Schema; /** The frequency type for the extra retention settings for the cluster. */ export type ExtraRetentionSettingFrequencyType = | "HOURLY" | "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY" | "ON_DEMAND"; export const ExtraRetentionSettingFrequencyType = S.String; /** Extra retention setting item in the desired backup policy. */ export interface ExtraRetentionSetting { /** The frequency type for the extra retention settings for the cluster. */ frequencyType?: ExtraRetentionSettingFrequencyType | (string & {}); /** The number of extra retention days for the cluster. */ retentionDays?: number; } export const ExtraRetentionSetting = /*@__PURE__*/ S.suspend(() => S.Struct({ frequencyType: S.optional(ExtraRetentionSettingFrequencyType), retentionDays: S.optional(S.Number), }), ).annotate({ identifier: "ExtraRetentionSetting", }) as any as S.Schema; /** List that contains a document for each extra retention setting item in the desired backup policy. */ export type DiskBackupSnapshotSchedule20240805OutputExtraRetentionSettingsList = Array; export const DiskBackupSnapshotSchedule20240805OutputExtraRetentionSettingsList = /*@__PURE__*/ S.Array( ExtraRetentionSetting, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupSnapshotSchedule20240805OutputLinksList = Array; export const DiskBackupSnapshotSchedule20240805OutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Number that indicates the frequency interval for a set of Snapshots. A value of `1` specifies the first instance of the corresponding `frequencyType`. - In a yearly policy item, `1` indicates that the yearly Snapshot occurs on the first day of January and `12` indicates the first day of December. - In a monthly policy item, `1` indicates that the monthly Snapshot occurs on the first day of the month and `40` indicates the last day of the month. - In a weekly policy item, `1` indicates that the weekly Snapshot occurs on Monday and `7` indicates Sunday. - In an hourly policy item, you can set the frequency interval to `1`, `2`, `4`, `6`, `8`, or `12`. For hourly policy items for NVMe clusters, MongoDB Cloud accepts only `12` as the frequency interval value. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ export type DiskBackupApiPolicyItemFrequencyInterval = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 40; export const DiskBackupApiPolicyItemFrequencyInterval = S.Number; /** Human-readable label that identifies the frequency type associated with the backup policy. */ export type DiskBackupApiPolicyItemFrequencyType = | "daily" | "hourly" | "weekly" | "monthly" | "yearly" | "ondemand"; export const DiskBackupApiPolicyItemFrequencyType = S.String; /** Unit of time in which MongoDB Cloud measures Snapshot retention. */ export type DiskBackupApiPolicyItemRetentionUnit = | "days" | "weeks" | "months" | "years"; export const DiskBackupApiPolicyItemRetentionUnit = S.String; /** Specifications for one policy. */ export interface DiskBackupApiPolicyItem { /** Number that indicates the frequency interval for a set of Snapshots. A value of `1` specifies the first instance of the corresponding `frequencyType`. - In a yearly policy item, `1` indicates that the yearly Snapshot occurs on the first day of January and `12` indicates the first day of December. - In a monthly policy item, `1` indicates that the monthly Snapshot occurs on the first day of the month and `40` indicates the last day of the month. - In a weekly policy item, `1` indicates that the weekly Snapshot occurs on Monday and `7` indicates Sunday. - In an hourly policy item, you can set the frequency interval to `1`, `2`, `4`, `6`, `8`, or `12`. For hourly policy items for NVMe clusters, MongoDB Cloud accepts only `12` as the frequency interval value. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ frequencyInterval: DiskBackupApiPolicyItemFrequencyInterval; /** Human-readable label that identifies the frequency type associated with the backup policy. */ frequencyType: DiskBackupApiPolicyItemFrequencyType; /** Unique 24-hexadecimal digit string that identifies this backup policy item. */ id?: string; /** Unit of time in which MongoDB Cloud measures Snapshot retention. */ retentionUnit: DiskBackupApiPolicyItemRetentionUnit; /** Duration in days, weeks, months, or years that MongoDB Cloud retains the Snapshot. For less frequent policy items, MongoDB Cloud requires that you specify a value greater than or equal to the value specified for more frequent policy items. For example: If the hourly policy item specifies a retention of two days, you must specify two days or greater for the retention of the weekly policy item. */ retentionValue: number; } export const DiskBackupApiPolicyItem = /*@__PURE__*/ S.suspend(() => S.Struct({ frequencyInterval: DiskBackupApiPolicyItemFrequencyInterval, frequencyType: DiskBackupApiPolicyItemFrequencyType, id: S.optional(S.String), retentionUnit: DiskBackupApiPolicyItemRetentionUnit, retentionValue: S.Number, }), ).annotate({ identifier: "DiskBackupApiPolicyItem", }) as any as S.Schema; /** List that contains the specifications for one policy. */ export type AdvancedDiskBackupSnapshotSchedulePolicyPolicyItemsList = Array; export const AdvancedDiskBackupSnapshotSchedulePolicyPolicyItemsList = /*@__PURE__*/ S.Array( DiskBackupApiPolicyItem, ) as any as S.Schema; /** List that contains a document for each backup policy item in the desired backup policy. */ export interface AdvancedDiskBackupSnapshotSchedulePolicy { /** Unique 24-hexadecimal digit string that identifies this backup policy. */ id?: string; /** List that contains the specifications for one policy. */ policyItems: AdvancedDiskBackupSnapshotSchedulePolicyPolicyItemsList; } export const AdvancedDiskBackupSnapshotSchedulePolicy = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.optional(S.String), policyItems: AdvancedDiskBackupSnapshotSchedulePolicyPolicyItemsList, }), ).annotate({ identifier: "AdvancedDiskBackupSnapshotSchedulePolicy", }) as any as S.Schema; /** Rules set for this backup schedule. */ export type DiskBackupSnapshotSchedule20240805OutputPoliciesList = Array; export const DiskBackupSnapshotSchedule20240805OutputPoliciesList = /*@__PURE__*/ S.Array( AdvancedDiskBackupSnapshotSchedulePolicy, ) as any as S.Schema; export interface DiskBackupSnapshotSchedule20240805Output { /** Flag that indicates whether the copy settings are automatically managed by MongoDB Cloud and sync to the cluster topology. */ autoCopySettingsEnabled?: boolean; /** Flag that indicates whether MongoDB Cloud automatically exports Cloud Backup Snapshots to the Export Bucket. */ autoExportEnabled?: boolean; /** Unique 24-hexadecimal digit string that identifies the cluster with the Snapshot you want to return. */ clusterId?: string; /** Human-readable label that identifies the cluster with the Snapshot you want to return. */ clusterName?: string; /** Flag that indicates whether copy settings use `copyPolicyItems` instead of `frequencies`. When true, requests must supply `copyPolicyItems` and responses return `copyPolicyItems` only. When false or omitted, requests must supply `frequencies` and responses return `frequencies` only. */ copyPolicyItemsEnabled?: boolean; /** List that contains a document for each copy setting item in the desired backup policy. */ copySettings?: DiskBackupSnapshotSchedule20240805OutputCopySettingsList; export?: AutoExportPolicyView; /** List that contains a document for each extra retention setting item in the desired backup policy. */ extraRetentionSettings?: DiskBackupSnapshotSchedule20240805OutputExtraRetentionSettingsList; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupSnapshotSchedule20240805OutputLinksList; /** Date and time when MongoDB Cloud takes the next Snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ nextSnapshot?: string; /** Rules set for this backup schedule. */ policies: DiskBackupSnapshotSchedule20240805OutputPoliciesList; /** Hour of day in Coordinated Universal Time (UTC) that represents when MongoDB Cloud takes the Snapshot. */ referenceHourOfDay?: number; /** Minute of the `referenceHourOfDay` that represents when MongoDB Cloud takes the Snapshot. */ referenceMinuteOfHour?: number; /** Number of previous days that you can restore back to with Continuous Cloud Backup accuracy. You must specify a positive, non-zero integer. This parameter applies to continuous Cloud Backups only. */ restoreWindowDays?: number; /** Flag that indicates whether to use organization and project names instead of organization and project UUIDs in the path to the metadata files that MongoDB Cloud uploads to your Export Bucket. */ useOrgAndGroupNamesInExportPrefix?: boolean; } export const DiskBackupSnapshotSchedule20240805Output = /*@__PURE__*/ S.suspend( () => S.Struct({ autoCopySettingsEnabled: S.optional(S.Boolean), autoExportEnabled: S.optional(S.Boolean), clusterId: S.optional(S.String), clusterName: S.optional(S.String), copyPolicyItemsEnabled: S.optional(S.Boolean), copySettings: S.optional( DiskBackupSnapshotSchedule20240805OutputCopySettingsList, ), export: S.optional(AutoExportPolicyView), extraRetentionSettings: S.optional( DiskBackupSnapshotSchedule20240805OutputExtraRetentionSettingsList, ), links: S.optional(DiskBackupSnapshotSchedule20240805OutputLinksList), nextSnapshot: S.optional(S.String), policies: DiskBackupSnapshotSchedule20240805OutputPoliciesList, referenceHourOfDay: S.optional(S.Number), referenceMinuteOfHour: S.optional(S.Number), restoreWindowDays: S.optional(S.Number), useOrgAndGroupNamesInExportPrefix: S.optional(S.Boolean), }), ).annotate({ identifier: "DiskBackupSnapshotSchedule20240805Output", }) as any as S.Schema; export interface DeleteGroupClusterBackupSnapshotRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupClusterBackupSnapshotRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupClusterBackupSnapshotRequest", }) as any as S.Schema; export interface DeleteGroupClusterBackupSnapshotResponse {} export const DeleteGroupClusterBackupSnapshotResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteGroupClusterBackupSnapshotResponse", }) as any as S.Schema; export interface DeleteGroupClusterBackupSnapshotShardedClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupClusterBackupSnapshotShardedClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/shardedCluster/{snapshotId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupClusterBackupSnapshotShardedClusterRequest", }) as any as S.Schema; export interface DeleteGroupClusterBackupSnapshotShardedClusterResponse {} export const DeleteGroupClusterBackupSnapshotShardedClusterResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupClusterBackupSnapshotShardedClusterResponse", }) as any as S.Schema; export interface DeleteGroupClusterGlobalWriteCustomZoneMappingRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupClusterGlobalWriteCustomZoneMappingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/customZoneMapping", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteGroupClusterGlobalWriteCustomZoneMappingRequest", }) as any as S.Schema; export interface DeleteGroupClusterGlobalWriteManagedNamespacesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the database that contains the collection. */ db?: string; /** Human-readable label that identifies the collection associated with the managed namespace. */ collection?: string; } export const DeleteGroupClusterGlobalWriteManagedNamespacesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), db: S.optional(S.String.pipe(T.Query())), collection: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/managedNamespaces", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteGroupClusterGlobalWriteManagedNamespacesRequest", }) as any as S.Schema; export interface DeleteGroupClusterOnlineArchiveRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster that contains the collection from which you want to remove an online archive. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the online archive to delete. */ archiveId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupClusterOnlineArchiveRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), archiveId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives/{archiveId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupClusterOnlineArchiveRequest", }) as any as S.Schema; export interface DeleteGroupClusterOnlineArchiveResponse {} export const DeleteGroupClusterOnlineArchiveResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteGroupClusterOnlineArchiveResponse", }) as any as S.Schema; export interface DeleteGroupClusterOverloadSimulationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster on which the overload protection simulation is running. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the overload protection simulation. */ simulationId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupClusterOverloadSimulationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), simulationId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/overloadSimulations/{simulationId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "DeleteGroupClusterOverloadSimulationRequest", }) as any as S.Schema; export interface DeleteGroupClusterOverloadSimulationResponse {} export const DeleteGroupClusterOverloadSimulationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupClusterOverloadSimulationResponse", }) as any as S.Schema; export interface DeleteGroupClusterSearchDeploymentRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the cluster to delete. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupClusterSearchDeploymentRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/deployment", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "DeleteGroupClusterSearchDeploymentRequest", }) as any as S.Schema; export interface DeleteGroupClusterSearchDeploymentResponse {} export const DeleteGroupClusterSearchDeploymentResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupClusterSearchDeploymentResponse", }) as any as S.Schema; export interface DeleteGroupClusterSearchIndexRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Name of the cluster that contains the database and collection with one or more Application Search indexes. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the Atlas Search index. Use the [Get All Atlas Search Indexes for a Collection API](https://docs.atlas.mongodb.com/reference/api/fts-indexes-get-all/) endpoint to find the IDs of all Atlas Search indexes. */ indexId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupClusterSearchIndexRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), indexId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "DeleteGroupClusterSearchIndexRequest", }) as any as S.Schema; export interface DeleteGroupClusterSearchIndexResponse {} export const DeleteGroupClusterSearchIndexResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteGroupClusterSearchIndexResponse", }) as any as S.Schema; export interface DeleteGroupClusterSearchIndexByNameRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Name of the cluster that contains the database and collection with one or more Application Search indexes. */ clusterName: string; /** Label that identifies the database that contains the collection with one or more Atlas Search indexes. */ databaseName: string; /** Name of the collection that contains one or more Atlas Search indexes. */ collectionName: string; /** Name of the Atlas Search index to delete. */ indexName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupClusterSearchIndexByNameRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), collectionName: S.String.pipe(T.Label()), indexName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "DeleteGroupClusterSearchIndexByNameRequest", }) as any as S.Schema; export interface DeleteGroupClusterSearchIndexByNameResponse {} export const DeleteGroupClusterSearchIndexByNameResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupClusterSearchIndexByNameResponse", }) as any as S.Schema; export interface DeleteGroupContainerRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud network container that you want to remove. */ containerId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupContainerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), containerId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/containers/{containerId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupContainerRequest", }) as any as S.Schema; export interface DeleteGroupContainerResponse {} export const DeleteGroupContainerResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupContainerResponse", }) as any as S.Schema; export interface DeleteGroupCustomDbRoleRoleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the role for the request. This name must be unique for this custom role in this project. */ roleName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupCustomDbRoleRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), roleName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupCustomDbRoleRoleRequest", }) as any as S.Schema; export interface DeleteGroupCustomDbRoleRoleResponse {} export const DeleteGroupCustomDbRoleRoleResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupCustomDbRoleRoleResponse", }) as any as S.Schema; export interface DeleteGroupDatabaseUserRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The database against which the database user authenticates. Database users must provide both a username and authentication database to log into MongoDB. If the user authenticates with AWS IAM, x.509, LDAP, or OIDC Workload this value should be `$external`. If the user authenticates with SCRAM-SHA or OIDC Workforce, this value should be `admin`. */ databaseName: string; /** Human-readable label that represents the user that authenticates to MongoDB. The format of this label depends on the method of authentication: | Authentication Method | Parameter Needed | Parameter Value | username Format | |---|---|---|---| | AWS IAM | `awsIAMType` | `ROLE` | ARN | | AWS IAM | `awsIAMType` | `USER` | ARN | | x.509 | `x509Type` | `CUSTOMER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | x.509 | `x509Type` | `MANAGED` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `USER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `GROUP` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | OIDC Workforce | `oidcAuthType` | `IDP_GROUP` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP group name | | OIDC Workload | `oidcAuthType` | `USER` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP user name | | SCRAM-SHA | `awsIAMType`, `x509Type`, `ldapAuthType`, `oidcAuthType` | `NONE` | Alphanumeric string | */ username: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupDatabaseUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), username: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupDatabaseUserRequest", }) as any as S.Schema; export interface DeleteGroupDatabaseUserResponse {} export const DeleteGroupDatabaseUserResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupDatabaseUserResponse", }) as any as S.Schema; export interface DeleteGroupDataFederationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the federated database instance to remove. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupDataFederationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupDataFederationRequest", }) as any as S.Schema; export interface DeleteGroupDataFederationResponse {} export const DeleteGroupDataFederationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupDataFederationResponse", }) as any as S.Schema; export type DeleteGroupDataFederationLimitRequestLimitName = | "bytesProcessed.query" | "bytesProcessed.daily" | "bytesProcessed.weekly" | "bytesProcessed.monthly"; export const DeleteGroupDataFederationLimitRequestLimitName = S.String; export interface DeleteGroupDataFederationLimitRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the federated database instance to which the query limit applies. */ tenantName: string; /** Human-readable label that identifies this data federation instance limit. | Limit Name | Description | Default | | --- | --- | --- | | `bytesProcessed.query` | Limit on the number of bytes processed during a single data federation query | N/A | | `bytesProcessed.daily` | Limit on the number of bytes processed for the data federation instance for the current day | N/A | | `bytesProcessed.weekly` | Limit on the number of bytes processed for the data federation instance for the current week | N/A | | `bytesProcessed.monthly` | Limit on the number of bytes processed for the data federation instance for the current month | N/A | */ limitName: DeleteGroupDataFederationLimitRequestLimitName | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeleteGroupDataFederationLimitRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), limitName: DeleteGroupDataFederationLimitRequestLimitName.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/limits/{limitName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupDataFederationLimitRequest", }) as any as S.Schema; export interface DeleteGroupDataFederationLimitResponse {} export const DeleteGroupDataFederationLimitResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteGroupDataFederationLimitResponse", }) as any as S.Schema; export interface DeleteGroupFlexClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the flex cluster. */ name: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupFlexClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/flexClusters/{name}", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "DeleteGroupFlexClusterRequest", }) as any as S.Schema; export interface DeleteGroupFlexClusterResponse {} export const DeleteGroupFlexClusterResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupFlexClusterResponse", }) as any as S.Schema; export type DeleteGroupIntegrationRequestIntegrationType = | "PAGER_DUTY" | "SLACK" | "DATADOG" | "NEW_RELIC" | "OPS_GENIE" | "VICTOR_OPS" | "WEBHOOK" | "HIP_CHAT" | "PROMETHEUS" | "MICROSOFT_TEAMS"; export const DeleteGroupIntegrationRequestIntegrationType = S.String; export interface DeleteGroupIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the service which you want to integrate with MongoDB Cloud. */ integrationType: DeleteGroupIntegrationRequestIntegrationType | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), integrationType: DeleteGroupIntegrationRequestIntegrationType.pipe( T.Label(), ), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/integrations/{integrationType}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupIntegrationRequest", }) as any as S.Schema; export interface DeleteGroupIntegrationResponse {} export const DeleteGroupIntegrationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupIntegrationResponse", }) as any as S.Schema; export type DeleteGroupLimitRequestLimitName = | "atlas.project.security.databaseAccess.users" | "atlas.project.deployment.clusters" | "atlas.project.deployment.serverlessMTMs" | "atlas.project.security.databaseAccess.customRoles" | "atlas.project.security.networkAccess.entries" | "atlas.project.security.networkAccess.crossRegionEntries" | "atlas.project.deployment.nodesPerPrivateLinkRegion" | "dataFederation.bytesProcessed.query" | "dataFederation.bytesProcessed.daily" | "dataFederation.bytesProcessed.weekly" | "dataFederation.bytesProcessed.monthly" | "atlas.project.deployment.privateServiceConnectionsPerRegionGroup" | "atlas.project.deployment.privateServiceConnectionsSubnetMask"; export const DeleteGroupLimitRequestLimitName = S.String; export interface DeleteGroupLimitRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this project limit. | Limit Name | Description | Default | API Override Limit | | --- | --- | --- | --- | | `atlas.project.deployment.clusters` | Limit on the number of clusters in this project | 25 | 100 | | `atlas.project.deployment.nodesPerPrivateLinkRegion` | Limit on AWS PrivateLink addressable target nodes per region in this project. For sharded clusters using optimized (load-balanced) connection strings, `currentUsage` doesn't grow with the number of `mongos` — the load balancer is counted as a single addressable target regardless of how many `mongos` sit behind it. | 50 | 90 | | `atlas.project.security.databaseAccess.customRoles` | Limit on the number of custom roles in this project | 100 | 1400 | | `atlas.project.security.databaseAccess.users` | Limit on the number of database users in this project | 100 | 100 | | `atlas.project.security.networkAccess.crossRegionEntries` | Limit on the number of cross-region network access entries in this project | 40 | 220 | | `atlas.project.security.networkAccess.entries` | Limit on the number of network access entries in this project | 200 | 20 | | `dataFederation.bytesProcessed.query` | Limit on the number of bytes processed during a single Data Federation query | N/A | N/A | | `dataFederation.bytesProcessed.daily` | Limit on the number of bytes processed across all Data Federation tenants for the current day | N/A | N/A | | `dataFederation.bytesProcessed.weekly` | Limit on the number of bytes processed across all Data Federation tenants for the current week | N/A | N/A | | `dataFederation.bytesProcessed.monthly` | Limit on the number of bytes processed across all Data Federation tenants for the current month | N/A | N/A | | `atlas.project.deployment.privateServiceConnectionsPerRegionGroup` | Number of Private Service Connections per Region Group | 50 | 100| | `atlas.project.deployment.privateServiceConnectionsSubnetMask` | Subnet mask for GCP PSC Networks. Has lower limit of 20. | 27 | 27| */ limitName: DeleteGroupLimitRequestLimitName | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupLimitRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), limitName: DeleteGroupLimitRequestLimitName.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/limits/{limitName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupLimitRequest", }) as any as S.Schema; export interface DeleteGroupLimitResponse {} export const DeleteGroupLimitResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupLimitResponse", }) as any as S.Schema; export interface DeleteGroupLogIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the log integration configuration. */ id: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupLogIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/logIntegrations/{id}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "DeleteGroupLogIntegrationRequest", }) as any as S.Schema; export interface DeleteGroupLogIntegrationResponse {} export const DeleteGroupLogIntegrationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupLogIntegrationResponse", }) as any as S.Schema; export interface DeleteGroupMcpConfigRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the MCP configuration to delete. */ mcpConfigId: string; /** Flag that indicates whether to delete the MCP configuration even if it has active secrets. If false and active secrets exist, the request returns an error. Defaults to false. */ cascading?: boolean; } export const DeleteGroupMcpConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), cascading: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/mcpConfigs/{mcpConfigId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "DeleteGroupMcpConfigRequest", }) as any as S.Schema; export interface DeleteGroupMcpConfigResponse {} export const DeleteGroupMcpConfigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupMcpConfigResponse", }) as any as S.Schema; export interface DeleteGroupMcpConfigSecretRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** Unique 24-hexadecimal digit string that identifies the secret. */ secretId: string; } export const DeleteGroupMcpConfigSecretRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), secretId: S.String.pipe(T.Label()), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/mcpConfigs/{mcpConfigId}/secrets/{secretId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "DeleteGroupMcpConfigSecretRequest", }) as any as S.Schema; export interface DeleteGroupMcpConfigSecretResponse {} export const DeleteGroupMcpConfigSecretResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupMcpConfigSecretResponse", }) as any as S.Schema; export interface DeleteGroupMetricIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the metric integration configuration. */ metricIntegrationId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupMetricIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), metricIntegrationId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/metricIntegrations/{metricIntegrationId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "DeleteGroupMetricIntegrationRequest", }) as any as S.Schema; export interface DeleteGroupMetricIntegrationResponse {} export const DeleteGroupMetricIntegrationResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteGroupMetricIntegrationResponse", }) as any as S.Schema; export interface DeleteGroupPeerRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the network peering connection that you want to delete. */ peerId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupPeerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), peerId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/peers/{peerId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupPeerRequest", }) as any as S.Schema; export interface DeleteGroupPeerResponse {} export const DeleteGroupPeerResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupPeerResponse", }) as any as S.Schema; export type DeleteGroupPrivateEndpointEndpointServiceRequestCloudProvider = | "AWS" | "AZURE" | "GCP"; export const DeleteGroupPrivateEndpointEndpointServiceRequestCloudProvider = S.String; export interface DeleteGroupPrivateEndpointEndpointServiceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Cloud service provider that manages this private endpoint service. */ cloudProvider: | DeleteGroupPrivateEndpointEndpointServiceRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the private endpoint service that you want to delete. */ endpointServiceId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupPrivateEndpointEndpointServiceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: DeleteGroupPrivateEndpointEndpointServiceRequestCloudProvider.pipe( T.Label(), ), endpointServiceId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupPrivateEndpointEndpointServiceRequest", }) as any as S.Schema; export interface DeleteGroupPrivateEndpointEndpointServiceResponse {} export const DeleteGroupPrivateEndpointEndpointServiceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupPrivateEndpointEndpointServiceResponse", }) as any as S.Schema; export type DeleteGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider = | "AWS" | "AZURE" | "GCP"; export const DeleteGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider = S.String; export interface DeleteGroupPrivateEndpointEndpointServiceEndpointRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Cloud service provider that manages this private endpoint. */ cloudProvider: | DeleteGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the private endpoint service from which you want to delete a private endpoint. */ endpointServiceId: string; /** Unique string that identifies the private endpoint you want to delete. The format of the `endpointId` parameter differs for AWS and Azure. You must URL encode the `endpointId` for Azure private endpoints. */ endpointId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupPrivateEndpointEndpointServiceEndpointRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: DeleteGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider.pipe( T.Label(), ), endpointServiceId: S.String.pipe(T.Label()), endpointId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}/endpoint/{endpointId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupPrivateEndpointEndpointServiceEndpointRequest", }) as any as S.Schema; export interface DeleteGroupPrivateEndpointEndpointServiceEndpointResponse {} export const DeleteGroupPrivateEndpointEndpointServiceEndpointResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupPrivateEndpointEndpointServiceEndpointResponse", }) as any as S.Schema; export interface DeleteGroupPrivateNetworkSettingEndpointIdRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 22-character alphanumeric string that identifies the private endpoint to remove. Atlas Data Federation supports AWS private endpoints using the AWS PrivateLink feature. */ endpointId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupPrivateNetworkSettingEndpointIdRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), endpointId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/privateNetworkSettings/endpointIds/{endpointId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupPrivateNetworkSettingEndpointIdRequest", }) as any as S.Schema; export interface DeleteGroupPrivateNetworkSettingEndpointIdResponse {} export const DeleteGroupPrivateNetworkSettingEndpointIdResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupPrivateNetworkSettingEndpointIdResponse", }) as any as S.Schema; export interface DeleteGroupServiceAccountRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteGroupServiceAccountRequest", }) as any as S.Schema; export interface DeleteGroupServiceAccountResponse {} export const DeleteGroupServiceAccountResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupServiceAccountResponse", }) as any as S.Schema; export interface DeleteGroupServiceAccountAccessListEntryRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Client ID of the Service Account. */ clientId: string; /** One IP address or multiple IP addresses represented as one CIDR block. When specifying a CIDR block with a subnet mask, such as 192.0.2.0/24, use the URL-encoded value %2F for the forward slash /. */ ipAddress: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupServiceAccountAccessListEntryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), ipAddress: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/accessList/{ipAddress}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteGroupServiceAccountAccessListEntryRequest", }) as any as S.Schema; export interface DeleteGroupServiceAccountAccessListEntryResponse {} export const DeleteGroupServiceAccountAccessListEntryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupServiceAccountAccessListEntryResponse", }) as any as S.Schema; export interface DeleteGroupServiceAccountSecretRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Client ID of the Service Account. */ clientId: string; /** Unique 24-hexadecimal digit string that identifies the secret. */ secretId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupServiceAccountSecretRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), secretId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/secrets/{secretId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteGroupServiceAccountSecretRequest", }) as any as S.Schema; export interface DeleteGroupServiceAccountSecretResponse {} export const DeleteGroupServiceAccountSecretResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteGroupServiceAccountSecretResponse", }) as any as S.Schema; export interface DeleteGroupStreamConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream connection. */ connectionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupStreamConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), connectionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "DeleteGroupStreamConnectionRequest", }) as any as S.Schema; export interface DeleteGroupStreamConnectionResponse {} export const DeleteGroupStreamConnectionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupStreamConnectionResponse", }) as any as S.Schema; export interface DeleteGroupStreamConnectionFailoverConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream connection. */ connectionName: string; /** Label that identifies the stream failover connection id. */ failoverConnectionId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupStreamConnectionFailoverConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), connectionName: S.String.pipe(T.Label()), failoverConnectionId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}/failoverConnections/{failoverConnectionId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "DeleteGroupStreamConnectionFailoverConnectionRequest", }) as any as S.Schema; export interface DeleteGroupStreamConnectionFailoverConnectionResponse {} export const DeleteGroupStreamConnectionFailoverConnectionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupStreamConnectionFailoverConnectionResponse", }) as any as S.Schema; export interface DeleteGroupStreamPrivateLinkConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique ID that identifies the Private Link connection. */ connectionId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupStreamPrivateLinkConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), connectionId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/streams/privateLinkConnections/{connectionId}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "DeleteGroupStreamPrivateLinkConnectionRequest", }) as any as S.Schema; export interface DeleteGroupStreamPrivateLinkConnectionResponse {} export const DeleteGroupStreamPrivateLinkConnectionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupStreamPrivateLinkConnectionResponse", }) as any as S.Schema; export interface DeleteGroupStreamProcessorRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream processor. */ processorName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupStreamProcessorRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), processorName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "DeleteGroupStreamProcessorRequest", }) as any as S.Schema; export interface DeleteGroupStreamProcessorResponse {} export const DeleteGroupStreamProcessorResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupStreamProcessorResponse", }) as any as S.Schema; export interface DeleteGroupStreamVpcPeeringConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The VPC Peering Connection id. */ id: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeleteGroupStreamVpcPeeringConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/streams/vpcPeeringConnections/{id}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "DeleteGroupStreamVpcPeeringConnectionRequest", }) as any as S.Schema; export interface DeleteGroupStreamVpcPeeringConnectionResponse {} export const DeleteGroupStreamVpcPeeringConnectionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupStreamVpcPeeringConnectionResponse", }) as any as S.Schema; export interface DeleteGroupStreamWorkspaceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace to delete. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupStreamWorkspaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "DeleteGroupStreamWorkspaceRequest", }) as any as S.Schema; export interface DeleteGroupStreamWorkspaceResponse {} export const DeleteGroupStreamWorkspaceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteGroupStreamWorkspaceResponse", }) as any as S.Schema; export interface DeleteGroupUserSecurityLdapUserToDnMappingRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteGroupUserSecurityLdapUserToDnMappingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/userSecurity/ldap/userToDNMapping", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteGroupUserSecurityLdapUserToDnMappingRequest", }) as any as S.Schema; export interface DeleteGroupUserSecurityLdapUserToDnMappingResponse {} export const DeleteGroupUserSecurityLdapUserToDnMappingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGroupUserSecurityLdapUserToDnMappingResponse", }) as any as S.Schema; export interface DeleteOrgRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeleteOrgRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteOrgRequest", }) as any as S.Schema; export interface DeleteOrgResponse {} export const DeleteOrgResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteOrgResponse", }) as any as S.Schema; export interface DeleteOrgApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key. */ apiUserId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteOrgApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteOrgApiKeyRequest", }) as any as S.Schema; export interface DeleteOrgApiKeyResponse {} export const DeleteOrgApiKeyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteOrgApiKeyResponse", }) as any as S.Schema; export interface DeleteOrgApiKeyAccessListEntryRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key for which you want to remove access list entries. */ apiUserId: string; /** One IP address or multiple IP addresses represented as one CIDR block to limit requests to API resources in the specified organization. When adding a CIDR block with a subnet mask, such as 192.0.2.0/24, use the URL-encoded value %2F for the forward slash /. */ ipAddress: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteOrgApiKeyAccessListEntryRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), ipAddress: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}/accessList/{ipAddress}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteOrgApiKeyAccessListEntryRequest", }) as any as S.Schema; export interface DeleteOrgApiKeyAccessListEntryResponse {} export const DeleteOrgApiKeyAccessListEntryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteOrgApiKeyAccessListEntryResponse", }) as any as S.Schema; export interface DeleteOrgLiveMigrationLinkTokensRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DeleteOrgLiveMigrationLinkTokensRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/liveMigrations/linkTokens", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteOrgLiveMigrationLinkTokensRequest", }) as any as S.Schema; export interface DeleteOrgLiveMigrationLinkTokensResponse {} export const DeleteOrgLiveMigrationLinkTokensResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteOrgLiveMigrationLinkTokensResponse", }) as any as S.Schema; export interface DeleteOrgMcpConfigRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique identifier of the MCP configuration to delete. */ mcpConfigId: string; /** Flag that indicates whether to delete the MCP configuration even if it has active secrets. If false and active secrets exist, the request returns an error. Defaults to false. */ cascading?: boolean; } export const DeleteOrgMcpConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), cascading: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/mcpConfigs/{mcpConfigId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "DeleteOrgMcpConfigRequest", }) as any as S.Schema; export interface DeleteOrgMcpConfigResponse {} export const DeleteOrgMcpConfigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteOrgMcpConfigResponse", }) as any as S.Schema; export interface DeleteOrgMcpConfigSecretRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** Unique 24-hexadecimal digit string that identifies the secret. */ secretId: string; } export const DeleteOrgMcpConfigSecretRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), secretId: S.String.pipe(T.Label()), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/mcpConfigs/{mcpConfigId}/secrets/{secretId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "DeleteOrgMcpConfigSecretRequest", }) as any as S.Schema; export interface DeleteOrgMcpConfigSecretResponse {} export const DeleteOrgMcpConfigSecretResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteOrgMcpConfigSecretResponse", }) as any as S.Schema; export interface DeleteOrgResourcePolicyRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies an atlas resource policy. */ resourcePolicyId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteOrgResourcePolicyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), resourcePolicyId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/resourcePolicies/{resourcePolicyId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteOrgResourcePolicyRequest", }) as any as S.Schema; export interface DeleteOrgResourcePolicyResponse {} export const DeleteOrgResourcePolicyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteOrgResourcePolicyResponse", }) as any as S.Schema; export interface DeleteOrgServiceAccountRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteOrgServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteOrgServiceAccountRequest", }) as any as S.Schema; export interface DeleteOrgServiceAccountResponse {} export const DeleteOrgServiceAccountResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteOrgServiceAccountResponse", }) as any as S.Schema; export interface DeleteOrgServiceAccountAccessListEntryRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The Client ID of the Service Account. */ clientId: string; /** One IP address or multiple IP addresses represented as one CIDR block. When specifying a CIDR block with a subnet mask, such as 192.0.2.0/24, use the URL-encoded value %2F for the forward slash /. */ ipAddress: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteOrgServiceAccountAccessListEntryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), ipAddress: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/accessList/{ipAddress}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteOrgServiceAccountAccessListEntryRequest", }) as any as S.Schema; export interface DeleteOrgServiceAccountAccessListEntryResponse {} export const DeleteOrgServiceAccountAccessListEntryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteOrgServiceAccountAccessListEntryResponse", }) as any as S.Schema; export interface DeleteOrgServiceAccountSecretRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The Client ID of the Service Account. */ clientId: string; /** Unique 24-hexadecimal digit string that identifies the secret. */ secretId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteOrgServiceAccountSecretRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), secretId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/secrets/{secretId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "DeleteOrgServiceAccountSecretRequest", }) as any as S.Schema; export interface DeleteOrgServiceAccountSecretResponse {} export const DeleteOrgServiceAccountSecretResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DeleteOrgServiceAccountSecretResponse", }) as any as S.Schema; export interface DeleteOrgTeamRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the team that you want to delete. */ teamId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DeleteOrgTeamRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), teamId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/teams/{teamId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DeleteOrgTeamRequest", }) as any as S.Schema; export interface DeleteOrgTeamResponse {} export const DeleteOrgTeamResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DeleteOrgTeamResponse", }) as any as S.Schema; export interface DisableGroupBackupCompliancePolicyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DisableGroupBackupCompliancePolicyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/backupCompliancePolicy", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "DisableGroupBackupCompliancePolicyRequest", }) as any as S.Schema; export interface DisableGroupBackupCompliancePolicyResponse {} export const DisableGroupBackupCompliancePolicyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DisableGroupBackupCompliancePolicyResponse", }) as any as S.Schema; export interface DisableGroupManagedSlowMsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const DisableGroupManagedSlowMsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/managedSlowMs/disable", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DisableGroupManagedSlowMsRequest", }) as any as S.Schema; export interface DisableGroupManagedSlowMsResponse {} export const DisableGroupManagedSlowMsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DisableGroupManagedSlowMsResponse", }) as any as S.Schema; export interface DisableGroupUserSecurityCustomerX509Request { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const DisableGroupUserSecurityCustomerX509Request = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/userSecurity/customerX509", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "DisableGroupUserSecurityCustomerX509Request", }) as any as S.Schema; export interface DisableGroupUserSecurityCustomerX509Response {} export const DisableGroupUserSecurityCustomerX509Response = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DisableGroupUserSecurityCustomerX509Response", }) as any as S.Schema; export type DownloadGroupClusterLogRequestLogName = | "mongodb" | "mongos" | "mongodb-audit-log" | "mongos-audit-log"; export const DownloadGroupClusterLogRequestLogName = S.String; export interface DownloadGroupClusterLogRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the host that stores the log files that you want to download. */ hostName: string; /** Human-readable label that identifies the log file that you want to return. To return audit logs, enable *Database Auditing* for the specified project. */ logName: DownloadGroupClusterLogRequestLogName | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Specifies the date and time for the ending point of the range of log messages to retrieve, in the number of seconds that have elapsed since the UNIX epoch. This value will default to 24 hours after the start date. If the start date is also unspecified, the value will default to the time of the request. */ endDate?: number; /** Specifies the date and time for the starting point of the range of log messages to retrieve, in the number of seconds that have elapsed since the UNIX epoch. This value will default to 24 hours prior to the end date. If the end date is also unspecified, the value will default to 24 hours prior to the time of the request. */ startDate?: number; } export const DownloadGroupClusterLogRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), hostName: S.String.pipe(T.Label()), logName: DownloadGroupClusterLogRequestLogName.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), endDate: S.optional(S.Number.pipe(T.Query())), startDate: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{hostName}/logs/{logName}.gz", code: 200, accept: "application/vnd.atlas.2023-02-01+gzip", }), ), ).annotate({ identifier: "DownloadGroupClusterLogRequest", }) as any as S.Schema; export interface DownloadGroupClusterLogResponse {} export const DownloadGroupClusterLogResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "DownloadGroupClusterLogResponse", }) as any as S.Schema; export interface DownloadGroupClusterOnlineArchiveQueryLogsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster that contains the collection for which you want to return the query logs from one online archive. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Date and time that specifies the starting point for the range of log messages to return. This resource expresses this value in the number of seconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). */ startDate?: number; /** Date and time that specifies the end point for the range of log messages to return. This resource expresses this value in the number of seconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). */ endDate?: number; /** Flag that indicates whether to download logs for queries against your online archive only or both your online archive and cluster. */ archiveOnly?: boolean; } export const DownloadGroupClusterOnlineArchiveQueryLogsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), startDate: S.optional(S.Number.pipe(T.Query())), endDate: S.optional(S.Number.pipe(T.Query())), archiveOnly: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives/queryLogs.gz", code: 200, accept: "application/vnd.atlas.2023-01-01+gzip", }), ), ).annotate({ identifier: "DownloadGroupClusterOnlineArchiveQueryLogsRequest", }) as any as S.Schema; export interface DownloadGroupClusterOnlineArchiveQueryLogsResponse {} export const DownloadGroupClusterOnlineArchiveQueryLogsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DownloadGroupClusterOnlineArchiveQueryLogsResponse", }) as any as S.Schema; export interface DownloadGroupDataFederationQueryLogsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the federated database instance for which you want to download query logs. */ tenantName: string; /** Timestamp that specifies the end point for the range of log messages to download. MongoDB Cloud expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. */ endDate?: number; /** Timestamp that specifies the starting point for the range of log messages to download. MongoDB Cloud expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. */ startDate?: number; } export const DownloadGroupDataFederationQueryLogsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), endDate: S.optional(S.Number.pipe(T.Query())), startDate: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/queryLogs.gz", code: 200, accept: "application/vnd.atlas.2023-01-01+gzip", }), ), ).annotate({ identifier: "DownloadGroupDataFederationQueryLogsRequest", }) as any as S.Schema; export interface DownloadGroupDataFederationQueryLogsResponse {} export const DownloadGroupDataFederationQueryLogsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DownloadGroupDataFederationQueryLogsResponse", }) as any as S.Schema; export interface DownloadGroupFlexClusterBackupRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the flex cluster. */ name: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Unique 24-hexadecimal digit string that identifies the snapshot to download. */ snapshotId: string; } export const DownloadGroupFlexClusterBackupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), snapshotId: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/download", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "DownloadGroupFlexClusterBackupRequest", }) as any as S.Schema; export interface DownloadGroupStreamAuditLogsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Timestamp that specifies the end point for the range of log messages to download. MongoDB Cloud expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. */ endDate?: number; /** Timestamp that specifies the starting point for the range of log messages to download. MongoDB Cloud expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. */ startDate?: number; /** Name of the stream processor to download logs for. An empty string will download logs for all stream processors in the workspace. */ spName?: string; } export const DownloadGroupStreamAuditLogsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), endDate: S.optional(S.Number.pipe(T.Query())), startDate: S.optional(S.Number.pipe(T.Query())), spName: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/auditLogs", code: 200, accept: "application/vnd.atlas.2023-02-01+gzip", }), ), ).annotate({ identifier: "DownloadGroupStreamAuditLogsRequest", }) as any as S.Schema; export interface DownloadGroupStreamAuditLogsResponse {} export const DownloadGroupStreamAuditLogsResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "DownloadGroupStreamAuditLogsResponse", }) as any as S.Schema; export interface DownloadGroupStreamOperationalLogsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Timestamp that specifies the end point for the range of log messages to download. MongoDB Cloud expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. */ endDate?: number; /** Timestamp that specifies the starting point for the range of log messages to download. MongoDB Cloud expresses this timestamp in the number of seconds that have elapsed since the UNIX epoch. */ startDate?: number; /** Name of the stream processor to download logs for. An empty string will download logs for all stream processors in the workspace. */ spName?: string; } export const DownloadGroupStreamOperationalLogsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), endDate: S.optional(S.Number.pipe(T.Query())), startDate: S.optional(S.Number.pipe(T.Query())), spName: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}:downloadOperationalLogs", code: 200, accept: "application/vnd.atlas.2025-03-12+gzip", }), ), ).annotate({ identifier: "DownloadGroupStreamOperationalLogsRequest", }) as any as S.Schema; export interface DownloadGroupStreamOperationalLogsResponse {} export const DownloadGroupStreamOperationalLogsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "DownloadGroupStreamOperationalLogsResponse", }) as any as S.Schema; export interface EnableGroupManagedSlowMsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const EnableGroupManagedSlowMsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/managedSlowMs/enable", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "EnableGroupManagedSlowMsRequest", }) as any as S.Schema; export interface EnableGroupManagedSlowMsResponse {} export const EnableGroupManagedSlowMsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "EnableGroupManagedSlowMsResponse", }) as any as S.Schema; export interface EndGroupClusterOutageSimulationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster that is undergoing outage simulation. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const EndGroupClusterOutageSimulationRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "EndGroupClusterOutageSimulationRequest", }) as any as S.Schema; /** The cloud provider of the region that undergoes the outage simulation. */ export type AtlasClusterOutageSimulationOutageFilterCloudProvider = | "AWS" | "GCP" | "AZURE"; export const AtlasClusterOutageSimulationOutageFilterCloudProvider = S.String; /** The type of cluster outage to simulate. `REGION` simulates a cluster outage for a region. */ export type AtlasClusterOutageSimulationOutageFilterType = "REGION"; export const AtlasClusterOutageSimulationOutageFilterType = S.String; export interface AtlasClusterOutageSimulationOutageFilter { /** The cloud provider of the region that undergoes the outage simulation. */ cloudProvider?: | AtlasClusterOutageSimulationOutageFilterCloudProvider | (string & {}); /** The name of the region to undergo an outage simulation. */ regionName?: string; /** The type of cluster outage to simulate. `REGION` simulates a cluster outage for a region. */ type?: AtlasClusterOutageSimulationOutageFilterType | (string & {}); } export const AtlasClusterOutageSimulationOutageFilter = /*@__PURE__*/ S.suspend( () => S.Struct({ cloudProvider: S.optional( AtlasClusterOutageSimulationOutageFilterCloudProvider, ), regionName: S.optional(S.String), type: S.optional(AtlasClusterOutageSimulationOutageFilterType), }), ).annotate({ identifier: "AtlasClusterOutageSimulationOutageFilter", }) as any as S.Schema; /** List of settings that specify the type of cluster outage simulation. */ export type ClusterOutageSimulationOutageFiltersList = Array; export const ClusterOutageSimulationOutageFiltersList = /*@__PURE__*/ S.Array( AtlasClusterOutageSimulationOutageFilter, ) as any as S.Schema; /** Phase of the outage simulation. | State | Indication | |-------------|------------| | `START_REQUESTED` | User has requested cluster outage simulation.| | `STARTING` | MongoDB Cloud is starting cluster outage simulation.| | `SIMULATING` | MongoDB Cloud is simulating cluster outage.| | `RECOVERY_REQUESTED` | User has requested recovery from the simulated outage.| | `RECOVERING` | MongoDB Cloud is recovering the cluster from the simulated outage.| | `COMPLETE` | MongoDB Cloud has completed the cluster outage simulation.| */ export type ClusterOutageSimulationState = | "START_REQUESTED" | "STARTING" | "SIMULATING" | "RECOVERY_REQUESTED" | "RECOVERING" | "COMPLETE"; export const ClusterOutageSimulationState = S.String; export interface ClusterOutageSimulation { /** Human-readable label that identifies the cluster that undergoes outage simulation. */ clusterName?: string; /** Date and time when MongoDB Cloud expires the outage simulation. This parameter expresses its value in the ISO 8601 timestamp format in UTC. If not provided, defaults to 3 days from the start date. */ expirationDate?: string; /** Unique 24-hexadecimal character string that identifies the project that contains the cluster to undergo outage simulation. */ groupId?: string; /** Unique 24-hexadecimal character string that identifies the outage simulation. */ id?: string; /** List of settings that specify the type of cluster outage simulation. */ outageFilters?: ClusterOutageSimulationOutageFiltersList; /** Date and time when MongoDB Cloud started the regional outage simulation. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ startRequestDate?: string; /** Phase of the outage simulation. | State | Indication | |-------------|------------| | `START_REQUESTED` | User has requested cluster outage simulation.| | `STARTING` | MongoDB Cloud is starting cluster outage simulation.| | `SIMULATING` | MongoDB Cloud is simulating cluster outage.| | `RECOVERY_REQUESTED` | User has requested recovery from the simulated outage.| | `RECOVERING` | MongoDB Cloud is recovering the cluster from the simulated outage.| | `COMPLETE` | MongoDB Cloud has completed the cluster outage simulation.| */ state?: ClusterOutageSimulationState; } export const ClusterOutageSimulation = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterName: S.optional(S.String), expirationDate: S.optional(S.String), groupId: S.optional(S.String), id: S.optional(S.String), outageFilters: S.optional(ClusterOutageSimulationOutageFiltersList), startRequestDate: S.optional(S.String), state: S.optional(ClusterOutageSimulationState), }), ).annotate({ identifier: "ClusterOutageSimulation", }) as any as S.Schema; export interface GetFederationSettingConnectedOrgConfigRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the connected organization configuration to return. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetFederationSettingConnectedOrgConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetFederationSettingConnectedOrgConfigRequest", }) as any as S.Schema; export interface GetFederationSettingConnectedOrgConfigRoleMappingRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the role mapping that you want to return. */ id: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetFederationSettingConnectedOrgConfigRoleMappingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), orgId: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings/{id}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetFederationSettingConnectedOrgConfigRoleMappingRequest", }) as any as S.Schema; export interface GetFederationSettingIdentityProviderRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique string that identifies the identity provider to connect. If using an API version before 11-15-2023, use the legacy 20-hexadecimal digit id. This id can be found within the Federation Management Console > Identity Providers tab by clicking the info icon in the IdP ID row of a configured identity provider. For all other versions, use the 24-hexadecimal digit id. */ identityProviderId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetFederationSettingIdentityProviderRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), identityProviderId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "GetFederationSettingIdentityProviderRequest", }) as any as S.Schema; /** List that contains the domains associated with the identity provider. */ export type FederationSamlIdentityProviderAssociatedDomainsList = Array; export const FederationSamlIdentityProviderAssociatedDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List that contains the connected organization configurations associated with the identity provider. */ export type FederationSamlIdentityProviderAssociatedOrgsList = Array; export const FederationSamlIdentityProviderAssociatedOrgsList = /*@__PURE__*/ S.Array( ConnectedOrgConfig, ) as any as S.Schema; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ export type FederationSamlIdentityProviderIdpType = "WORKFORCE" | "WORKLOAD"; export const FederationSamlIdentityProviderIdpType = S.String; export interface X509Certificate { /** Latest date that the certificate is valid. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ notAfter?: string; /** Earliest date that the certificate is valid. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ notBefore?: string; } export const X509Certificate = /*@__PURE__*/ S.suspend(() => S.Struct({ notAfter: S.optional(S.String), notBefore: S.optional(S.String), }), ).annotate({ identifier: "X509Certificate", }) as any as S.Schema; /** List of certificates in the file. */ export type PemFileInfoCertificatesList = Array; export const PemFileInfoCertificatesList = /*@__PURE__*/ S.Array( X509Certificate, ) as any as S.Schema; /** PEM file information for the identity provider's current certificates. */ export interface PemFileInfo { /** List of certificates in the file. */ certificates?: PemFileInfoCertificatesList; /** Human-readable label given to the file. */ fileName?: string; } export const PemFileInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ certificates: S.optional(PemFileInfoCertificatesList), fileName: S.optional(S.String), }), ).annotate({ identifier: "PemFileInfo" }) as any as S.Schema; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ export type FederationSamlIdentityProviderProtocol = "SAML" | "OIDC"; export const FederationSamlIdentityProviderProtocol = S.String; /** SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. */ export type FederationSamlIdentityProviderRequestBinding = | "HTTP-POST" | "HTTP-REDIRECT"; export const FederationSamlIdentityProviderRequestBinding = S.String; /** Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. */ export type FederationSamlIdentityProviderResponseSignatureAlgorithm = | "SHA-1" | "SHA-256"; export const FederationSamlIdentityProviderResponseSignatureAlgorithm = S.String; /** String enum that indicates whether the identity provider is active. */ export type FederationSamlIdentityProviderStatus = "ACTIVE" | "INACTIVE"; export const FederationSamlIdentityProviderStatus = S.String; export interface FederationSamlIdentityProvider { /** URL that points to where to send the SAML response. */ acsUrl?: string | null; /** List that contains the domains associated with the identity provider. */ associatedDomains?: FederationSamlIdentityProviderAssociatedDomainsList; /** List that contains the connected organization configurations associated with the identity provider. */ associatedOrgs?: FederationSamlIdentityProviderAssociatedOrgsList; /** Unique string that identifies the intended audience of the SAML assertion. */ audienceUri?: string | null; /** Date that the identity provider was created on. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** The description of the identity provider. */ description?: string | null; /** Human-readable label that identifies the identity provider. */ displayName?: string; /** Unique 24-hexadecimal digit string that identifies the identity provider. */ id: string; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ idpType?: FederationSamlIdentityProviderIdpType; /** Unique string that identifies the issuer of the SAML Assertion or OIDC metadata/discovery document URL. */ issuerUri?: string; /** Legacy 20-hexadecimal digit string that identifies the identity provider. */ oktaIdpId: string | null; pemFileInfo?: PemFileInfo; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ protocol?: FederationSamlIdentityProviderProtocol; /** SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. */ requestBinding?: FederationSamlIdentityProviderRequestBinding; /** Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. */ responseSignatureAlgorithm?: FederationSamlIdentityProviderResponseSignatureAlgorithm; /** Custom SSO URL for the identity provider. */ slug?: string | null; /** Flag that indicates whether the identity provider has SSO debug enabled. */ ssoDebugEnabled?: boolean; /** URL that points to the receiver of the SAML authentication request. */ ssoUrl?: string; /** String enum that indicates whether the identity provider is active. */ status?: FederationSamlIdentityProviderStatus; /** Date that the identity provider was last updated on. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updatedAt?: string | null; } export const FederationSamlIdentityProvider = /*@__PURE__*/ S.suspend(() => S.Struct({ acsUrl: S.optional(S.NullOr(S.String)), associatedDomains: S.optional( FederationSamlIdentityProviderAssociatedDomainsList, ), associatedOrgs: S.optional( FederationSamlIdentityProviderAssociatedOrgsList, ), audienceUri: S.optional(S.NullOr(S.String)), createdAt: S.optional(S.String), description: S.optional(S.NullOr(S.String)), displayName: S.optional(S.String), id: S.String, idpType: S.optional(FederationSamlIdentityProviderIdpType), issuerUri: S.optional(S.String), oktaIdpId: S.NullOr(S.String), pemFileInfo: S.optional(PemFileInfo), protocol: S.optional(FederationSamlIdentityProviderProtocol), requestBinding: S.optional(FederationSamlIdentityProviderRequestBinding), responseSignatureAlgorithm: S.optional( FederationSamlIdentityProviderResponseSignatureAlgorithm, ), slug: S.optional(S.NullOr(S.String)), ssoDebugEnabled: S.optional(S.Boolean), ssoUrl: S.optional(S.String), status: S.optional(FederationSamlIdentityProviderStatus), updatedAt: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "FederationSamlIdentityProvider", }) as any as S.Schema; export type FederationIdentityProvider = | FederationSamlIdentityProvider | FederationOidcWorkforceIdentityProvider | FederationOidcWorkloadIdentityProvider; export const FederationIdentityProvider = S.Unknown as any as S.Schema; export interface GetFederationSettingIdentityProviderMetadataRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Legacy 20-hexadecimal digit string that identifies the identity provider. This id can be found within the Federation Management Console > Identity Providers tab by clicking the info icon in the IdP ID row of a configured identity provider. */ identityProviderId: string; } export const GetFederationSettingIdentityProviderMetadataRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), identityProviderId: S.String.pipe(T.Label()), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}/metadata.xml", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetFederationSettingIdentityProviderMetadataRequest", }) as any as S.Schema; export type GetFederationSettingIdentityProviderMetadataResponse = string; export const GetFederationSettingIdentityProviderMetadataResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({ identifier: "GetFederationSettingIdentityProviderMetadataResponse", }) as any as S.Schema; export interface GetGroupRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupRequest", }) as any as S.Schema; export interface GetGroupAccessListEntryRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Access list entry that you want to return from the project's IP access list. This value can use one of the following: one AWS security group ID, one IP address, or one CIDR block of addresses. For CIDR blocks that use a subnet mask, replace the forward slash (`/`) with its URL-encoded value (`%2F`). */ entryValue: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAccessListEntryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), entryValue: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/accessList/{entryValue}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupAccessListEntryRequest", }) as any as S.Schema; export interface GetGroupAccessListStatusRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Network address or cloud provider security construct that identifies which project access list entry to be verified. */ entryValue: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAccessListStatusRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), entryValue: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/accessList/{entryValue}/status", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupAccessListStatusRequest", }) as any as S.Schema; /** State of the access list entry when MongoDB Cloud made this request. `ACTIVE`: This access list entry applies to all relevant cloud providers. `PENDING`: MongoDB Cloud has started to add access list entry. This access list entry may not apply to all cloud providers at the time of this request. `FAILED`: MongoDB Cloud didn't succeed in adding this access list entry. */ export type NetworkPermissionEntryStatusSTATUS = | "PENDING" | "FAILED" | "ACTIVE"; export const NetworkPermissionEntryStatusSTATUS = S.String; export interface NetworkPermissionEntryStatus { /** State of the access list entry when MongoDB Cloud made this request. `ACTIVE`: This access list entry applies to all relevant cloud providers. `PENDING`: MongoDB Cloud has started to add access list entry. This access list entry may not apply to all cloud providers at the time of this request. `FAILED`: MongoDB Cloud didn't succeed in adding this access list entry. */ STATUS: NetworkPermissionEntryStatusSTATUS; } export const NetworkPermissionEntryStatus = /*@__PURE__*/ S.suspend(() => S.Struct({ STATUS: NetworkPermissionEntryStatusSTATUS, }), ).annotate({ identifier: "NetworkPermissionEntryStatus", }) as any as S.Schema; export type EventTypeForNdsGroupCase0 = | "ALERT_ACKNOWLEDGED_AUDIT" | "ALERT_UNACKNOWLEDGED_AUDIT"; export const EventTypeForNdsGroupCase0 = S.String; export type EventTypeForNdsGroupCase1 = | "ALERT_CONFIG_DISABLED_AUDIT" | "ALERT_CONFIG_ENABLED_AUDIT" | "ALERT_CONFIG_ADDED_AUDIT" | "ALERT_CONFIG_DELETED_AUDIT" | "ALERT_CONFIG_CHANGED_AUDIT"; export const EventTypeForNdsGroupCase1 = S.String; export type EventTypeForNdsGroupCase2 = | "API_KEY_CREATED" | "API_KEY_DELETED" | "API_KEY_ACCESS_LIST_ENTRY_ADDED" | "API_KEY_ACCESS_LIST_ENTRY_DELETED" | "API_KEY_ROLES_CHANGED" | "API_KEY_DESCRIPTION_CHANGED" | "API_KEY_ADDED_TO_GROUP" | "API_KEY_REMOVED_FROM_GROUP" | "API_KEY_UI_IP_ACCESS_LIST_INHERITANCE_ENABLED" | "API_KEY_UI_IP_ACCESS_LIST_INHERITANCE_DISABLED"; export const EventTypeForNdsGroupCase2 = S.String; export type EventTypeForNdsGroupCase3 = | "SERVICE_ACCOUNT_CREATED" | "SERVICE_ACCOUNT_DELETED" | "SERVICE_ACCOUNT_ROLES_CHANGED" | "SERVICE_ACCOUNT_DETAILS_CHANGED" | "SERVICE_ACCOUNT_ADDED_TO_GROUP" | "SERVICE_ACCOUNT_REMOVED_FROM_GROUP" | "SERVICE_ACCOUNT_ACCESS_LIST_ENTRY_ADDED" | "SERVICE_ACCOUNT_ACCESS_LIST_ENTRY_DELETED" | "SERVICE_ACCOUNT_SECRET_ADDED" | "SERVICE_ACCOUNT_SECRET_DELETED" | "SERVICE_ACCOUNT_UI_IP_ACCESS_LIST_INHERITANCE_ENABLED" | "SERVICE_ACCOUNT_UI_IP_ACCESS_LIST_INHERITANCE_DISABLED"; export const EventTypeForNdsGroupCase3 = S.String; export type EventTypeForNdsGroupCase4 = | "URL_CONFIRMATION" | "SUCCESSFUL_DEPLOY" | "DEPLOYMENT_FAILURE" | "DEPLOYMENT_MODEL_CHANGE_SUCCESS" | "DEPLOYMENT_MODEL_CHANGE_FAILURE" | "REQUEST_RATE_LIMIT" | "LOG_FORWARDER_FAILURE" | "INSIDE_REALM_METRIC_THRESHOLD" | "OUTSIDE_REALM_METRIC_THRESHOLD" | "SYNC_FAILURE" | "TRIGGER_FAILURE" | "TRIGGER_AUTO_RESUMED"; export const EventTypeForNdsGroupCase4 = S.String; export type EventTypeForNdsGroupCase5 = | "AUTO_INDEXING_ENABLED" | "AUTO_INDEXING_DISABLED" | "AUTO_INDEXING_INDEX_BUILD_SUBMITTED" | "AUTO_INDEXING_SLOW_INDEX_BUILD" | "AUTO_INDEXING_STALLED_INDEX_BUILD" | "AUTO_INDEXING_FAILED_INDEX_BUILD" | "AUTO_INDEXING_COMPLETED_INDEX_BUILD" | "AUTO_INDEXING_STARTED_INDEX_BUILD"; export const EventTypeForNdsGroupCase5 = S.String; export type EventTypeForNdsGroupCase6 = "AUTOMATION_CONFIG_PUBLISHED_AUDIT"; export const EventTypeForNdsGroupCase6 = S.String; export type EventTypeForNdsGroupCase7 = | "PEER_CREATED" | "PEER_DELETED" | "PEER_UPDATED"; export const EventTypeForNdsGroupCase7 = S.String; export type EventTypeForNdsGroupCase8 = | "AZURE_PEER_CREATED" | "AZURE_PEER_UPDATED" | "AZURE_PEER_ACTIVE" | "AZURE_PEER_DELETED"; export const EventTypeForNdsGroupCase8 = S.String; export type EventTypeForNdsGroupCase9 = | "CREDIT_CARD_CURRENT" | "CREDIT_CARD_ABOUT_TO_EXPIRE" | "PENDING_INVOICE_UNDER_THRESHOLD" | "PENDING_INVOICE_OVER_THRESHOLD" | "DAILY_BILL_UNDER_THRESHOLD" | "DAILY_BILL_OVER_THRESHOLD" | "DAILY_BILLING_CHANGE_NORMAL" | "DAILY_BILLING_CHANGE_OVER_THRESHOLD" | "WEEKLY_BILLING_CHANGE_NORMAL" | "WEEKLY_BILLING_CHANGE_OVER_THRESHOLD" | "MONTHLY_BILLING_CHANGE_NORMAL" | "MONTHLY_BILLING_CHANGE_OVER_THRESHOLD"; export const EventTypeForNdsGroupCase9 = S.String; export type EventTypeForNdsGroupCase10 = | "CLUSTER_CONNECTION_GET_DATABASES" | "CLUSTER_CONNECTION_GET_DATABASE_COLLECTIONS" | "CLUSTER_CONNECTION_GET_DATABASE_NAMESPACES" | "CLUSTER_CONNECTION_GET_NAMESPACES_WITH_UUID" | "CLUSTER_CONNECTION_GET_AGGREGATED_VIEW_INFOS" | "CLUSTER_CONNECTION_AGGREGATE" | "CLUSTER_CONNECTION_CREATE_COLLECTION" | "CLUSTER_CONNECTION_SAMPLE_COLLECTION_FIELD_NAMES" | "CLUSTER_CONNECTION_SAMPLE_COLLECTION_FIELD_NAMES_AND_TYPES" | "CLUSTER_CONNECTION_FIND_DOCUMENTS" | "CLUSTER_CONNECTION_GET_NAMESPACES_AND_PROJECT_SQL_SCHEMA_DATA"; export const EventTypeForNdsGroupCase10 = S.String; export type EventTypeForNdsGroupCase11 = | "CLUSTER_MONGOS_IS_PRESENT" | "CLUSTER_MONGOS_IS_MISSING"; export const EventTypeForNdsGroupCase11 = S.String; export type EventTypeForNdsGroupCase12 = | "CPS_SNAPSHOT_STARTED" | "CPS_SNAPSHOT_SUCCESSFUL" | "CPS_SNAPSHOT_FAILED" | "CPS_CONCURRENT_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_SNAPSHOT_FALLBACK_SUCCESSFUL" | "CPS_SNAPSHOT_BEHIND" | "CPS_COPY_SNAPSHOT_STARTED" | "CPS_COPY_SNAPSHOT_FAILED" | "CPS_COPY_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_COPY_SNAPSHOT_SUCCESSFUL" | "CPS_PREV_SNAPSHOT_OLD" | "CPS_SNAPSHOT_FALLBACK_FAILED" | "CPS_RESTORE_SUCCESSFUL" | "CPS_EXPORT_SUCCESSFUL" | "CPS_RESTORE_FAILED" | "CPS_EXPORT_FAILED" | "CPS_COLLECTION_RESTORE_SUCCESSFUL" | "CPS_COLLECTION_RESTORE_FAILED" | "CPS_COLLECTION_RESTORE_PARTIAL_SUCCESS" | "CPS_COLLECTION_RESTORE_CANCELED" | "CPS_AUTO_EXPORT_FAILED" | "CPS_SNAPSHOT_DOWNLOAD_REQUEST_FAILED" | "CPS_OPLOG_BEHIND" | "CPS_OPLOG_CAUGHT_UP"; export const EventTypeForNdsGroupCase12 = S.String; export type EventTypeForNdsGroupCase13 = | "DATA_EXPLORER" | "DATA_EXPLORER_CRUD_ATTEMPT" | "DATA_EXPLORER_CRUD_ERROR" | "DATA_EXPLORER_CRUD"; export const EventTypeForNdsGroupCase13 = S.String; export type EventTypeForNdsGroupCase14 = "DATA_EXPLORER_SESSION_CREATED"; export const EventTypeForNdsGroupCase14 = S.String; export type EventTypeForNdsGroupCase15 = | "CPS_DATA_PROTECTION_ENABLE_REQUESTED" | "CPS_DATA_PROTECTION_ENABLED" | "CPS_DATA_PROTECTION_UPDATE_REQUESTED" | "CPS_DATA_PROTECTION_UPDATED" | "CPS_DATA_PROTECTION_DISABLE_REQUESTED" | "CPS_DATA_PROTECTION_DISABLED" | "CPS_DATA_PROTECTION_APPROVED_FOR_DISABLEMENT"; export const EventTypeForNdsGroupCase15 = S.String; export type EventTypeForNdsGroupCase16 = | "CPS_RESTORE_REQUESTED_AUDIT" | "CPS_RESTORE_AUTH_AUDIT" | "CPS_SNAPSHOT_SCHEDULE_UPDATED_AUDIT" | "CPS_SNAPSHOT_FASTER_RESTORES_START_AUDIT" | "CPS_SNAPSHOT_FASTER_RESTORES_SUCCESS_AUDIT" | "CPS_SNAPSHOT_FASTER_RESTORES_FAILED_AUDIT" | "CPS_SNAPSHOT_DELETED_AUDIT" | "CPS_SNAPSHOT_RETENTION_MODIFIED_AUDIT" | "CPS_SNAPSHOT_IN_PROGRESS_AUDIT" | "CPS_SNAPSHOT_COMPLETED_AUDIT" | "CPS_ON_DEMAND_SNAPSHOT_REQUESTED" | "CPS_OPLOG_CAUGHT_UP_AUDIT" | "CPS_OPLOG_BEHIND_AUDIT"; export const EventTypeForNdsGroupCase16 = S.String; export type EventTypeForNdsGroupCase17 = | "AWS_ENCRYPTION_KEY_ROTATED" | "AWS_ENCRYPTION_KEY_NEEDS_ROTATION" | "AZURE_ENCRYPTION_KEY_ROTATED" | "AZURE_ENCRYPTION_KEY_NEEDS_ROTATION" | "GCP_ENCRYPTION_KEY_ROTATED" | "GCP_ENCRYPTION_KEY_NEEDS_ROTATION" | "AWS_ENCRYPTION_KEY_VALID" | "AWS_ENCRYPTION_KEY_INVALID" | "AZURE_ENCRYPTION_KEY_VALID" | "AZURE_ENCRYPTION_KEY_INVALID" | "GCP_ENCRYPTION_KEY_VALID" | "GCP_ENCRYPTION_KEY_INVALID"; export const EventTypeForNdsGroupCase17 = S.String; export type EventTypeForNdsGroupCase18 = | "BUCKET_CREATED_AUDIT" | "BUCKET_DELETED_AUDIT"; export const EventTypeForNdsGroupCase18 = S.String; export type EventTypeForNdsGroupCase19 = | "FTS_INDEX_DELETION_FAILED" | "FTS_INDEX_BUILD_COMPLETE" | "FTS_INDEX_BUILD_FAILED" | "FTS_INDEX_CREATED" | "FTS_INDEX_UPDATED" | "FTS_INDEX_PARTITIONS_CHANGED" | "FTS_INDEX_REBUILT" | "FTS_INDEX_DEFINITION_ROLLED_BACK" | "FTS_INDEX_DELETED" | "FTS_INDEX_CLEANED_UP" | "FTS_INDEX_STALE" | "FTS_INDEXES_RESTORED" | "FTS_INDEXES_RESTORE_FAILED" | "FTS_INDEXES_SYNONYM_MAPPING_INVALID"; export const EventTypeForNdsGroupCase19 = S.String; export type EventTypeForNdsGroupCase20 = | "GCP_PEER_CREATED" | "GCP_PEER_DELETED" | "GCP_PEER_UPDATED" | "GCP_PEER_ACTIVE" | "GCP_PEER_INACTIVE"; export const EventTypeForNdsGroupCase20 = S.String; export type EventTypeForNdsGroupCase21 = | "DATA_EXPLORER_ENABLED" | "DATA_EXPLORER_DISABLED" | "CREDIT_CARD_ADDED" | "CREDIT_CARD_UPDATED" | "GROUP_DELETED" | "GROUP_CREATED" | "GROUP_MOVED" | "GROUP_TEMPORARILY_ACTIVATED" | "GROUP_ACTIVATED" | "GROUP_LOCKED" | "GROUP_SUSPENDED" | "GROUP_FLUSHED" | "GROUP_NAME_CHANGED" | "GROUP_CHARTS_ACTIVATION_REQUESTED" | "GROUP_CHARTS_ACTIVATED" | "GROUP_CHARTS_UPGRADED" | "GROUP_CHARTS_RESET" | "GROUP_DEFAULT_ALERTS_SETTINGS_CHANGED"; export const EventTypeForNdsGroupCase21 = S.String; export type EventTypeForNdsGroupCase22 = | "PAID_IN_FULL" | "DELINQUENT" | "ALL_USERS_HAVE_MULTI_FACTOR_AUTH" | "USERS_WITHOUT_MULTI_FACTOR_AUTH" | "ENCRYPTION_AT_REST_KMS_NETWORK_ACCESS_DENIED" | "ENCRYPTION_AT_REST_KMS_NETWORK_ACCESS_RESTORED" | "ENCRYPTION_AT_REST_CONFIG_NO_LONGER_VALID" | "ENCRYPTION_AT_REST_CONFIG_IS_VALID" | "GROUP_SERVICE_ACCOUNT_SECRETS_NO_LONGER_EXPIRING" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRING" | "GROUP_SERVICE_ACCOUNT_SECRETS_NO_LONGER_EXPIRED" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRED" | "ACTIVE_LEGACY_TLS_CONNECTIONS" | "NO_ACTIVE_LEGACY_TLS_CONNECTIONS" | "WEBHOOK_TEMPLATE_RENDER_FAILED"; export const EventTypeForNdsGroupCase22 = S.String; export type EventTypeForNdsGroupCase23 = | "INTEGRATION_CONFIGURED" | "INTEGRATION_REMOVED"; export const EventTypeForNdsGroupCase23 = S.String; export type EventTypeForNdsGroupCase24 = | "ATTEMPT_KILLOP_AUDIT" | "ATTEMPT_KILLSESSION_AUDIT" | "HOST_UP" | "HOST_DOWN" | "HOST_HAS_INDEX_SUGGESTIONS" | "HOST_MONGOT_RECOVERED_OOM" | "HOST_MONGOT_CRASHING_OOM" | "HOST_MONGOT_RESUME_REPLICATION" | "HOST_MONGOT_STOP_REPLICATION" | "HOST_MONGOT_UNPAUSE_INITIAL_SYNC" | "HOST_MONGOT_PAUSE_INITIAL_SYNC" | "HOST_MONGOT_SUFFICIENT_DISK_SPACE" | "HOST_MONGOT_APPROACHING_STOP_REPLICATION" | "HOST_MONGOT_RESTARTED" | "HOST_SEARCH_NODE_UNBLOCKED" | "HOST_SEARCH_NODE_INDEX_FAILED" | "HOST_SEARCH_PROCESS_NOT_THROTTLING" | "HOST_SEARCH_PROCESS_THROTTLING" | "HOST_EXTERNAL_LOG_SINK_EXPORT_DOWN" | "HOST_EXTERNAL_LOG_SINK_EXPORT_RESUMED" | "HOST_ENOUGH_DISK_SPACE" | "HOST_NOT_ENOUGH_DISK_SPACE" | "SSH_KEY_NDS_HOST_ACCESS_REQUESTED" | "SSH_KEY_NDS_HOST_ACCESS_REFRESHED" | "SSH_KEY_NDS_HOST_ACCESS_ATTEMPT" | "SSH_KEY_NDS_HOST_ACCESS_GRANTED" | "SSH_KEY_NDS_HOST_ACCESS_LEVEL_CHANGED" | "ALERT_HOST_SSH_SESSION_STARTED" | "HOST_SSH_SESSION_ENDED" | "HOST_X509_CERTIFICATE_CERTIFICATE_GENERATED_FOR_SUPPORT_ACCESS" | "PUSH_BASED_LOG_EXPORT_RESUMED" | "PUSH_BASED_LOG_EXPORT_STOPPED" | "PUSH_BASED_LOG_EXPORT_DROPPED_LOG" | "HOST_VERSION_BEHIND" | "VERSION_BEHIND" | "HOST_EXPOSED" | "HOST_SSL_CERTIFICATE_STALE" | "HOST_SECURITY_CHECKUP_NOT_MET" | "PROFILER_CONFIGURED_TOO_WIDELY"; export const EventTypeForNdsGroupCase24 = S.String; export type EventTypeForNdsGroupCase25 = | "INSIDE_METRIC_THRESHOLD" | "OUTSIDE_METRIC_THRESHOLD"; export const EventTypeForNdsGroupCase25 = S.String; export type EventTypeForNdsGroupCase26 = | "ROLLING_INDEX_FAILED_INDEX_BUILD" | "ROLLING_INDEX_SUCCESS_INDEX_BUILD" | "INDEX_FAILED_INDEX_BUILD" | "INDEX_SUCCESS_INDEX_BUILD"; export const EventTypeForNdsGroupCase26 = S.String; export type EventTypeForNdsGroupCase27 = "MONGOTUNE_INFO" | "MONGOTUNE_ALERT"; export const EventTypeForNdsGroupCase27 = S.String; export type EventTypeForNdsGroupCase28 = | "CLUSTER_CREATED" | "CLUSTER_RESURRECTED" | "CLUSTER_READY" | "CLUSTER_UPDATE_SUBMITTED" | "CLUSTER_PROCESS_ARGS_UPDATE_SUBMITTED" | "CLUSTER_MONGOT_PROCESS_ARGS_UPDATE_SUBMITTED" | "CLUSTER_SERVER_PARAMETERS_UPDATE_SUBMITTED" | "CLUSTER_AUTOMATICALLY_PAUSED" | "CLUSTER_UPDATE_STARTED" | "CLUSTER_UPDATE_STARTED_INTERNAL" | "CLUSTER_UPDATE_COMPLETED" | "MATERIAL_CLUSTER_UPDATE_COMPLETED_INTERNAL" | "CLUSTER_DELETE_SUBMITTED" | "CLUSTER_DELETE_SUBMITTED_INTERNAL" | "CLUSTER_DELETED" | "CLUSTER_IMPORT_STARTED" | "CLUSTER_IMPORT_CANCELLED" | "CLUSTER_IMPORT_EXPIRED" | "CLUSTER_IMPORT_CUTOVER" | "CLUSTER_IMPORT_COMPLETED" | "CLUSTER_IMPORT_FAILED" | "CLUSTER_IMPORT_RESTART_REQUESTED" | "PROJECT_LIVE_IMPORT_OVERRIDES_ADDED" | "PROJECT_LIVE_IMPORT_OVERRIDES_UPDATED" | "PROJECT_LIVE_IMPORT_OVERRIDES_DELETED" | "CLUSTER_OPLOG_RESIZED" | "CLUSTER_INSTANCE_RESTARTED" | "CLUSTER_INSTANCE_STOP_START" | "CLUSTER_INSTANCE_RESYNC_REQUESTED" | "CLUSTER_INSTANCE_RESYNC_CLEARED" | "CLUSTER_INSTANCE_UPDATE_REQUESTED" | "CLUSTER_INSTANCE_REPLACED" | "CLUSTER_INSTANCE_REPLACE_CLEARED" | "CLUSTER_INSTANCE_SWAPPED" | "CLUSTER_INSTANCE_SWAP_CLEARED" | "CLUSTER_INSTANCE_VM_RESTART_CLEARED" | "CLUSTER_INSTANCE_VM_REBOOT_CLEARED" | "CLUSTER_INSTANCE_CONFIG_UPDATED" | "CLUSTER_INSTANCE_AGENT_API_KEY_ROTATED" | "CLUSTER_INSTANCE_SSL_ROTATED" | "CLUSTER_INSTANCE_SSL_ROTATED_PER_CLUSTER" | "CLUSTER_INSTANCE_SSL_REVOKED" | "RELOAD_SSL_ON_PROCESSES" | "RELOAD_SSL_ON_PROCESSES_REQUESTED" | "CLUSTER_INSTANCE_ADMIN_BACKUP_SNAPSHOT_REQUESTED" | "DATA_LAKE_QUERY_LOGS_DOWNLOADED" | "FEDERATED_DATABASE_QUERY_LOGS_DOWNLOADED" | "ONLINE_ARCHIVE_QUERY_LOGS_DOWNLOADED" | "MONGODB_LOGS_DOWNLOADED" | "MONGOSQLD_LOGS_DOWNLOADED" | "MONGOT_LOGS_DOWNLOADED" | "MONGODB_USER_ADDED" | "MONGODB_USER_DELETED" | "MONGODB_USER_X509_CERT_CREATED" | "MONGODB_USER_X509_CERT_REVOKED" | "MONGODB_USER_UPDATED" | "MONGODB_ROLE_ADDED" | "MONGODB_ROLE_DELETED" | "MONGODB_ROLE_UPDATED" | "NETWORK_PERMISSION_ENTRY_ADDED" | "NETWORK_PERMISSION_ENTRY_REMOVED" | "NETWORK_PERMISSION_ENTRY_UPDATED" | "PRIVATE_NETWORK_ENDPOINT_ENTRY_ADDED" | "PRIVATE_NETWORK_ENDPOINT_ENTRY_REMOVED" | "PRIVATE_NETWORK_ENDPOINT_ENTRY_UPDATED" | "PLAN_STARTED" | "PLAN_COMPLETED" | "PLAN_ABANDONED" | "PLAN_DECLINED" | "PLAN_FAILURE_COUNT_RESET" | "PLAN_ASAP_REQUESTED" | "INDEPENDENT_SHARD_AUTO_SCALING_AVAILABLE" | "INDEPENDENT_SHARD_SCALING_CLUSTER_MIGRATED" | "INDEPENDENT_SHARD_SCALING_CLUSTER_ROLLED_BACK" | "MOVE_SKIPPED" | "STEP_SKIPPED" | "PROXY_RESTARTED" | "PROXY_PANICKED" | "ATLAS_MAINTENANCE_PROTECTED_HOURS_CREATED" | "ATLAS_MAINTENANCE_PROTECTED_HOURS_MODIFIED" | "ATLAS_MAINTENANCE_PROTECTED_HOURS_REMOVED" | "ATLAS_MAINTENANCE_WINDOW_ADDED" | "ATLAS_MAINTENANCE_WINDOW_MODIFIED" | "ATLAS_MAINTENANCE_WINDOW_REMOVED" | "ATLAS_MAINTENANCE_START_ASAP" | "ATLAS_MAINTENANCE_SCHEDULED_FOR_NEXT_WINDOW" | "ATLAS_MAINTENANCE_DEFERRED" | "ATLAS_MAINTENANCE_AUTO_DEFER_ENABLED" | "ATLAS_MAINTENANCE_AUTO_DEFER_DISABLED" | "ATLAS_MAINTENANCE_RESET_BY_ADMIN" | "ATLAS_MAINTENANCE_DEFERRED_BY_ADMIN" | "SCHEDULED_MAINTENANCE" | "PROJECT_SCHEDULED_MAINTENANCE" | "PROJECT_LIMIT_UPDATED" | "PROJECT_ENABLE_EXTENDED_STORAGE_SIZES_UPDATED" | "PROJECT_ENABLE_DATA_VALIDATION_UPDATED" | "PROJECT_COLLECT_DATABASE_STATISTICS_UPDATED" | "OS_MAINTENANCE" | "OS_MAINTENANCE_RESTART" | "OS_MAINTENANCE_REPLACEMENT" | "FREE_UPGRADE_STARTED" | "FLEX_UPGRADE_STARTED" | "SERVERLESS_UPGRADE_STARTED" | "TEST_FAILOVER_REQUESTED" | "USER_SECURITY_SETTINGS_UPDATED" | "AUDIT_LOG_CONFIGURATION_UPDATED" | "STREAMS_AUDIT_LOG_CONFIGURATION_UPDATED" | "ENCRYPTION_AT_REST_CONFIGURATION_UPDATED" | "ENCRYPTION_AT_REST_CONFIGURATION_VALIDATION_FAILED" | "ENCRYPTION_AT_REST_CONFIGURATION_VALIDATION_SUCCEEDED" | "ENCRYPTION_AT_REST_KEY_ROTATION_STARTED" | "ENCRYPTION_AT_REST_PRIVATE_ENDPOINT_CREATED" | "ENCRYPTION_AT_REST_PRIVATE_ENDPOINT_DELETED" | "NDS_SET_IMAGE_OVERRIDES" | "NDS_SET_CHEF_TARBALL_URI" | "RESTRICTED_EMPLOYEE_ACCESS_BYPASS" | "REVOKED_EMPLOYEE_ACCESS_BYPASS" | "DEVICE_SYNC_DEBUG_ACCESS_GRANTED" | "DEVICE_SYNC_DEBUG_ACCESS_REVOKED" | "DEVICE_SYNC_DEBUG_X509_CERT_CREATED" | "EMPLOYEE_ACCESS_GRANTED" | "EMPLOYEE_ACCESS_REVOKED" | "QUERY_ENGINE_TENANT_CREATED" | "QUERY_ENGINE_TENANT_UPDATED" | "QUERY_ENGINE_TENANT_REMOVED" | "FEDERATED_DATABASE_CREATED" | "FEDERATED_DATABASE_UPDATED" | "FEDERATED_DATABASE_REMOVED" | "TENANT_SNAPSHOT_FAILED" | "TENANT_RESTORE_FAILED" | "SAMPLE_DATASET_LOAD_REQUESTED" | "CUSTOMER_X509_CRL_UPDATED" | "CONTAINER_SUBNETS_UPDATE_REQUESTED" | "ONLINE_ARCHIVE_CREATED" | "ONLINE_ARCHIVE_DELETED" | "ONLINE_ARCHIVE_UPDATED" | "ONLINE_ARCHIVE_PAUSE_REQUESTED" | "ONLINE_ARCHIVE_PAUSED" | "ONLINE_ARCHIVE_ACTIVE" | "ONLINE_ARCHIVE_ORPHANED" | "ONLINE_ARCHIVE_DATA_EXPIRATION_RULE_ENABLED" | "ONLINE_ARCHIVE_DATA_EXPIRATION_RULE_UPDATED" | "ONLINE_ARCHIVE_DATA_EXPIRATION_RULE_DISABLED" | "ONLINE_ARCHIVE_DELETE_AFTER_DATE_UPDATED" | "CLOUD_PROVIDER_ACCESS_AWS_IAM_ROLE_ADDED" | "CLOUD_PROVIDER_ACCESS_AWS_IAM_ROLE_DELETED" | "CLOUD_PROVIDER_ACCESS_AWS_IAM_ROLE_UPDATED" | "CLOUD_PROVIDER_ACCESS_AZURE_SERVICE_PRINCIPAL_ADDED" | "CLOUD_PROVIDER_ACCESS_AZURE_SERVICE_PRINCIPAL_DELETED" | "CLOUD_PROVIDER_ACCESS_AZURE_SERVICE_PRINCIPAL_UPDATED" | "CLOUD_PROVIDER_ACCESS_GCP_SERVICE_ACCOUNT_ADDED" | "CLOUD_PROVIDER_ACCESS_GCP_SERVICE_ACCOUNT_DELETED" | "CLOUD_PROVIDER_ACCESS_GCP_SERVICE_ACCOUNT_UPDATED" | "PENDING_INDEXES_DELETED" | "PENDING_INDEXES_CANCELED" | "PROCESS_RESTART_REQUESTED" | "AUTO_HEALING_ACTION" | "AUTO_HEALING_REQUESTED_CRITICAL_INSTANCE_POWER_CYCLE" | "AUTO_HEALING_REQUESTED_INSTANCE_REPLACEMENT" | "AUTO_HEALING_REQUESTED_NODE_RESYNC" | "EXTRA_MAINTENANCE_DEFERRAL_GRANTED" | "GROUP_AUTOMATION_CONFIG_PUBLISHED" | "CLUSTER_AUTOMATION_CONFIG_PUBLISHED" | "SET_ENSURE_CLUSTER_CONNECTIVITY_AFTER_FOR_CLUSTER" | "CLUSTER_LINKED_TO_VERCEL" | "CLUSTER_UNLINKED_FROM_VERCEL" | "INGESTION_PIPELINE_DELETED" | "INGESTION_PIPELINE_DESTROYED" | "INGESTION_PIPELINE_CREATED" | "INGESTION_PIPELINE_UPDATED" | "OS_TUNE_FILE_OVERRIDES" | "MONITORING_AGENT_OVERRIDES" | "MONITORING_AGENT_REBALANCE_FLAG" | "MONITORING_AGENT_REBALANCE_TRIGGERED" | "CLUSTER_PREFERRED_CPU_ARCHITECTURE_MODIFIED" | "CLUSTER_FORCE_PLANNED" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_STARTED" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_FAILED_TO_START" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_END_REQUESTED" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_COMPLETED" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_CANCELLED_CLUSTER_PAUSE" | "UIS_PANICKED" | "TENANT_UPGRADE_TO_SERVERLESS_SUCCESSFUL" | "TENANT_UPGRADE_TO_SERVERLESS_FAILED" | "SERVERLESS_UPGRADE_TO_DEDICATED_SUCCESSFUL" | "SERVERLESS_UPGRADE_TO_DEDICATED_FAILED" | "CLUSTER_FORCE_RECONFIG_REQUESTED" | "AGENT_FORCE_RESTART_REQUESTED" | "CLUSTER_RESET_FORCE_RECONFIG_REQUESTED" | "PROJECT_BYPASSED_MAINTENANCE" | "FEATURE_FLAG_MAINTENANCE" | "DATA_FEDERATION_QUERY_LIMIT_CONFIGURED" | "DATA_FEDERATION_QUERY_LIMIT_DELETED" | "DATA_API_SETUP_FOR_VERCEL" | "ADMIN_CLUSTER_LOCK_UPDATED" | "CLUSTER_ROLLING_RESYNC_STARTED" | "CLUSTER_ROLLING_RESYNC_COMPLETED" | "CLUSTER_ROLLING_RESYNC_FAILED" | "NODE_ROLLING_RESYNC_SCHEDULED" | "CLUSTER_ROLLING_RESYNC_CANCELED" | "CLUSTER_OS_UPDATED" | "CLUSTER_INSTANCE_FAMILY_UPDATED" | "PUSH_BASED_LOG_EXPORT_ENABLED" | "PUSH_BASED_LOG_EXPORT_CONFIGURATION_UPDATED" | "PUSH_BASED_LOG_EXPORT_DISABLED" | "LOG_STREAMING_ENABLED" | "LOG_STREAMING_CONFIGURATION_UPDATED" | "LOG_STREAMING_DISABLED" | "DATADOG_LOG_STREAMING_ENABLED" | "DATADOG_LOG_STREAMING_CONFIGURATION_UPDATED" | "DATADOG_LOG_STREAMING_DISABLED" | "SPLUNK_LOG_STREAMING_ENABLED" | "SPLUNK_LOG_STREAMING_CONFIGURATION_UPDATED" | "SPLUNK_LOG_STREAMING_DISABLED" | "S3_LOG_STREAMING_ENABLED" | "S3_LOG_STREAMING_CONFIGURATION_UPDATED" | "S3_LOG_STREAMING_DISABLED" | "AZURE_LOG_STREAMING_ENABLED" | "AZURE_LOG_STREAMING_CONFIGURATION_UPDATED" | "AZURE_LOG_STREAMING_DISABLED" | "GCP_LOG_STREAMING_ENABLED" | "GCP_LOG_STREAMING_CONFIGURATION_UPDATED" | "GCP_LOG_STREAMING_DISABLED" | "OTEL_LOG_STREAMING_ENABLED" | "OTEL_LOG_STREAMING_CONFIGURATION_UPDATED" | "OTEL_LOG_STREAMING_DISABLED" | "LOG_STREAMING_EXPORT_FAILED_NONRETRYABLE" | "LOG_STREAMING_EXPORT_FAILED_RETRIES_EXHAUSTED" | "LOG_STREAMING_EXPORT_RECOVERED" | "LOG_STREAMING_REPLAY_STARTED" | "LOG_STREAMING_REPLAY_COMPLETE" | "LOG_STREAMING_REPLAY_FAILED" | "OTEL_METRIC_INTEGRATION_ENABLED" | "OTEL_METRIC_INTEGRATION_CONFIGURATION_UPDATED" | "OTEL_METRIC_INTEGRATION_DISABLED" | "AZURE_CLUSTER_PREFERRED_STORAGE_TYPE_UPDATED" | "CONTAINER_DELETED" | "REGIONALIZED_PRIVATE_ENDPOINT_MODE_ENABLED" | "REGIONALIZED_PRIVATE_ENDPOINT_MODE_DISABLED" | "STREAM_TENANT_CREATED" | "STREAM_TENANT_UPDATED" | "STREAM_TENANT_DELETED" | "STREAM_TENANT_CONNECTIONS_LISTED" | "STREAM_TENANT_CONNECTION_UPDATED" | "STREAM_TENANT_CONNECTION_DELETED" | "STREAM_TENANT_CONNECTION_CREATED" | "STREAM_TENANT_CONNECTION_VIEWED" | "STREAM_TENANT_OPERATIONAL_LOGS" | "STREAM_TENANT_AUDIT_LOGS" | "STREAM_TENANT_AUDIT_LOGS_DELETED" | "QUEUED_ADMIN_ACTION_CREATED" | "QUEUED_ADMIN_ACTION_COMPLETED" | "QUEUED_ADMIN_ACTION_CANCELLED" | "ATLAS_SQL_SCHEDULED_UPDATE_CREATED" | "ATLAS_SQL_SCHEDULED_UPDATE_MODIFIED" | "ATLAS_SQL_SCHEDULED_UPDATE_REMOVED" | "CLUSTER_INSTANCE_DISABLED" | "CLUSTER_INSTANCE_ENABLED" | "SEARCH_HOST_PAUSE_ALL_INITIAL_SYNCS" | "SEARCH_HOST_DISABLE_FTS" | "SEARCH_HOST_PAUSE_INITIAL_SYNC_ON_INDEX_IDS" | "CLUSTER_BLOCK_WRITE" | "CLUSTER_UNBLOCK_WRITE" | "KMIP_KEY_ROTATION_SCHEDULED" | "SSL_CERTIFICATE_ISSUED" | "PROJECT_SCHEDULED_MAINTENANCE_OUTSIDE_OF_PROTECTED_HOURS" | "CLUSTER_CANCELING_SHARD_DRAIN_REQUESTED" | "CLUSTER_CANCELING_CONFIG_SERVER_TRANSITION_REQUESTED" | "CLUSTER_MIGRATE_BACK_TO_AWS_MANAGED_IP_REQUESTED" | "CLUSTER_IP_MIGRATED_FIRST_ROUND" | "CLUSTER_IP_MIGRATED_SECOND_ROUND" | "CLUSTER_IP_MIGRATED_FINAL_ROUND" | "CLUSTER_IP_ROLLED_BACK" | "AZ_BALANCING_OVERRIDE_MODIFIED" | "FTDC_SETTINGS_UPDATED" | "PROXY_PROTOCOL_FOR_PRIVATE_LINK_MODE_UPDATED" | "MONGOTUNE_WRITE_BLOCK_POLICY_ELIGIBLE" | "MONGOTUNE_WRITE_BLOCK_POLICY_INELIGIBLE" | "PREDICTIVE_AUTOSCALING_ENABLED" | "PREDICTIVE_AUTOSCALING_DISABLED" | "SHADOW_CLUSTER_CREATE_EXPOSURE" | "SHADOW_CLUSTER_DELETE_EXPOSURE" | "SHADOW_CLUSTER_RECORDING_STATUS_UPDATE" | "SHADOW_CLUSTER_REPLAY_STATUS_UPDATE" | "NODE_HIDDEN_BY_ADMIN" | "NODE_UNHIDDEN_BY_ADMIN" | "DISK_WARMING_PROCESS_NODE_HIDDEN_BY_ADMIN" | "DISK_WARMING_PROCESS_NODE_UNHIDDEN_BY_ADMIN" | "DISK_WARMING_PROCESS_INSTANCE_CANCELLED_BY_ADMIN" | "DISK_WARMING_PROCESS_DISK_TAG_READY_BY_ADMIN" | "CLUSTER_CREATED_VIA_ANIS" | "MAINTENANCE_WAVE_ASSIGNMENT_ADDED" | "MAINTENANCE_WAVE_ASSIGNMENT_MODIFIED" | "MAINTENANCE_WAVE_ASSIGNMENT_REMOVED" | "CLUSTER_MONGUARD_ENABLED" | "CLUSTER_MONGUARD_DISABLED" | "CLUSTER_MONGODB_VERSION_UPDATED" | "VOLUME_IMPAIRED" | "VOLUME_IMPAIRED_RESOLVED" | "SQL_INTERFACE_ENABLED" | "SQL_INTERFACE_DISABLED"; export const EventTypeForNdsGroupCase28 = S.String; export type EventTypeForNdsGroupCase29 = | "DB_CHECK_UPDATED" | "CLUSTER_SAMPLED_FOR_DB_CHECK" | "DB_CHECK_SCHEDULED_FOR_CLUSTER" | "DB_CHECK_DEFERRED_FOR_CLUSTER" | "CLUSTER_OPTED_OUT_OF_DB_CHECK"; export const EventTypeForNdsGroupCase29 = S.String; export type EventTypeForNdsGroupCase30 = | "CLUSTER_SAMPLED_FOR_DATA_VALIDATION" | "DATA_VALIDATION_SUBMITTED_FOR_CLUSTER" | "CLUSTER_OPTED_OUT_OF_DATA_VALIDATION" | "REPLICA_SET_SAMPLED_FOR_INTER_NODE_DATA_VALIDATION" | "REPLICA_SET_OPTED_OUT_OF_INTER_NODE_DATA_VALIDATION" | "INTER_NODE_DATA_VALIDATION_SUBMITTED_FOR_REPLICA_SET"; export const EventTypeForNdsGroupCase30 = S.String; export type EventTypeForNdsGroupCase31 = | "COMPUTE_AUTO_SCALE_INITIATED" | "DISK_AUTO_SCALE_INITIATED" | "COMPUTE_AUTO_SCALE_INITIATED_BASE" | "COMPUTE_AUTO_SCALE_INITIATED_ANALYTICS" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_BASE" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_BASE" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_ANALYTICS" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_ANALYTICS" | "DISK_AUTO_SCALE_MAX_DISK_SIZE_FAIL" | "DISK_AUTO_SCALE_OPLOG_FAIL" | "PREDICTIVE_COMPUTE_AUTO_SCALE_INITIATED_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "CLUSTER_AUTO_SHARDING_INITIATED" | "CLUSTER_RESHARDING_COMPLETED"; export const EventTypeForNdsGroupCase31 = S.String; export type EventTypeForNdsGroupCase32 = | "MAINTENANCE_IN_ADVANCED" | "MAINTENANCE_AUTO_DEFERRED" | "MAINTENANCE_STARTED" | "MAINTENANCE_COMPLETED" | "MAINTENANCE_NO_LONGER_NEEDED"; export const EventTypeForNdsGroupCase32 = S.String; export type EventTypeForNdsGroupCase33 = | "SERVERLESS_AUTO_SCALING_INITIATED" | "SERVERLESS_VERTICAL_SCALING_INITIATED" | "SERVERLESS_HORIZONTAL_SCALING_INITIATED" | "SERVERLESS_MTM_DRAIN_REQUESTED" | "SERVERLESS_MTM_DRAIN_INITIATED" | "SERVERLESS_MTM_DRAIN_COMPLETED" | "SERVERLESS_MTM_DRAIN_STOPPED"; export const EventTypeForNdsGroupCase33 = S.String; export type EventTypeForNdsGroupCase34 = | "SERVERLESS_INSTANCE_CREATED" | "SERVERLESS_INSTANCE_READY" | "SERVERLESS_INSTANCE_UPDATE_SUBMITTED" | "SERVERLESS_INSTANCE_UPDATE_STARTED" | "SERVERLESS_INSTANCE_UPDATE_COMPLETED" | "SERVERLESS_INSTANCE_DELETE_SUBMITTED" | "SERVERLESS_INSTANCE_DELETED" | "SERVERLESS_INSTANCE_UNBLOCKED"; export const EventTypeForNdsGroupCase34 = S.String; export type EventTypeForNdsGroupCase35 = | "TENANT_ENDPOINT_CREATED" | "TENANT_ENDPOINT_RESERVED" | "TENANT_ENDPOINT_RESERVATION_FAILED" | "TENANT_ENDPOINT_UPDATED" | "TENANT_ENDPOINT_INITIATING" | "TENANT_ENDPOINT_AVAILABLE" | "TENANT_ENDPOINT_FAILED" | "TENANT_ENDPOINT_DELETING" | "TENANT_ENDPOINT_DELETED" | "TENANT_ENDPOINT_EXPIRED"; export const EventTypeForNdsGroupCase35 = S.String; export type EventTypeForNdsGroupCase36 = | "TENANT_ENDPOINT_SERVICE_DEPLOYMENT_CREATED" | "TENANT_ENDPOINT_SERVICE_CREATED" | "TENANT_ENDPOINT_SERVICE_AVAILABLE" | "TENANT_ENDPOINT_SERVICE_DEPLOYMENT_DELETE_REQUESTED" | "TENANT_ENDPOINT_SERVICE_DELETED" | "TENANT_ENDPOINT_SERVICE_DEPLOYMENT_DELETED" | "TENANT_ENDPOINT_SERVICE_DEPLOYMENT_NUM_DESIRED_ENDPOINT_SERVICES_INCREASED"; export const EventTypeForNdsGroupCase36 = S.String; export type EventTypeForNdsGroupCase37 = | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CA_EXPIRATION_RESOLVED" | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CA_EXPIRATION_CHECK" | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CRL_EXPIRATION_RESOLVED" | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CRL_EXPIRATION_CHECK" | "NDS_X509_USER_AUTHENTICATION_MANAGED_USER_CERTS_EXPIRATION_RESOLVED" | "NDS_X509_USER_AUTHENTICATION_MANAGED_USER_CERTS_EXPIRATION_CHECK"; export const EventTypeForNdsGroupCase37 = S.String; export type EventTypeForNdsGroupCase38 = | "ONLINE_ARCHIVE_INSUFFICIENT_INDEXES_CHECK" | "ONLINE_ARCHIVE_INSUFFICIENT_INDEXES_RESOLVED" | "ONLINE_ARCHIVE_UP_TO_DATE" | "ONLINE_ARCHIVE_DATA_EXPIRATION_RESOLVED" | "ONLINE_ARCHIVE_MAX_CONSECUTIVE_OFFLOAD_WINDOWS_CHECK"; export const EventTypeForNdsGroupCase38 = S.String; export type EventTypeForNdsGroupCase39 = | "CROSS_REGION_SUPPORTED_REGION_MODIFIED" | "ENDPOINT_SERVICE_CREATED" | "ENDPOINT_SERVICE_CREATION_RETRIED" | "ENDPOINT_SERVICE_DELETED" | "INTERFACE_ENDPOINT_CREATED" | "INTERFACE_ENDPOINT_DELETED" | "INTERFACE_ENDPOINT_PATCHED" | "INTERFACE_ENDPOINT_RETRIED"; export const EventTypeForNdsGroupCase39 = S.String; export type EventTypeForNdsGroupCase40 = "PROACTIVE_OPERATION_EVENT_LOGGED"; export const EventTypeForNdsGroupCase40 = S.String; export type EventTypeForNdsGroupCase41 = | "PRIMARY_ELECTED" | "REPLICATION_OPLOG_WINDOW_HEALTHY" | "REPLICATION_OPLOG_WINDOW_RUNNING_OUT" | "ONE_PRIMARY" | "NO_PRIMARY" | "TOO_MANY_ELECTIONS" | "TOO_FEW_HEALTHY_MEMBERS" | "TOO_MANY_UNHEALTHY_MEMBERS"; export const EventTypeForNdsGroupCase41 = S.String; export type EventTypeForNdsGroupCase42 = | "SEARCH_DEPLOYMENT_CREATED" | "SEARCH_DEPLOYMENT_UPDATED" | "SEARCH_DEPLOYMENT_DELETED"; export const EventTypeForNdsGroupCase42 = S.String; export type EventTypeForNdsGroupCase43 = | "SERVERLESS_DEPLOYMENT_CREATED" | "SERVERLESS_DEPLOYMENT_DELETED" | "SERVERLESS_DEPLOYMENT_UPDATED" | "SERVERLESS_DEPLOYMENT_INSTANCE_REPLACED" | "SERVERLESS_DEPLOYMENT_INSTANCE_REBOOTED" | "SERVERLESS_DEPLOYMENT_ENDPOINT_SERVICE_LINKED" | "SERVERLESS_DEPLOYMENT_ENDPOINT_SERVICE_UNLINKED" | "SERVERLESS_DEPLOYMENT_ENVOY_INSTANCE_UIS_KEYS_ROTATED"; export const EventTypeForNdsGroupCase43 = S.String; export type EventTypeForNdsGroupCase44 = | "INSIDE_SERVERLESS_METRIC_THRESHOLD" | "OUTSIDE_SERVERLESS_METRIC_THRESHOLD"; export const EventTypeForNdsGroupCase44 = S.String; export type EventTypeForNdsGroupCase45 = | "INSIDE_FLEX_METRIC_THRESHOLD" | "OUTSIDE_FLEX_METRIC_THRESHOLD"; export const EventTypeForNdsGroupCase45 = S.String; export type EventTypeForNdsGroupCase46 = "SETUP_SERVERLESS_INITIATED"; export const EventTypeForNdsGroupCase46 = S.String; export type EventTypeForNdsGroupCase47 = "MAX_PROCESSOR_COUNT_REACHED"; export const EventTypeForNdsGroupCase47 = S.String; export type EventTypeForNdsGroupCase48 = | "STREAM_PROCESSOR_STATE_IS_FAILED" | "STREAM_PROCESSOR_STARTED" | "STREAM_PROCESSOR_AUTOSCALE_INITIATED" | "STREAM_PROCESSOR_CREATED" | "STREAM_PROCESSOR_STOPPED" | "STREAM_PROCESSOR_DROPPED" | "STREAM_PROCESSOR_MODIFIED" | "INSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD" | "OUTSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD"; export const EventTypeForNdsGroupCase48 = S.String; export type EventTypeForNdsGroupCase49 = "CASE_CREATED"; export const EventTypeForNdsGroupCase49 = S.String; export type EventTypeForNdsGroupCase50 = | "SUPPORT_EMAILS_SENT_SUCCESSFULLY" | "SUPPORT_EMAILS_SENT_FAILURE"; export const EventTypeForNdsGroupCase50 = S.String; export type EventTypeForNdsGroupCase51 = | "TEAM_ADDED_TO_GROUP" | "TEAM_REMOVED_FROM_GROUP" | "TEAM_ROLES_MODIFIED"; export const EventTypeForNdsGroupCase51 = S.String; export type EventTypeForNdsGroupCase52 = | "TENANT_SNAPSHOT_STARTED_AUDIT" | "TENANT_SNAPSHOT_COMPLETED_AUDIT" | "TENANT_SNAPSHOT_DELETED_AUDIT" | "TENANT_RESTORE_REQUESTED_AUDIT" | "TENANT_RESTORE_COMPLETED_AUDIT" | "TENANT_SNAPSHOT_DOWNLOAD_REQUESTED_AUDIT"; export const EventTypeForNdsGroupCase52 = S.String; export type EventTypeForNdsGroupCase53 = | "JOINED_GROUP" | "REMOVED_FROM_GROUP" | "INVITED_TO_GROUP" | "REQUESTED_TO_JOIN_GROUP" | "GROUP_INVITATION_DELETED" | "USER_ROLES_CHANGED_AUDIT" | "JOIN_GROUP_REQUEST_DENIED_AUDIT" | "JOIN_GROUP_REQUEST_APPROVED_AUDIT"; export const EventTypeForNdsGroupCase53 = S.String; export type EventTypeForNdsGroupCase54 = | "CLUSTER_FCV_FIXED" | "CLUSTER_FCV_UNFIXED" | "CLUSTER_FCV_EXPIRATION_DATE_UPDATED" | "CLUSTER_FCV_DOWNGRADED" | "CLUSTER_BINARY_VERSION_DOWNGRADED" | "CLUSTER_BINARY_VERSION_UPGRADED" | "CLUSTER_OS_FIXED" | "CLUSTER_OS_UNFIXED"; export const EventTypeForNdsGroupCase54 = S.String; export type EventTypeForNdsGroupCase55 = | "TAGS_MODIFIED" | "CLUSTER_TAGS_MODIFIED" | "GROUP_TAGS_MODIFIED"; export const EventTypeForNdsGroupCase55 = S.String; export type EventTypeForNdsGroupCase56 = "EMPLOYEE_DOWNLOADED_CLUSTER_LOGS"; export const EventTypeForNdsGroupCase56 = S.String; export type EventTypeForNdsGroupCase57 = | "CHARTS_API_SUCCESS" | "CHARTS_API_FAILURE" | "CHARTS_DASHBOARD_EXPORTED" | "CHARTS_DASHBOARD_EXPORT_FAILED" | "CHARTS_DASHBOARD_IMPORTED" | "CHARTS_DASHBOARD_IMPORT_FAILED"; export const EventTypeForNdsGroupCase57 = S.String; export type EventTypeForNdsGroupCase58 = "RESOURCE_POLICY_VIOLATED"; export const EventTypeForNdsGroupCase58 = S.String; export type EventTypeForNdsGroupCase59 = | "QUERY_SHAPE_BLOCKED" | "QUERY_SHAPE_UNBLOCKED"; export const EventTypeForNdsGroupCase59 = S.String; export type EventTypeForNdsGroupCase60 = | "SHARD_KEY_ANALYSIS_STARTED" | "SHARD_KEY_ANALYSIS_FINISHED" | "QUERY_SAMPLING_STARTED" | "QUERY_SAMPLING_STOPPED"; export const EventTypeForNdsGroupCase60 = S.String; export type EventTypeForNdsGroupCase61 = | "AI_MODELS_APIS_API_KEY_CREATED" | "AI_MODELS_APIS_API_KEY_DELETED" | "AI_MODELS_APIS_API_KEY_UPDATED" | "AI_MODELS_APIS_RATE_LIMIT_UPDATED" | "AI_MODELS_APIS_RATE_LIMIT_RESET" | "AI_MODELS_APIS_RATE_LIMIT_ADMIN_OVERRIDE"; export const EventTypeForNdsGroupCase61 = S.String; export type EventTypeForNdsGroup = | EventTypeForNdsGroupCase0 | EventTypeForNdsGroupCase1 | EventTypeForNdsGroupCase2 | EventTypeForNdsGroupCase3 | EventTypeForNdsGroupCase4 | EventTypeForNdsGroupCase5 | EventTypeForNdsGroupCase6 | EventTypeForNdsGroupCase7 | EventTypeForNdsGroupCase8 | EventTypeForNdsGroupCase9 | EventTypeForNdsGroupCase10 | EventTypeForNdsGroupCase11 | EventTypeForNdsGroupCase12 | EventTypeForNdsGroupCase13 | EventTypeForNdsGroupCase14 | EventTypeForNdsGroupCase15 | EventTypeForNdsGroupCase16 | EventTypeForNdsGroupCase17 | EventTypeForNdsGroupCase18 | EventTypeForNdsGroupCase19 | EventTypeForNdsGroupCase20 | EventTypeForNdsGroupCase21 | EventTypeForNdsGroupCase22 | EventTypeForNdsGroupCase23 | EventTypeForNdsGroupCase24 | EventTypeForNdsGroupCase25 | EventTypeForNdsGroupCase26 | EventTypeForNdsGroupCase27 | EventTypeForNdsGroupCase28 | EventTypeForNdsGroupCase29 | EventTypeForNdsGroupCase30 | EventTypeForNdsGroupCase31 | EventTypeForNdsGroupCase32 | EventTypeForNdsGroupCase33 | EventTypeForNdsGroupCase34 | EventTypeForNdsGroupCase35 | EventTypeForNdsGroupCase36 | EventTypeForNdsGroupCase37 | EventTypeForNdsGroupCase38 | EventTypeForNdsGroupCase39 | EventTypeForNdsGroupCase40 | EventTypeForNdsGroupCase41 | EventTypeForNdsGroupCase42 | EventTypeForNdsGroupCase43 | EventTypeForNdsGroupCase44 | EventTypeForNdsGroupCase45 | EventTypeForNdsGroupCase46 | EventTypeForNdsGroupCase47 | EventTypeForNdsGroupCase48 | EventTypeForNdsGroupCase49 | EventTypeForNdsGroupCase50 | EventTypeForNdsGroupCase51 | EventTypeForNdsGroupCase52 | EventTypeForNdsGroupCase53 | EventTypeForNdsGroupCase54 | EventTypeForNdsGroupCase55 | EventTypeForNdsGroupCase56 | EventTypeForNdsGroupCase57 | EventTypeForNdsGroupCase58 | EventTypeForNdsGroupCase59 | EventTypeForNdsGroupCase60 | EventTypeForNdsGroupCase61; export const EventTypeForNdsGroup = S.Unknown as any as S.Schema; /** List of event types to filter the activity feed. */ export type GetGroupActivityFeedRequestEventTypeList = Array; export const GetGroupActivityFeedRequestEventTypeList = /*@__PURE__*/ S.Array( EventTypeForNdsGroup, ) as any as S.Schema; /** List of cluster names to filter the activity feed. */ export type GetGroupActivityFeedRequestClusterNameList = Array; export const GetGroupActivityFeedRequestClusterNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface GetGroupActivityFeedRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Category of incident recorded at this moment in time. **IMPORTANT**: The complete list of event type values changes frequently. */ eventType?: GetGroupActivityFeedRequestEventTypeList; /** End date and time for events to include in the activity feed link. ISO 8601 timestamp format in UTC. */ maxDate?: string; /** Start date and time for events to include in the activity feed link. ISO 8601 timestamp format in UTC. */ minDate?: string; /** Human-readable label that identifies the cluster. */ clusterName?: GetGroupActivityFeedRequestClusterNameList; } export const GetGroupActivityFeedRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), pretty: S.optional(S.Boolean.pipe(T.Query())), eventType: S.optional( GetGroupActivityFeedRequestEventTypeList.pipe(T.Query()), ), maxDate: S.optional(S.String.pipe(T.Query())), minDate: S.optional(S.String.pipe(T.Query())), clusterName: S.optional( GetGroupActivityFeedRequestClusterNameList.pipe(T.Query()), ), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/activityFeed", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupActivityFeedRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ActivityFeedLinkResponseLinksList = Array; export const ActivityFeedLinkResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Response containing a shareable activity feed link. */ export interface ActivityFeedLinkResponse { /** Shareable link to the activity feed with pre-applied filters. */ link: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ActivityFeedLinkResponseLinksList; } export const ActivityFeedLinkResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ link: S.String, links: S.optional(ActivityFeedLinkResponseLinksList), }), ).annotate({ identifier: "ActivityFeedLinkResponse", }) as any as S.Schema; export type GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud = "ANY"; export const GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud = S.String; export type GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography = "ANY"; export const GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography = S.String; export interface GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Cloud provider scope. Must be "ANY". Additional values will be supported in future API versions. */ cloud: | GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud | (string & {}); /** Geography scope. Must be "ANY". Additional values will be supported in future API versions. */ geography: | GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography | (string & {}); /** The name of the model group to be retrieved. */ modelGroupName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloud: GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud.pipe( T.Label(), ), geography: GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography.pipe( T.Label(), ), modelGroupName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiClouds/{cloud}/geographies/{geography}/modelGroupNames/{modelGroupName}/rateLimits", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest", }) as any as S.Schema; /** List of embedding model names included in this model group. */ export type AiModelRateLimitResponseModelNamesList = Array; export const AiModelRateLimitResponseModelNamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiModelRateLimitResponse { /** Cloud provider scope for this rate limit. Use "ANY" for cloud-agnostic scope. */ cloud?: string; /** Server-computed endpoint hostname derived from `cloud` and `geography`. This field is read-only and must not be supplied in request bodies. */ endpoint?: string; /** Geography scope for this rate limit. Use "ANY" for geography-agnostic scope. */ geography?: string; /** Identifier used to reference this model group. */ modelGroupName?: string; /** List of embedding model names included in this model group. */ modelNames?: AiModelRateLimitResponseModelNamesList; /** 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. */ requestsPerMinuteLimit?: number; /** 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. */ tokensPerMinuteLimit?: number; } export const AiModelRateLimitResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ cloud: S.optional(S.String), endpoint: S.optional(S.String), geography: S.optional(S.String), modelGroupName: S.optional(S.String), modelNames: S.optional(AiModelRateLimitResponseModelNamesList), requestsPerMinuteLimit: S.optional(S.Number), tokensPerMinuteLimit: S.optional(S.Number), }), ).annotate({ identifier: "AiModelRateLimitResponse", }) as any as S.Schema; export interface GetGroupAiModelApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The id of the API key to be retrieved. */ apiKeyId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAiModelApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), apiKeyId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiKeys/{apiKeyId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupAiModelApiKeyRequest", }) as any as S.Schema; export interface GetGroupAiModelApiRateLimitsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAiModelApiRateLimitsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiRateLimits", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupAiModelApiRateLimitsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedAtlasAiModelRateLimitsResponseLinksList = Array; export const PaginatedAtlasAiModelRateLimitsResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedAtlasAiModelRateLimitsResponseResultsList = Array; export const PaginatedAtlasAiModelRateLimitsResponseResultsList = /*@__PURE__*/ S.Array( AiModelRateLimitResponse, ) as any as S.Schema; /** List response for AI Model rate limits at the organization and project level. */ export interface PaginatedAtlasAiModelRateLimitsResponse { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedAtlasAiModelRateLimitsResponseLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedAtlasAiModelRateLimitsResponseResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedAtlasAiModelRateLimitsResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedAtlasAiModelRateLimitsResponseLinksList), results: PaginatedAtlasAiModelRateLimitsResponseResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedAtlasAiModelRateLimitsResponse", }) as any as S.Schema; export interface GetGroupAlertRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the alert. */ alertId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAlertRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), alertId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/alerts/{alertId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupAlertRequest", }) as any as S.Schema; export type GetGroupAlertResponse = AlertViewForNdsGroup; export const GetGroupAlertResponse = /*@__PURE__*/ S.suspend(() => AlertViewForNdsGroup.pipe(T.RawResponseRoot()), ).annotate({ identifier: "GetGroupAlertResponse", }) as any as S.Schema; export interface GetGroupAlertAlertConfigsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the alert. */ alertId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; } export const GetGroupAlertAlertConfigsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), alertId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/alerts/{alertId}/alertConfigs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupAlertAlertConfigsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedAlertConfigViewLinksList = Array; export const PaginatedAlertConfigViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedAlertConfigViewResultsList = Array; export const PaginatedAlertConfigViewResultsList = /*@__PURE__*/ S.Array( GroupAlertsConfig, ) as any as S.Schema; export interface PaginatedAlertConfigView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedAlertConfigViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedAlertConfigViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedAlertConfigView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedAlertConfigViewLinksList), results: PaginatedAlertConfigViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedAlertConfigView", }) as any as S.Schema; export interface GetGroupAlertConfigRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration. */ alertConfigId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAlertConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), alertConfigId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupAlertConfigRequest", }) as any as S.Schema; export type GetGroupAlertConfigResponse = GroupAlertsConfig; export const GetGroupAlertConfigResponse = /*@__PURE__*/ S.suspend(() => GroupAlertsConfig.pipe(T.RawResponseRoot()), ).annotate({ identifier: "GetGroupAlertConfigResponse", }) as any as S.Schema; export interface GetGroupAlertConfigAlertsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration. */ alertConfigId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAlertConfigAlertsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), alertConfigId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}/alerts", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupAlertConfigAlertsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedAlertViewLinksList = Array; export const PaginatedAlertViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedAlertViewResultsList = Array; export const PaginatedAlertViewResultsList = /*@__PURE__*/ S.Array( AlertViewForNdsGroup, ) as any as S.Schema; export interface PaginatedAlertView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedAlertViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedAlertViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedAlertView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedAlertViewLinksList), results: PaginatedAlertViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedAlertView", }) as any as S.Schema; export interface GetGroupAuditLogRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAuditLogRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/auditLog", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupAuditLogRequest", }) as any as S.Schema; /** Human-readable label that displays how to configure the audit filter. */ export type AuditLogConfigurationType = | "NONE" | "FILTER_BUILDER" | "FILTER_JSON"; export const AuditLogConfigurationType = S.String; export interface AuditLog { /** Flag that indicates whether someone set auditing to track successful authentications. This only applies to the `"atype" : "authCheck"` audit filter. Setting this parameter to `true` degrades cluster performance. */ auditAuthorizationSuccess?: boolean; /** JSON document that specifies which events to record. Escape any characters that may prevent parsing, such as single or double quotes, using a backslash (`\`). */ auditFilter?: string; /** Human-readable label that displays how to configure the audit filter. */ configurationType?: AuditLogConfigurationType; /** Flag that indicates whether someone enabled database auditing for the specified project. */ enabled?: boolean; } export const AuditLog = /*@__PURE__*/ S.suspend(() => S.Struct({ auditAuthorizationSuccess: S.optional(S.Boolean), auditFilter: S.optional(S.String), configurationType: S.optional(AuditLogConfigurationType), enabled: S.optional(S.Boolean), }), ).annotate({ identifier: "AuditLog" }) as any as S.Schema; export interface GetGroupAwsCustomDnsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupAwsCustomDnsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/awsCustomDNS", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupAwsCustomDnsRequest", }) as any as S.Schema; export interface AWSCustomDNSEnabledView { /** Flag that indicates whether the project's clusters deployed to Amazon Web Services (AWS) use a custom Domain Name System (DNS). When `"enabled": true`, connect to your cluster using Private IP for Peering connection strings. */ enabled: boolean; } export const AWSCustomDNSEnabledView = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.Boolean, }), ).annotate({ identifier: "AWSCustomDNSEnabledView", }) as any as S.Schema; export interface GetGroupBackupCompliancePolicyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupBackupCompliancePolicyRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/backupCompliancePolicy", code: 200, accept: "application/vnd.atlas.2023-10-01+json", }), ), ).annotate({ identifier: "GetGroupBackupCompliancePolicyRequest", }) as any as S.Schema; /** Number that indicates the frequency interval for a set of snapshots. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ export type BackupComplianceOnDemandPolicyItemFrequencyInterval = | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 40; export const BackupComplianceOnDemandPolicyItemFrequencyInterval = S.Number; /** Human-readable label that identifies the frequency type associated with the backup policy. */ export type BackupComplianceOnDemandPolicyItemFrequencyType = "ondemand"; export const BackupComplianceOnDemandPolicyItemFrequencyType = S.String; /** Unit of time in which MongoDB Cloud measures snapshot retention. */ export type BackupComplianceOnDemandPolicyItemRetentionUnit = | "days" | "weeks" | "months" | "years"; export const BackupComplianceOnDemandPolicyItemRetentionUnit = S.String; /** Specifications for on-demand policy. */ export interface BackupComplianceOnDemandPolicyItem { /** Number that indicates the frequency interval for a set of snapshots. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ frequencyInterval: BackupComplianceOnDemandPolicyItemFrequencyInterval; /** Human-readable label that identifies the frequency type associated with the backup policy. */ frequencyType: BackupComplianceOnDemandPolicyItemFrequencyType; /** Unique 24-hexadecimal digit string that identifies this backup policy item. */ id?: string; /** Unit of time in which MongoDB Cloud measures snapshot retention. */ retentionUnit: BackupComplianceOnDemandPolicyItemRetentionUnit; /** Duration in days, weeks, months, or years that MongoDB Cloud retains the snapshot. For less frequent policy items, MongoDB Cloud requires that you specify a value greater than or equal to the value specified for more frequent policy items. For example: If the hourly policy item specifies a retention of two days, you must specify two days or greater for the retention of the weekly policy item. */ retentionValue: number; } export const BackupComplianceOnDemandPolicyItem = /*@__PURE__*/ S.suspend(() => S.Struct({ frequencyInterval: BackupComplianceOnDemandPolicyItemFrequencyInterval, frequencyType: BackupComplianceOnDemandPolicyItemFrequencyType, id: S.optional(S.String), retentionUnit: BackupComplianceOnDemandPolicyItemRetentionUnit, retentionValue: S.Number, }), ).annotate({ identifier: "BackupComplianceOnDemandPolicyItem", }) as any as S.Schema; /** Number that indicates the frequency interval for a set of Snapshots. A value of `1` specifies the first instance of the corresponding `frequencyType`. - In a yearly policy item, `1` indicates that the yearly Snapshot occurs on the first day of January and `12` indicates the first day of December. - In a monthly policy item, `1` indicates that the monthly Snapshot occurs on the first day of the month and `40` indicates the last day of the month. - In a weekly policy item, `1` indicates that the weekly Snapshot occurs on Monday and `7` indicates Sunday. - In an hourly policy item, you can set the frequency interval to `1`, `2`, `4`, `6`, `8`, or `12`. For hourly policy items for NVMe clusters, MongoDB Cloud accepts only `12` as the frequency interval value. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ export type BackupComplianceScheduledPolicyItemFrequencyInterval = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 40; export const BackupComplianceScheduledPolicyItemFrequencyInterval = S.Number; /** Human-readable label that identifies the frequency type associated with the backup policy. */ export type BackupComplianceScheduledPolicyItemFrequencyType = | "daily" | "hourly" | "weekly" | "monthly" | "yearly"; export const BackupComplianceScheduledPolicyItemFrequencyType = S.String; /** Unit of time in which MongoDB Cloud measures Snapshot retention. */ export type BackupComplianceScheduledPolicyItemRetentionUnit = | "days" | "weeks" | "months" | "years"; export const BackupComplianceScheduledPolicyItemRetentionUnit = S.String; /** Specifications for scheduled policy. */ export interface BackupComplianceScheduledPolicyItem { /** Number that indicates the frequency interval for a set of Snapshots. A value of `1` specifies the first instance of the corresponding `frequencyType`. - In a yearly policy item, `1` indicates that the yearly Snapshot occurs on the first day of January and `12` indicates the first day of December. - In a monthly policy item, `1` indicates that the monthly Snapshot occurs on the first day of the month and `40` indicates the last day of the month. - In a weekly policy item, `1` indicates that the weekly Snapshot occurs on Monday and `7` indicates Sunday. - In an hourly policy item, you can set the frequency interval to `1`, `2`, `4`, `6`, `8`, or `12`. For hourly policy items for NVMe clusters, MongoDB Cloud accepts only `12` as the frequency interval value. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ frequencyInterval: BackupComplianceScheduledPolicyItemFrequencyInterval; /** Human-readable label that identifies the frequency type associated with the backup policy. */ frequencyType: BackupComplianceScheduledPolicyItemFrequencyType; /** Unique 24-hexadecimal digit string that identifies this backup policy item. */ id?: string; /** Unit of time in which MongoDB Cloud measures Snapshot retention. */ retentionUnit: BackupComplianceScheduledPolicyItemRetentionUnit; /** Duration in days, weeks, months, or years that MongoDB Cloud retains the Snapshot. For less frequent policy items, MongoDB Cloud requires that you specify a value greater than or equal to the value specified for more frequent policy items. For example: If the hourly policy item specifies a retention of two days, you must specify two days or greater for the retention of the weekly policy item. */ retentionValue: number; } export const BackupComplianceScheduledPolicyItem = /*@__PURE__*/ S.suspend(() => S.Struct({ frequencyInterval: BackupComplianceScheduledPolicyItemFrequencyInterval, frequencyType: BackupComplianceScheduledPolicyItemFrequencyType, id: S.optional(S.String), retentionUnit: BackupComplianceScheduledPolicyItemRetentionUnit, retentionValue: S.Number, }), ).annotate({ identifier: "BackupComplianceScheduledPolicyItem", }) as any as S.Schema; /** List that contains the specifications for one scheduled policy. */ export type DataProtectionSettings20231001ScheduledPolicyItemsList = Array; export const DataProtectionSettings20231001ScheduledPolicyItemsList = /*@__PURE__*/ S.Array( BackupComplianceScheduledPolicyItem, ) as any as S.Schema; /** Label that indicates the state of the Backup Compliance Policy settings. MongoDB Cloud ignores this setting when you enable or update the Backup Compliance Policy settings. */ export type DataProtectionSettings20231001State = | "ACTIVE" | "ENABLING" | "UPDATING" | "DISABLING"; export const DataProtectionSettings20231001State = S.String; export interface DataProtectionSettings20231001 { /** Email address of the user who authorized to update the Backup Compliance Policy settings. */ authorizedEmail: string; /** First name of the user who authorized to updated the Backup Compliance Policy settings. */ authorizedUserFirstName: string; /** Last name of the user who authorized to updated the Backup Compliance Policy settings. */ authorizedUserLastName: string; /** Flag that indicates whether to prevent cluster users from deleting backups copied to other regions, even if those additional snapshot regions are removed. If unspecified, this value defaults to false. */ copyProtectionEnabled?: boolean; /** Flag that indicates whether the Backup Compliance Policy is allowed to be disabled. It is default to false and a support ticket needs to be filed to request setting to true. */ deletable?: boolean; /** Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. */ encryptionAtRestEnabled?: boolean; onDemandPolicyItem?: BackupComplianceOnDemandPolicyItem; /** Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. */ pitEnabled?: boolean; /** Unique 24-hexadecimal digit string that identifies the project for the Backup Compliance Policy. */ projectId?: string; /** Number of previous days that you can restore back to with Continuous Cloud Backup with a Backup Compliance Policy. You must specify a positive, non-zero integer, and the maximum retention window can't exceed the hourly retention time. This parameter applies only to Continuous Cloud Backups with a Backup Compliance Policy. */ restoreWindowDays?: number; /** List that contains the specifications for one scheduled policy. */ scheduledPolicyItems?: DataProtectionSettings20231001ScheduledPolicyItemsList; /** Label that indicates the state of the Backup Compliance Policy settings. MongoDB Cloud ignores this setting when you enable or update the Backup Compliance Policy settings. */ state?: DataProtectionSettings20231001State; /** ISO 8601 timestamp format in UTC that indicates when the user updated the Data Protection Policy settings. MongoDB Cloud ignores this setting when you enable or update the Backup Compliance Policy settings. */ updatedDate?: string; /** Email address that identifies the user who updated the Backup Compliance Policy settings. MongoDB Cloud ignores this email setting when you enable or update the Backup Compliance Policy settings. */ updatedUser?: string; } export const DataProtectionSettings20231001 = /*@__PURE__*/ S.suspend(() => S.Struct({ authorizedEmail: S.String, authorizedUserFirstName: S.String, authorizedUserLastName: S.String, copyProtectionEnabled: S.optional(S.Boolean), deletable: S.optional(S.Boolean), encryptionAtRestEnabled: S.optional(S.Boolean), onDemandPolicyItem: S.optional(BackupComplianceOnDemandPolicyItem), pitEnabled: S.optional(S.Boolean), projectId: S.optional(S.String), restoreWindowDays: S.optional(S.Number), scheduledPolicyItems: S.optional( DataProtectionSettings20231001ScheduledPolicyItemsList, ), state: S.optional(DataProtectionSettings20231001State), updatedDate: S.optional(S.String), updatedUser: S.optional(S.String), }), ).annotate({ identifier: "DataProtectionSettings20231001", }) as any as S.Schema; export interface GetGroupBackupExportBucketRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal character string that identifies the Export Bucket. */ exportBucketId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupBackupExportBucketRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), exportBucketId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "GetGroupBackupExportBucketRequest", }) as any as S.Schema; export type GetGroupBackupPrivateEndpointRequestCloudProvider = "AWS"; export const GetGroupBackupPrivateEndpointRequestCloudProvider = S.String; export interface GetGroupBackupPrivateEndpointRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cloud provider of the private endpoint. */ cloudProvider: | GetGroupBackupPrivateEndpointRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the private endpoint. */ endpointId: string; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupBackupPrivateEndpointRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: GetGroupBackupPrivateEndpointRequestCloudProvider.pipe( T.Label(), ), endpointId: S.String.pipe(T.Label()), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints/{endpointId}", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "GetGroupBackupPrivateEndpointRequest", }) as any as S.Schema; export interface GetGroupByNameRequest { /** Human-readable label that identifies this project. */ groupName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupByNameRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/byName/{groupName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupByNameRequest", }) as any as S.Schema; export interface GetGroupCloudProviderAccessRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the role. Amazon Web Services (AWS) IAM roles and Google Service Accounts return this value as `roleId`. Azure Service Principals return it as `_id`. */ roleId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupCloudProviderAccessRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), roleId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/cloudProviderAccess/{roleId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupCloudProviderAccessRequest", }) as any as S.Schema; export interface GetGroupClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GetGroupClusterRequest", }) as any as S.Schema; export interface GetGroupClusterBackupExportRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal character string that identifies the Export Job. */ exportId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupClusterBackupExportRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), exportId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports/{exportId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupClusterBackupExportRequest", }) as any as S.Schema; export interface GetGroupClusterBackupRestoreJobRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster with the restore jobs you want to return. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the restore job to return. */ restoreJobId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterBackupRestoreJobRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), restoreJobId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs/{restoreJobId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupClusterBackupRestoreJobRequest", }) as any as S.Schema; export interface GetGroupClusterBackupScheduleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterBackupScheduleRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/schedule", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GetGroupClusterBackupScheduleRequest", }) as any as S.Schema; export interface GetGroupClusterBackupSnapshotRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterBackupSnapshotRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupClusterBackupSnapshotRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider. */ export type DiskBackupReplicaSetCloudProvider = "AWS" | "AZURE" | "GCP"; export const DiskBackupReplicaSetCloudProvider = S.String; /** List that identifies the regions to which MongoDB Cloud copies the snapshot. */ export type DiskBackupReplicaSetCopyRegionsList = Array; export const DiskBackupReplicaSetCopyRegionsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Human-readable label that identifies how often this snapshot triggers. */ export type DiskBackupReplicaSetFrequencyType = | "hourly" | "daily" | "weekly" | "monthly" | "yearly"; export const DiskBackupReplicaSetFrequencyType = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupReplicaSetLinksList = Array; export const DiskBackupReplicaSetLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List that contains unique identifiers for the policy items. */ export type DiskBackupReplicaSetPolicyItemsList = Array; export const DiskBackupReplicaSetPolicyItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Human-readable label that identifies when this snapshot triggers. */ export type DiskBackupReplicaSetSnapshotType = | "onDemand" | "scheduled" | "fallback"; export const DiskBackupReplicaSetSnapshotType = S.String; /** Human-readable label that indicates the stage of the backup process for this snapshot. */ export type DiskBackupReplicaSetStatus = | "queued" | "inProgress" | "completed" | "failed"; export const DiskBackupReplicaSetStatus = S.String; /** Human-readable label that categorizes the cluster as a replica set or sharded cluster. */ export type DiskBackupReplicaSetType = "replicaSet" | "shardedCluster"; export const DiskBackupReplicaSetType = S.String; /** Details of the replica set snapshot that MongoDB Cloud created. */ export interface DiskBackupReplicaSet { /** Human-readable label that identifies the cloud provider. */ cloudProvider?: DiskBackupReplicaSetCloudProvider; /** List that identifies the regions to which MongoDB Cloud copies the snapshot. */ copyRegions?: DiskBackupReplicaSetCopyRegionsList; /** Date and time when MongoDB Cloud took the snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** Human-readable phrase or sentence that explains the purpose of the snapshot. The resource returns this parameter when `"status": "onDemand"`. */ description?: string; /** Date and time when MongoDB Cloud deletes the snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expiresAt?: string; /** Human-readable label that identifies how often this snapshot triggers. */ frequencyType?: DiskBackupReplicaSetFrequencyType; /** Unique 24-hexadecimal digit string that identifies the snapshot. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupReplicaSetLinksList; /** Unique string that identifies the Amazon Web Services (AWS) Key Management Service (KMS) Customer Master Key (CMK) used to encrypt the snapshot. The resource returns this value when `"encryptionEnabled" : true`. */ masterKeyUUID?: string; /** Version of the MongoDB host that this snapshot backs up. */ mongodVersion?: string; /** List that contains unique identifiers for the policy items. */ policyItems?: DiskBackupReplicaSetPolicyItemsList; /** Human-readable label that identifies the replica set from which MongoDB Cloud took this snapshot. The resource returns this parameter when `"type": "replicaSet"`. */ replicaSetName?: string; /** Human-readable label that identifies when this snapshot triggers. */ snapshotType?: DiskBackupReplicaSetSnapshotType; /** Human-readable label that indicates the stage of the backup process for this snapshot. */ status?: DiskBackupReplicaSetStatus; /** Number of bytes taken to store the backup at time of snapshot. */ storageSizeBytes?: number; /** Human-readable label that categorizes the cluster as a replica set or sharded cluster. */ type?: DiskBackupReplicaSetType; } export const DiskBackupReplicaSet = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(DiskBackupReplicaSetCloudProvider), copyRegions: S.optional(DiskBackupReplicaSetCopyRegionsList), createdAt: S.optional(S.String), description: S.optional(S.String), expiresAt: S.optional(S.String), frequencyType: S.optional(DiskBackupReplicaSetFrequencyType), id: S.optional(S.String), links: S.optional(DiskBackupReplicaSetLinksList), masterKeyUUID: S.optional(S.String), mongodVersion: S.optional(S.String), policyItems: S.optional(DiskBackupReplicaSetPolicyItemsList), replicaSetName: S.optional(S.String), snapshotType: S.optional(DiskBackupReplicaSetSnapshotType), status: S.optional(DiskBackupReplicaSetStatus), storageSizeBytes: S.optional(S.Number), type: S.optional(DiskBackupReplicaSetType), }), ).annotate({ identifier: "DiskBackupReplicaSet", }) as any as S.Schema; export interface GetGroupClusterBackupSnapshotDatabaseRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Human-readable label that identifies the database. */ databaseName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterBackupSnapshotDatabaseRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}/databases/{databaseName}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupClusterBackupSnapshotDatabaseRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupDatabaseResponseLinksList = Array; export const DiskBackupDatabaseResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface DiskBackupDatabaseResponse { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupDatabaseResponseLinksList; /** Human-readable label that identifies the database within the snapshot. */ name: string; } export const DiskBackupDatabaseResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(DiskBackupDatabaseResponseLinksList), name: S.String, }), ).annotate({ identifier: "DiskBackupDatabaseResponse", }) as any as S.Schema; export interface GetGroupClusterBackupSnapshotDatabaseCollectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Human-readable label that identifies the database. */ databaseName: string; /** Human-readable label that identifies the collection. */ collectionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterBackupSnapshotDatabaseCollectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), collectionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}/databases/{databaseName}/collections/{collectionName}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupClusterBackupSnapshotDatabaseCollectionRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupCollectionResponseLinksList = Array; export const DiskBackupCollectionResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface DiskBackupCollectionResponse { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupCollectionResponseLinksList; /** Human-readable label that identifies the collection in the database within the snapshot. */ name: string; } export const DiskBackupCollectionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(DiskBackupCollectionResponseLinksList), name: S.String, }), ).annotate({ identifier: "DiskBackupCollectionResponse", }) as any as S.Schema; export interface GetGroupClusterBackupSnapshotShardedClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterBackupSnapshotShardedClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/shardedCluster/{snapshotId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupClusterBackupSnapshotShardedClusterRequest", }) as any as S.Schema; /** Describes a sharded cluster's config server type. */ export type DiskBackupShardedClusterSnapshotConfigServerType = | "EMBEDDED" | "DEDICATED"; export const DiskBackupShardedClusterSnapshotConfigServerType = S.String; /** Human-readable label that identifies how often this snapshot triggers. */ export type DiskBackupShardedClusterSnapshotFrequencyType = | "hourly" | "daily" | "weekly" | "monthly" | "yearly"; export const DiskBackupShardedClusterSnapshotFrequencyType = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupShardedClusterSnapshotLinksList = Array; export const DiskBackupShardedClusterSnapshotLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Human-readable label that identifies the cloud provider. */ export type DiskBackupShardedClusterSnapshotMemberCloudProvider = | "AWS" | "AZURE" | "GCP"; export const DiskBackupShardedClusterSnapshotMemberCloudProvider = S.String; export interface DiskBackupShardedClusterSnapshotMember { /** Human-readable label that identifies the cloud provider. */ cloudProvider: DiskBackupShardedClusterSnapshotMemberCloudProvider; /** Unique 24-hexadecimal digit string that identifies the snapshot. */ id: string; /** Human-readable label that identifies the shard or config host from which MongoDB Cloud took this snapshot. */ replicaSetName: string; } export const DiskBackupShardedClusterSnapshotMember = /*@__PURE__*/ S.suspend( () => S.Struct({ cloudProvider: DiskBackupShardedClusterSnapshotMemberCloudProvider, id: S.String, replicaSetName: S.String, }), ).annotate({ identifier: "DiskBackupShardedClusterSnapshotMember", }) as any as S.Schema; /** List that includes the snapshots and the cloud provider that stores the snapshots. The resource returns this parameter when `"type" : "SHARDED_CLUSTER"`. */ export type DiskBackupShardedClusterSnapshotMembersList = Array; export const DiskBackupShardedClusterSnapshotMembersList = /*@__PURE__*/ S.Array( DiskBackupShardedClusterSnapshotMember, ) as any as S.Schema; /** List that contains unique identifiers for the policy items. */ export type DiskBackupShardedClusterSnapshotPolicyItemsList = Array; export const DiskBackupShardedClusterSnapshotPolicyItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List that contains the unique identifiers of the snapshots created for the shards and config host for a sharded cluster. The resource returns this parameter when `"type": "SHARDED_CLUSTER"`. These identifiers should match the ones specified in the **members[n].id** parameters. This allows you to map a snapshot to its shard or config host name. */ export type DiskBackupShardedClusterSnapshotSnapshotIdsList = Array; export const DiskBackupShardedClusterSnapshotSnapshotIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Human-readable label that identifies when this snapshot triggers. */ export type DiskBackupShardedClusterSnapshotSnapshotType = | "onDemand" | "scheduled" | "fallback"; export const DiskBackupShardedClusterSnapshotSnapshotType = S.String; /** Human-readable label that indicates the stage of the backup process for this snapshot. */ export type DiskBackupShardedClusterSnapshotStatus = | "queued" | "inProgress" | "completed" | "failed"; export const DiskBackupShardedClusterSnapshotStatus = S.String; /** Human-readable label that categorizes the cluster as a replica set or sharded cluster. */ export type DiskBackupShardedClusterSnapshotType = | "replicaSet" | "shardedCluster"; export const DiskBackupShardedClusterSnapshotType = S.String; /** Details of the sharded cluster snapshot that MongoDB Cloud created. */ export interface DiskBackupShardedClusterSnapshot { /** Describes a sharded cluster's config server type. */ configServerType?: DiskBackupShardedClusterSnapshotConfigServerType; /** Date and time when MongoDB Cloud took the snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** Human-readable phrase or sentence that explains the purpose of the snapshot. The resource returns this parameter when `"status": "onDemand"`. */ description?: string; /** Date and time when MongoDB Cloud deletes the snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expiresAt?: string; /** Human-readable label that identifies how often this snapshot triggers. */ frequencyType?: DiskBackupShardedClusterSnapshotFrequencyType; /** Unique 24-hexadecimal digit string that identifies the snapshot. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupShardedClusterSnapshotLinksList; /** Unique string that identifies the Amazon Web Services (AWS) Key Management Service (KMS) Customer Master Key (CMK) used to encrypt the snapshot. The resource returns this value when `"encryptionEnabled" : true`. */ masterKeyUUID?: string; /** List that includes the snapshots and the cloud provider that stores the snapshots. The resource returns this parameter when `"type" : "SHARDED_CLUSTER"`. */ members?: DiskBackupShardedClusterSnapshotMembersList; /** Version of the MongoDB host that this snapshot backs up. */ mongodVersion?: string; /** List that contains unique identifiers for the policy items. */ policyItems?: DiskBackupShardedClusterSnapshotPolicyItemsList; /** List that contains the unique identifiers of the snapshots created for the shards and config host for a sharded cluster. The resource returns this parameter when `"type": "SHARDED_CLUSTER"`. These identifiers should match the ones specified in the **members[n].id** parameters. This allows you to map a snapshot to its shard or config host name. */ snapshotIds?: DiskBackupShardedClusterSnapshotSnapshotIdsList; /** Human-readable label that identifies when this snapshot triggers. */ snapshotType?: DiskBackupShardedClusterSnapshotSnapshotType; /** Human-readable label that indicates the stage of the backup process for this snapshot. */ status?: DiskBackupShardedClusterSnapshotStatus; /** Number of bytes taken to store the backup at time of snapshot. */ storageSizeBytes?: number; /** Human-readable label that categorizes the cluster as a replica set or sharded cluster. */ type?: DiskBackupShardedClusterSnapshotType; } export const DiskBackupShardedClusterSnapshot = /*@__PURE__*/ S.suspend(() => S.Struct({ configServerType: S.optional( DiskBackupShardedClusterSnapshotConfigServerType, ), createdAt: S.optional(S.String), description: S.optional(S.String), expiresAt: S.optional(S.String), frequencyType: S.optional(DiskBackupShardedClusterSnapshotFrequencyType), id: S.optional(S.String), links: S.optional(DiskBackupShardedClusterSnapshotLinksList), masterKeyUUID: S.optional(S.String), members: S.optional(DiskBackupShardedClusterSnapshotMembersList), mongodVersion: S.optional(S.String), policyItems: S.optional(DiskBackupShardedClusterSnapshotPolicyItemsList), snapshotIds: S.optional(DiskBackupShardedClusterSnapshotSnapshotIdsList), snapshotType: S.optional(DiskBackupShardedClusterSnapshotSnapshotType), status: S.optional(DiskBackupShardedClusterSnapshotStatus), storageSizeBytes: S.optional(S.Number), type: S.optional(DiskBackupShardedClusterSnapshotType), }), ).annotate({ identifier: "DiskBackupShardedClusterSnapshot", }) as any as S.Schema; export interface GetGroupClusterCollectionRestoreJobRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster with the collection restore jobs you want to return. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the collection restore job to return. */ jobId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterCollectionRestoreJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), jobId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collectionRestoreJobs/{jobId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupClusterCollectionRestoreJobRequest", }) as any as S.Schema; export interface GetGroupClusterCollectionRestoreJobCollectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster with the collection restore job you want to return. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the collection restore job. */ jobId: string; /** Source namespace that identifies the collection to return (e.g. `db.collection`). */ sourceNamespace: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterCollectionRestoreJobCollectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), jobId: S.String.pipe(T.Label()), sourceNamespace: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collectionRestoreJobs/{jobId}/collections/{sourceNamespace}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupClusterCollectionRestoreJobCollectionRequest", }) as any as S.Schema; /** Index specification with arbitrary fields (e.g. name, key, unique). */ export type ApiAtlasCollectionRestoreIndexStatusFailedIndexesItemMap = { [key: string]: unknown | undefined; }; export const ApiAtlasCollectionRestoreIndexStatusFailedIndexesItemMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** List of index specifications that failed to build (up to 64 items). */ export type ApiAtlasCollectionRestoreIndexStatusFailedIndexesList = Array; export const ApiAtlasCollectionRestoreIndexStatusFailedIndexesList = /*@__PURE__*/ S.Array( ApiAtlasCollectionRestoreIndexStatusFailedIndexesItemMap, ) as any as S.Schema; /** Index build state indicating the status of index creation during or after a restore operation. */ export type ApiAtlasCollectionRestoreIndexStatusState = | "NOT_STARTED" | "IN_PROGRESS" | "SUCCESSFUL" | "FAILED" | "NOT_RESTORED"; export const ApiAtlasCollectionRestoreIndexStatusState = S.String; /** Index build status for a collection within a restore job. */ export interface ApiAtlasCollectionRestoreIndexStatus { /** Error message if index build failed. */ errorMessage?: string; /** List of index specifications that failed to build (up to 64 items). */ failedIndexes?: ApiAtlasCollectionRestoreIndexStatusFailedIndexesList; /** Index build state indicating the status of index creation during or after a restore operation. */ state?: ApiAtlasCollectionRestoreIndexStatusState; } export const ApiAtlasCollectionRestoreIndexStatus = /*@__PURE__*/ S.suspend( () => S.Struct({ errorMessage: S.optional(S.String), failedIndexes: S.optional( ApiAtlasCollectionRestoreIndexStatusFailedIndexesList, ), state: S.optional(ApiAtlasCollectionRestoreIndexStatusState), }), ).annotate({ identifier: "ApiAtlasCollectionRestoreIndexStatus", }) as any as S.Schema; /** Current state of this collection within the restore job. */ export type ApiAtlasCollectionRestoreCollectionStateResponseState = | "NOT_STARTED" | "IN_PROGRESS" | "FINALIZING" | "NOT_FOUND" | "UNSUPPORTED" | "SUCCESSFUL" | "ROLLBACK" | "NOT_RESTORED" | "FAILED"; export const ApiAtlasCollectionRestoreCollectionStateResponseState = S.String; /** Collection-level state within a collection restore job. */ export interface ApiAtlasCollectionRestoreCollectionStateResponse { /** Actual target namespace after restore (e.g. after conflict rename). */ effectiveTargetNamespace?: string; indexStatus?: ApiAtlasCollectionRestoreIndexStatus; /** Number of documents restored so far. */ restoredDocuments?: number; /** Source namespace that was requested to restore. */ sourceNamespace?: string; /** Current state of this collection within the restore job. */ state?: ApiAtlasCollectionRestoreCollectionStateResponseState; /** Requested target namespace for the restored collection. */ targetNamespace?: string; /** Total document count for this collection. */ totalDocuments?: number; } export const ApiAtlasCollectionRestoreCollectionStateResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ effectiveTargetNamespace: S.optional(S.String), indexStatus: S.optional(ApiAtlasCollectionRestoreIndexStatus), restoredDocuments: S.optional(S.Number), sourceNamespace: S.optional(S.String), state: S.optional(ApiAtlasCollectionRestoreCollectionStateResponseState), targetNamespace: S.optional(S.String), totalDocuments: S.optional(S.Number), }), ).annotate({ identifier: "ApiAtlasCollectionRestoreCollectionStateResponse", }) as any as S.Schema; export type GetGroupClusterCollStatNamespacesRequestClusterView = | "PRIMARY" | "SECONDARY" | "INDIVIDUAL_PROCESS"; export const GetGroupClusterCollStatNamespacesRequestClusterView = S.String; export interface GetGroupClusterCollStatNamespacesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster to pin namespaces to. */ clusterName: string; /** Human-readable label that identifies the cluster topology to retrieve metrics for. */ clusterView: | GetGroupClusterCollStatNamespacesRequestClusterView | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; } export const GetGroupClusterCollStatNamespacesRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), clusterView: GetGroupClusterCollStatNamespacesRequestClusterView.pipe( T.Label(), ), envelope: S.optional(S.Boolean.pipe(T.Query())), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), period: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/{clusterView}/collStats/namespaces", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "GetGroupClusterCollStatNamespacesRequest", }) as any as S.Schema; /** Ordered list of the hottest namespaces, highest value first. */ export type CollStatsRankedNamespacesViewRankedNamespacesList = Array; export const CollStatsRankedNamespacesViewRankedNamespacesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CollStatsRankedNamespacesView { /** Unique 24-hexadecimal digit string that identifies the request project. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the request process. */ identifierId?: string; /** Ordered list of the hottest namespaces, highest value first. */ rankedNamespaces: CollStatsRankedNamespacesViewRankedNamespacesList; } export const CollStatsRankedNamespacesView = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.optional(S.String), identifierId: S.optional(S.String), rankedNamespaces: CollStatsRankedNamespacesViewRankedNamespacesList, }), ).annotate({ identifier: "CollStatsRankedNamespacesView", }) as any as S.Schema; export interface GetGroupClusterGlobalWritesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterGlobalWritesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GetGroupClusterGlobalWritesRequest", }) as any as S.Schema; export interface GetGroupClusterOnlineArchiveRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster that contains the specified collection from which Application created the online archive. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the online archive to return. */ archiveId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterOnlineArchiveRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), archiveId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives/{archiveId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupClusterOnlineArchiveRequest", }) as any as S.Schema; export interface GetGroupClusterOutageSimulationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster that is undergoing outage simulation. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterOutageSimulationRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupClusterOutageSimulationRequest", }) as any as S.Schema; export interface GetGroupClusterOverloadSimulationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster on which the overload protection simulation is running. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the overload protection simulation. */ simulationId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterOverloadSimulationRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), simulationId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/overloadSimulations/{simulationId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupClusterOverloadSimulationRequest", }) as any as S.Schema; export interface GetGroupClusterProcessArgsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterProcessArgsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/processArgs", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GetGroupClusterProcessArgsRequest", }) as any as S.Schema; export type ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls12Item = | "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" | "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"; export const ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls12Item = S.String; /** The custom OpenSSL cipher suite list for TLS 1.2. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ export type ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls12List = Array; export const ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls12List = /*@__PURE__*/ S.Array( ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls12Item, ) as any as S.Schema; export type ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls13Item = | "TLS_AES_256_GCM_SHA384" | "TLS_CHACHA20_POLY1305_SHA256" | "TLS_AES_128_GCM_SHA256" | "TLS_AES_128_CCM_SHA256"; export const ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls13Item = S.String; /** The custom OpenSSL cipher suite list for TLS 1.3. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ export type ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls13List = Array; export const ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls13List = /*@__PURE__*/ S.Array( ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls13Item, ) as any as S.Schema; /** Minimum Transport Layer Security (TLS) version that the cluster accepts for incoming connections. Clusters using TLS 1.0 or 1.1 should consider setting TLS 1.2 as the minimum TLS protocol version. */ export type ClusterDescriptionProcessArgs20240805MinimumEnabledTlsProtocol = | "TLS1_0" | "TLS1_1" | "TLS1_2" | "TLS1_3"; export const ClusterDescriptionProcessArgs20240805MinimumEnabledTlsProtocol = S.String; /** The TLS cipher suite configuration mode. The default mode uses the default cipher suites. The custom mode allows you to specify custom cipher suites for both TLS 1.2 and TLS 1.3. */ export type ClusterDescriptionProcessArgs20240805TlsCipherConfigMode = | "CUSTOM" | "DEFAULT"; export const ClusterDescriptionProcessArgs20240805TlsCipherConfigMode = S.String; /** Advanced MongoDB process configuration options applied to the cluster. */ export interface ClusterDescriptionProcessArgs20240805 { /** The minimum pre- and post-image retention time in seconds. */ changeStreamOptionsPreAndPostImagesExpireAfterSeconds?: number; /** Number of threads on the source shard and the receiving shard for chunk migration. The number of threads should not exceed the half the total number of CPU cores in the sharded cluster. */ chunkMigrationConcurrency?: number; /** The custom OpenSSL cipher suite list for TLS 1.2. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ customOpensslCipherConfigTls12?: ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls12List; /** The custom OpenSSL cipher suite list for TLS 1.3. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ customOpensslCipherConfigTls13?: ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls13List; /** Default time limit in milliseconds for individual read operations to complete. */ defaultMaxTimeMS?: number; /** Default level of acknowledgment requested from MongoDB for write operations when none is specified by the driver. */ defaultWriteConcern?: string; /** Flag that indicates whether the cluster allows execution of operations that perform server-side executions of JavaScript. When using 8.0+, we recommend disabling server-side JavaScript and using operators of aggregation pipeline as more performant alternative. */ javascriptEnabled?: boolean; /** Minimum Transport Layer Security (TLS) version that the cluster accepts for incoming connections. Clusters using TLS 1.0 or 1.1 should consider setting TLS 1.2 as the minimum TLS protocol version. */ minimumEnabledTlsProtocol?: ClusterDescriptionProcessArgs20240805MinimumEnabledTlsProtocol; /** Flag that indicates whether the cluster disables executing any query that requires a collection scan to return results. */ noTableScan?: boolean; /** Minimum retention window for cluster's oplog expressed in hours. A value of null indicates that the cluster uses the default minimum oplog window that MongoDB Cloud calculates. */ oplogMinRetentionHours?: number | null; /** Storage limit of cluster's oplog expressed in megabytes. A value of null indicates that the cluster uses the default oplog size that MongoDB Cloud calculates. */ oplogSizeMB?: number | null; /** May be set to 1 (disabled) or 3 (enabled). When set to 3, Atlas will include redacted and anonymized `$queryStats` output in MongoDB logs. `$queryStats` output does not contain literals or field values. Enabling this setting might impact the performance of your cluster. */ queryStatsLogVerbosity?: number; /** Interval in seconds at which the mongosqld process re-samples data to create its relational schema. */ sampleRefreshIntervalBIConnector?: number; /** Number of documents per database to sample when gathering schema information. */ sampleSizeBIConnector?: number; /** The TLS cipher suite configuration mode. The default mode uses the default cipher suites. The custom mode allows you to specify custom cipher suites for both TLS 1.2 and TLS 1.3. */ tlsCipherConfigMode?: ClusterDescriptionProcessArgs20240805TlsCipherConfigMode; /** Lifetime, in seconds, of multi-document transactions. Atlas considers the transactions that exceed this limit as expired and so aborts them through a periodic clean-up process. */ transactionLifetimeLimitSeconds?: number; } export const ClusterDescriptionProcessArgs20240805 = /*@__PURE__*/ S.suspend( () => S.Struct({ changeStreamOptionsPreAndPostImagesExpireAfterSeconds: S.optional( S.Number, ), chunkMigrationConcurrency: S.optional(S.Number), customOpensslCipherConfigTls12: S.optional( ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls12List, ), customOpensslCipherConfigTls13: S.optional( ClusterDescriptionProcessArgs20240805CustomOpensslCipherConfigTls13List, ), defaultMaxTimeMS: S.optional(S.Number), defaultWriteConcern: S.optional(S.String), javascriptEnabled: S.optional(S.Boolean), minimumEnabledTlsProtocol: S.optional( ClusterDescriptionProcessArgs20240805MinimumEnabledTlsProtocol, ), noTableScan: S.optional(S.Boolean), oplogMinRetentionHours: S.optional(S.NullOr(S.Number)), oplogSizeMB: S.optional(S.NullOr(S.Number)), queryStatsLogVerbosity: S.optional(S.Number), sampleRefreshIntervalBIConnector: S.optional(S.Number), sampleSizeBIConnector: S.optional(S.Number), tlsCipherConfigMode: S.optional( ClusterDescriptionProcessArgs20240805TlsCipherConfigMode, ), transactionLifetimeLimitSeconds: S.optional(S.Number), }), ).annotate({ identifier: "ClusterDescriptionProcessArgs20240805", }) as any as S.Schema; export interface GetGroupClusterQueryShapeRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** A SHA256 hash of a query shape, output by MongoDB commands like `$queryStats` and `$explain` or slow query logs. */ queryShapeHash: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterQueryShapeRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), queryShapeHash: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapes/{queryShapeHash}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupClusterQueryShapeRequest", }) as any as S.Schema; /** The MongoDB command type issued for a query shape. */ export type QueryShapeResponseCommand = "FIND" | "DISTINCT" | "AGGREGATE"; export const QueryShapeResponseCommand = S.String; /** The rejection status of a query shape. Use REJECTED to prevent the query shape from executing on the cluster, or UNREJECTED to allow it to execute. */ export type QueryShapeResponseStatus = "REJECTED" | "UNREJECTED"; export const QueryShapeResponseStatus = S.String; /** Response containing the details and status of a query shape. The query shape field may be null if the user lacks PII view access. */ export interface QueryShapeResponse { /** The MongoDB command type issued for a query shape. */ command?: QueryShapeResponseCommand; /** Human-readable label that identifies the namespace on the specified host. The resource expresses this parameter value as `.`. */ namespace?: string; /** A query shape is a set of specifications that group similar queries together. Specifications can include filters, sorts, projections, aggregation pipeline stages, a namespace, and others. Queries that have similar specifications have the same query shape. This field may be null if the user lacks PII view access. */ queryShape?: string; /** A hexadecimal string that represents the hash of a MongoDB query shape. */ queryShapeHash: string; /** The rejection status of a query shape. Use REJECTED to prevent the query shape from executing on the cluster, or UNREJECTED to allow it to execute. */ status: QueryShapeResponseStatus; } export const QueryShapeResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ command: S.optional(QueryShapeResponseCommand), namespace: S.optional(S.String), queryShape: S.optional(S.String), queryShapeHash: S.String, status: QueryShapeResponseStatus, }), ).annotate({ identifier: "QueryShapeResponse", }) as any as S.Schema; export type GetGroupClusterQueryShapeInsightDetailsRequestProcessIdsList = Array; export const GetGroupClusterQueryShapeInsightDetailsRequestProcessIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface GetGroupClusterQueryShapeInsightDetailsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** A SHA256 hash of a query shape, output by MongoDB commands like `$queryStats` and `$explain` or slow query logs. */ queryShapeHash: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Date and time from which to retrieve query shape statistics. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). - If you don't specify the **until** parameter, the endpoint returns data covering from the **since** value and the current time. - If you specify neither the **since** nor the **until** parameters, the endpoint returns data from the previous 24 hours. */ since?: number; /** Date and time up until which to retrieve query shape statistics. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). - If you specify the **until** parameter, you must specify the **since** parameter. - If you specify neither the **since** nor the **until** parameters, the endpoint returns data from the previous 24 hours. */ until?: number; /** Process IDs from which to retrieve query shape statistics. A `processId` is a combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. To include multiple `processIds`, pass the parameter multiple times delimited with an ampersand (`&`) between each `processId`. */ processIds?: GetGroupClusterQueryShapeInsightDetailsRequestProcessIdsList; } export const GetGroupClusterQueryShapeInsightDetailsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), queryShapeHash: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), since: S.optional(S.Number.pipe(T.Query())), until: S.optional(S.Number.pipe(T.Query())), processIds: S.optional( GetGroupClusterQueryShapeInsightDetailsRequestProcessIdsList.pipe( T.Query(), ), ), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapeInsights/{queryShapeHash}/details", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupClusterQueryShapeInsightDetailsRequest", }) as any as S.Schema; /** Metadata about when a query shape was seen. */ export interface QueryShapeSeenMetadata { /** The name of the application that this query shape came from. This can be set via the MongoDB connection string. The application name is set to unknown for internal MongoDB queries. */ applicationName?: string; /** The name of the MongoDB driver that this query shape was executed from. The driver name is set to unknown for internal MongoDB queries. */ driverName?: string; /** The version of the MongoDB driver that this query shape was executed from. The driver version is set to unknown for internal MongoDB queries. */ driverVersion?: string; /** Unix epoch milliseconds of the time. */ timestamp?: number; } export const QueryShapeSeenMetadata = /*@__PURE__*/ S.suspend(() => S.Struct({ applicationName: S.optional(S.String), driverName: S.optional(S.String), driverVersion: S.optional(S.String), timestamp: S.optional(S.Number), }), ).annotate({ identifier: "QueryShapeSeenMetadata", }) as any as S.Schema; /** The MongoDB command issued for this query shape. */ export type QueryStatsSummaryCommand = "find" | "distinct" | "aggregate"; export const QueryStatsSummaryCommand = S.String; /** A summary of execution statistics for a given query shape. */ export interface QueryStatsSummary { /** Average total time in milliseconds spent running queries with the given query shape. If the query resulted in `getMore` commands, this metric includes the time spent processing the `getMore` requests. This metric does not include time spent waiting for the client. */ avgWorkingMillis?: number; /** The number of bytes read by the given query shape from the disk to the cache. */ bytesRead?: number; /** The MongoDB command issued for this query shape. */ command?: QueryStatsSummaryCommand; /** Total CPU time in nanoseconds consumed by queries with the given query shape. Available for MDB 8.2 and higher. */ cpuTime?: number | null; /** Total number of documents examined by queries with the given query shape. */ docsExamined?: number; /** Ratio of documents examined to documents returned by queries with the given query shape. */ docsExaminedRatio?: number; /** Total number of documents returned by queries with the given query shape. */ docsReturned?: number; /** Total number of times that queries with the given query shape have been executed. */ execCount?: number; /** Total number of in-bounds and out-of-bounds index keys examined by queries with the given query shape. */ keysExamined?: number; /** Ratio of in-bounds and out-of-bounds index keys examined to indexes containing documents returned by queries with the given query shape. */ keysExaminedRatio?: number; /** Execution runtime in microseconds for the most recent query with the given query shape. */ lastExecMicros?: number; /** Human-readable label that identifies the namespace on the specified host. The resource expresses this parameter value as `.`. */ namespace?: string; /** The 50th percentile value of execution time in microseconds. This field is deprecated as the values it reports may be inaccurate. It will be removed in a future release. */ p50ExecMicros?: number; /** The 90th percentile value of execution time in microseconds. This field is deprecated as the values it reports may be inaccurate. It will be removed in a future release. */ p90ExecMicros?: number; /** The 99th percentile value of execution time in microseconds. This field is deprecated as the values it reports may be inaccurate. It will be removed in a future release. */ p99ExecMicros?: number; /** A query shape is a set of specifications that group similar queries together. Specifications can include filters, sorts, projections, aggregation pipeline stages, a namespace, and others. Queries that have similar specifications have the same query shape. */ queryShape?: string; /** A hexadecimal string that represents the hash of a MongoDB query shape. */ queryShapeHash?: string; /** Indicates whether this query shape represents a system-initiated query. */ systemQuery?: boolean; /** Time in microseconds spent from the beginning of query processing to the first server response. */ totalTimeToResponseMicros?: number; /** Total time in milliseconds spent running queries with the given query shape. If the query resulted in `getMore` commands, this metric includes the time spent processing the `getMore` requests. This metric does not include time spent waiting for the client. */ totalWorkingMillis?: number; } export const QueryStatsSummary = /*@__PURE__*/ S.suspend(() => S.Struct({ avgWorkingMillis: S.optional(S.Number), bytesRead: S.optional(S.Number), command: S.optional(QueryStatsSummaryCommand), cpuTime: S.optional(S.NullOr(S.Number)), docsExamined: S.optional(S.Number), docsExaminedRatio: S.optional(S.Number), docsReturned: S.optional(S.Number), execCount: S.optional(S.Number), keysExamined: S.optional(S.Number), keysExaminedRatio: S.optional(S.Number), lastExecMicros: S.optional(S.Number), namespace: S.optional(S.String), p50ExecMicros: S.optional(S.Number), p90ExecMicros: S.optional(S.Number), p99ExecMicros: S.optional(S.Number), queryShape: S.optional(S.String), queryShapeHash: S.optional(S.String), systemQuery: S.optional(S.Boolean), totalTimeToResponseMicros: S.optional(S.Number), totalWorkingMillis: S.optional(S.Number), }), ).annotate({ identifier: "QueryStatsSummary", }) as any as S.Schema; /** Metadata and summary statistics for a given query shape. */ export interface QueryStatsDetailsResponse { firstSeen?: QueryShapeSeenMetadata; lastSeen?: QueryShapeSeenMetadata; queryStats?: QueryStatsSummary; } export const QueryStatsDetailsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ firstSeen: S.optional(QueryShapeSeenMetadata), lastSeen: S.optional(QueryShapeSeenMetadata), queryStats: S.optional(QueryStatsSummary), }), ).annotate({ identifier: "QueryStatsDetailsResponse", }) as any as S.Schema; export interface GetGroupClusterSearchDeploymentRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the cluster to return the Search Nodes for. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterSearchDeploymentRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/deployment", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupClusterSearchDeploymentRequest", }) as any as S.Schema; export interface GetGroupClusterSearchIndexRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Name of the cluster that contains the collection with one or more Atlas Search indexes. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the Application Search [index](https://dochub.mongodb.org/core/index-definitions-fts). Use the [Get All Application Search Indexes for a Collection API](https://docs.atlas.mongodb.com/reference/api/fts-indexes-get-all/) endpoint to find the IDs of all Application Search indexes. */ indexId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterSearchIndexRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), indexId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "GetGroupClusterSearchIndexRequest", }) as any as S.Schema; export interface GetGroupClusterSearchIndexByNameRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Name of the cluster that contains the collection with one or more Atlas Search indexes. */ clusterName: string; /** Label that identifies the database that contains the collection with one or more Atlas Search indexes. */ databaseName: string; /** Name of the collection that contains one or more Atlas Search indexes. */ collectionName: string; /** Name of the Atlas Search index to return. */ indexName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterSearchIndexByNameRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), collectionName: S.String.pipe(T.Label()), indexName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "GetGroupClusterSearchIndexByNameRequest", }) as any as S.Schema; export interface GetGroupClusterStatusRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupClusterStatusRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/status", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupClusterStatusRequest", }) as any as S.Schema; /** State of cluster at the time of this request. Atlas returns **Applied** if it completed adding a user to, or removing a user from, your cluster. Atlas returns **Pending** if it's still making the requested user changes. When status is **Pending**, new users can't log in. */ export type ClusterStatusChangeStatus = "PENDING" | "APPLIED"; export const ClusterStatusChangeStatus = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ClusterStatusLinksList = Array; export const ClusterStatusLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface ClusterStatus { /** State of cluster at the time of this request. Atlas returns **Applied** if it completed adding a user to, or removing a user from, your cluster. Atlas returns **Pending** if it's still making the requested user changes. When status is **Pending**, new users can't log in. */ changeStatus?: ClusterStatusChangeStatus; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ClusterStatusLinksList; } export const ClusterStatus = /*@__PURE__*/ S.suspend(() => S.Struct({ changeStatus: S.optional(ClusterStatusChangeStatus), links: S.optional(ClusterStatusLinksList), }), ).annotate({ identifier: "ClusterStatus" }) as any as S.Schema; export interface GetGroupContainerRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud network container. */ containerId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupContainerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), containerId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/containers/{containerId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupContainerRequest", }) as any as S.Schema; export interface GetGroupCustomDbRoleRoleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the role for the request. This name must be unique for this custom role in this project. */ roleName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupCustomDbRoleRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), roleName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupCustomDbRoleRoleRequest", }) as any as S.Schema; /** List of the individual privilege actions that the role grants. */ export type UserCustomDBRoleActionsList = Array; export const UserCustomDBRoleActionsList = /*@__PURE__*/ S.Array( DatabasePrivilegeAction, ) as any as S.Schema; /** List of the built-in roles that this custom role inherits. */ export type UserCustomDBRoleInheritedRolesList = Array; export const UserCustomDBRoleInheritedRolesList = /*@__PURE__*/ S.Array( DatabaseInheritedRole, ) as any as S.Schema; export interface UserCustomDBRole { /** List of the individual privilege actions that the role grants. */ actions?: UserCustomDBRoleActionsList; /** List of the built-in roles that this custom role inherits. */ inheritedRoles?: UserCustomDBRoleInheritedRolesList; /** Human-readable label that identifies the role for the request. This name must be unique for this custom role in this project. */ roleName: string; } export const UserCustomDBRole = /*@__PURE__*/ S.suspend(() => S.Struct({ actions: S.optional(UserCustomDBRoleActionsList), inheritedRoles: S.optional(UserCustomDBRoleInheritedRolesList), roleName: S.String, }), ).annotate({ identifier: "UserCustomDBRole", }) as any as S.Schema; export interface GetGroupDatabaseUserRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The database against which the database user authenticates. Database users must provide both a username and authentication database to log into MongoDB. If the user authenticates with AWS IAM, x.509, LDAP, or OIDC Workload this value should be `$external`. If the user authenticates with SCRAM-SHA or OIDC Workforce, this value should be `admin`. */ databaseName: string; /** Human-readable label that represents the user that authenticates to MongoDB. The format of this label depends on the method of authentication: | Authentication Method | Parameter Needed | Parameter Value | username Format | |---|---|---|---| | AWS IAM | `awsIAMType` | `ROLE` | ARN | | AWS IAM | `awsIAMType` | `USER` | ARN | | x.509 | `x509Type` | `CUSTOMER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | x.509 | `x509Type` | `MANAGED` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `USER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `GROUP` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | OIDC Workforce | `oidcAuthType` | `IDP_GROUP` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP group name | | OIDC Workload | `oidcAuthType` | `USER` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP user name | | SCRAM-SHA | `awsIAMType`, `x509Type`, `ldapAuthType`, `oidcAuthType` | `NONE` | Alphanumeric string | */ username: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupDatabaseUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), username: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupDatabaseUserRequest", }) as any as S.Schema; export interface GetGroupDataFederationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the Federated Database to return. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupDataFederationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupDataFederationRequest", }) as any as S.Schema; export type GetGroupDataFederationLimitRequestLimitName = | "bytesProcessed.query" | "bytesProcessed.daily" | "bytesProcessed.weekly" | "bytesProcessed.monthly"; export const GetGroupDataFederationLimitRequestLimitName = S.String; export interface GetGroupDataFederationLimitRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the federated database instance to which the query limit applies. */ tenantName: string; /** Human-readable label that identifies this data federation instance limit. | Limit Name | Description | Default | | --- | --- | --- | | `bytesProcessed.query` | Limit on the number of bytes processed during a single data federation query | N/A | | `bytesProcessed.daily` | Limit on the number of bytes processed for the data federation instance for the current day | N/A | | `bytesProcessed.weekly` | Limit on the number of bytes processed for the data federation instance for the current week | N/A | | `bytesProcessed.monthly` | Limit on the number of bytes processed for the data federation instance for the current month | N/A | */ limitName: GetGroupDataFederationLimitRequestLimitName | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupDataFederationLimitRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), limitName: GetGroupDataFederationLimitRequestLimitName.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/limits/{limitName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupDataFederationLimitRequest", }) as any as S.Schema; /** Only used for Data Federation limits. Action to take when the usage limit is exceeded. If limit span is set to QUERY, this is ignored because MongoDB Cloud stops the query when it exceeds the usage limit. */ export type DataFederationTenantQueryLimitOverrunPolicy = | "BLOCK" | "BLOCK_AND_KILL"; export const DataFederationTenantQueryLimitOverrunPolicy = S.String; /** Details of a tenant-level query limit for Data Federation. Query limit is the limit on the amount of usage during a time period based on cost. */ export interface DataFederationTenantQueryLimit { /** Amount that indicates the current usage of the limit. */ currentUsage?: number; /** Default value of the limit. */ defaultLimit?: number; /** Only used for Data Federation limits. Timestamp that indicates when this usage limit was last modified. This field uses the ISO 8601 timestamp format in UTC. */ lastModifiedDate?: string; /** Maximum value of the limit. */ maximumLimit?: number; /** Human-readable label that identifies the user-managed limit to modify. */ name: string; /** Only used for Data Federation limits. Action to take when the usage limit is exceeded. If limit span is set to QUERY, this is ignored because MongoDB Cloud stops the query when it exceeds the usage limit. */ overrunPolicy?: DataFederationTenantQueryLimitOverrunPolicy; /** Human-readable label that identifies the Federated Database Instance. If specified, the usage limit is for the specified federated database instance only. If omitted, the usage limit is for all federated database instances in the project. */ tenantName?: string; /** Amount to set the limit to. */ value: number; } export const DataFederationTenantQueryLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ currentUsage: S.optional(S.Number), defaultLimit: S.optional(S.Number), lastModifiedDate: S.optional(S.String), maximumLimit: S.optional(S.Number), name: S.String, overrunPolicy: S.optional(DataFederationTenantQueryLimitOverrunPolicy), tenantName: S.optional(S.String), value: S.Number, }), ).annotate({ identifier: "DataFederationTenantQueryLimit", }) as any as S.Schema; export interface GetGroupDbAccessHistoryClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the response returns the successful authentication attempts only. */ authResult?: boolean; /** Date and time when to stop retrieving database history. If you specify **end**, you must also specify **start**. This parameter uses UNIX epoch time in milliseconds. */ end?: number; /** One Internet Protocol address that attempted to authenticate with the database. */ ipAddress?: string; /** Maximum number of lines from the log to return. */ nLogs?: number; /** Date and time when MongoDB Cloud begins retrieving database history. If you specify **start**, you must also specify **end**. This parameter uses UNIX epoch time in milliseconds. */ start?: number; } export const GetGroupDbAccessHistoryClusterRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), authResult: S.optional(S.Boolean.pipe(T.Query())), end: S.optional(S.Number.pipe(T.Query())), ipAddress: S.optional(S.String.pipe(T.Query())), nLogs: S.optional(S.Number.pipe(T.Query())), start: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/dbAccessHistory/clusters/{clusterName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupDbAccessHistoryClusterRequest", }) as any as S.Schema; /** Authentication attempt, one per object, made against the cluster. */ export interface MongoDBAccessLogs { /** Flag that indicates whether the response should return successful authentication attempts only. */ authResult?: boolean; /** Database against which someone attempted to authenticate. */ authSource?: string; /** Reason that the authentication failed. Null if authentication succeeded. */ failureReason?: string; /** Unique 24-hexadecimal character string that identifies the project. */ groupId?: string; /** Human-readable label that identifies the hostname of the target node that received the authentication attempt. */ hostname?: string; /** Internet Protocol address that attempted to authenticate with the database. */ ipAddress?: string; /** Text of the host log concerning the authentication attempt. */ logLine?: string; /** Date and time when someone made this authentication attempt. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. */ timestamp?: string; /** Username used to authenticate against the database. */ username?: string; } export const MongoDBAccessLogs = /*@__PURE__*/ S.suspend(() => S.Struct({ authResult: S.optional(S.Boolean), authSource: S.optional(S.String), failureReason: S.optional(S.String), groupId: S.optional(S.String), hostname: S.optional(S.String), ipAddress: S.optional(S.String), logLine: S.optional(S.String), timestamp: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "MongoDBAccessLogs", }) as any as S.Schema; /** Authentication attempt, one per object, made against the cluster. */ export type MongoDBAccessLogsListAccessLogsList = Array; export const MongoDBAccessLogsListAccessLogsList = /*@__PURE__*/ S.Array( MongoDBAccessLogs, ) as any as S.Schema; export interface MongoDBAccessLogsList { /** Authentication attempt, one per object, made against the cluster. */ accessLogs?: MongoDBAccessLogsListAccessLogsList; } export const MongoDBAccessLogsList = /*@__PURE__*/ S.suspend(() => S.Struct({ accessLogs: S.optional(MongoDBAccessLogsListAccessLogsList), }), ).annotate({ identifier: "MongoDBAccessLogsList", }) as any as S.Schema; export interface GetGroupDbAccessHistoryProcessRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Fully qualified domain name or IP address of the MongoDB host that stores the log files that you want to download. */ hostname: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the response returns the successful authentication attempts only. */ authResult?: boolean; /** Date and time when to stop retrieving database history. If you specify **end**, you must also specify **start**. This parameter uses UNIX epoch time in milliseconds. */ end?: number; /** One Internet Protocol address that attempted to authenticate with the database. */ ipAddress?: string; /** Maximum number of lines from the log to return. */ nLogs?: number; /** Date and time when MongoDB Cloud begins retrieving database history. If you specify **start**, you must also specify **end**. This parameter uses UNIX epoch time in milliseconds. */ start?: number; } export const GetGroupDbAccessHistoryProcessRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), hostname: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), authResult: S.optional(S.Boolean.pipe(T.Query())), end: S.optional(S.Number.pipe(T.Query())), ipAddress: S.optional(S.String.pipe(T.Query())), nLogs: S.optional(S.Number.pipe(T.Query())), start: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/dbAccessHistory/processes/{hostname}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupDbAccessHistoryProcessRequest", }) as any as S.Schema; export interface GetGroupEncryptionAtRestRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupEncryptionAtRestRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/encryptionAtRest", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupEncryptionAtRestRequest", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type AWSKMSConfigurationOutputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const AWSKMSConfigurationOutputRegion = S.String; /** Amazon Web Services (AWS) KMS configuration details and encryption at rest configuration set for the specified project. */ export interface AWSKMSConfigurationOutput { /** Unique alphanumeric string that identifies an Identity and Access Management (IAM) access key with permissions required to access your Amazon Web Services (AWS) Customer Master Key (CMK). */ accessKeyID?: string | Redacted.Redacted; /** Unique alphanumeric string that identifies the Amazon Web Services (AWS) Customer Master Key (CMK) you used to encrypt and decrypt the MongoDB master keys. */ customerMasterKeyID?: string; /** Flag that indicates whether someone enabled encryption at rest for the specified project through Amazon Web Services (AWS) Key Management Service (KMS). To disable encryption at rest using customer key management and remove the configuration details, pass only this parameter with a value of `false`. */ enabled?: boolean; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: AWSKMSConfigurationOutputRegion; /** Enable connection to your Amazon Web Services (AWS) Key Management Service (KMS) over private networking. */ requirePrivateNetworking?: boolean; /** Flag that indicates whether the Amazon Web Services (AWS) Key Management Service (KMS) encryption key can encrypt and decrypt data. */ valid?: boolean; } export const AWSKMSConfigurationOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ accessKeyID: S.optional(S.String.pipe(T.SensitiveValue({}))), customerMasterKeyID: S.optional(S.String), enabled: S.optional(S.Boolean), region: S.optional(AWSKMSConfigurationOutputRegion), requirePrivateNetworking: S.optional(S.Boolean), valid: S.optional(S.Boolean), }), ).annotate({ identifier: "AWSKMSConfigurationOutput", }) as any as S.Schema; /** Azure environment in which your account credentials reside. */ export type AzureKeyVaultOutputAzureEnvironment = | "AZURE" | "AZURE_CHINA" | "AZURE_US_GOVERNMENT"; export const AzureKeyVaultOutputAzureEnvironment = S.String; /** Details that define the configuration of Encryption at Rest using Azure Key Vault (AKV). */ export interface AzureKeyVaultOutput { /** Azure environment in which your account credentials reside. */ azureEnvironment?: AzureKeyVaultOutputAzureEnvironment; /** Unique 36-hexadecimal character string that identifies an Azure application associated with your Azure Active Directory tenant. */ clientID?: string; /** Flag that indicates whether someone enabled encryption at rest for the specified project. To disable encryption at rest using customer key management and remove the configuration details, pass only this parameter with a value of `false`. */ enabled?: boolean; /** Web address with a unique key that identifies for your Azure Key Vault. */ keyIdentifier?: string; /** Unique string that identifies the Azure Key Vault that contains your key. This field cannot be modified when you enable and set up private endpoint connections to your Azure Key Vault. */ keyVaultName?: string; /** Enable connection to your Azure Key Vault over private networking. */ requirePrivateNetworking?: boolean; /** Name of the Azure resource group that contains your Azure Key Vault. This field cannot be modified when you enable and set up private endpoint connections to your Azure Key Vault. */ resourceGroupName?: string; /** Unique 24-hexadecimal digit string that identifies the Azure Service Principal that MongoDB Cloud uses to access the Azure Key Vault. */ roleId?: string; /** Unique 36-hexadecimal character string that identifies your Azure subscription. This field cannot be modified when you enable and set up private endpoint connections to your Azure Key Vault. */ subscriptionID?: string; /** Unique 36-hexadecimal character string that identifies the Azure Active Directory tenant within your Azure subscription. */ tenantID?: string; /** Flag that indicates whether the Azure encryption key can encrypt and decrypt data. */ valid?: boolean; } export const AzureKeyVaultOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ azureEnvironment: S.optional(AzureKeyVaultOutputAzureEnvironment), clientID: S.optional(S.String), enabled: S.optional(S.Boolean), keyIdentifier: S.optional(S.String), keyVaultName: S.optional(S.String), requirePrivateNetworking: S.optional(S.Boolean), resourceGroupName: S.optional(S.String), roleId: S.optional(S.String), subscriptionID: S.optional(S.String), tenantID: S.optional(S.String), valid: S.optional(S.Boolean), }), ).annotate({ identifier: "AzureKeyVaultOutput", }) as any as S.Schema; /** Details that define the configuration of Encryption at Rest using Google Cloud Key Management Service (KMS). */ export interface GoogleCloudKMSOutput { /** Flag that indicates whether someone enabled encryption at rest for the specified project. To disable encryption at rest using customer key management and remove the configuration details, pass only this parameter with a value of `false`. */ enabled?: boolean; /** Resource path that displays the key version resource ID for your Google Cloud KMS. */ keyVersionResourceID?: string; /** Unique 24-hexadecimal digit string that identifies the Google Cloud Provider Access Role that MongoDB Cloud uses to access the Google Cloud KMS. */ roleId?: string; /** Flag that indicates whether the Google Cloud Key Management Service (KMS) encryption key can encrypt and decrypt data. */ valid?: boolean; } export const GoogleCloudKMSOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), keyVersionResourceID: S.optional(S.String), roleId: S.optional(S.String), valid: S.optional(S.Boolean), }), ).annotate({ identifier: "GoogleCloudKMSOutput", }) as any as S.Schema; export interface EncryptionAtRestOutput { awsKms?: AWSKMSConfigurationOutput; azureKeyVault?: AzureKeyVaultOutput; /** Flag that indicates whether Encryption at Rest for Dedicated Search Nodes is enabled in the specified project. */ enabledForSearchNodes?: boolean; googleCloudKms?: GoogleCloudKMSOutput; } export const EncryptionAtRestOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ awsKms: S.optional(AWSKMSConfigurationOutput), azureKeyVault: S.optional(AzureKeyVaultOutput), enabledForSearchNodes: S.optional(S.Boolean), googleCloudKms: S.optional(GoogleCloudKMSOutput), }), ).annotate({ identifier: "EncryptionAtRestOutput", }) as any as S.Schema; export type GetGroupEncryptionAtRestPrivateEndpointRequestCloudProvider = | "AZURE" | "AWS"; export const GetGroupEncryptionAtRestPrivateEndpointRequestCloudProvider = S.String; export interface GetGroupEncryptionAtRestPrivateEndpointRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cloud provider of the private endpoint. */ cloudProvider: | GetGroupEncryptionAtRestPrivateEndpointRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the private endpoint. */ endpointId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupEncryptionAtRestPrivateEndpointRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: GetGroupEncryptionAtRestPrivateEndpointRequestCloudProvider.pipe( T.Label(), ), endpointId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/encryptionAtRest/{cloudProvider}/privateEndpoints/{endpointId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupEncryptionAtRestPrivateEndpointRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider for the Encryption At Rest private endpoint. */ export type AzureKeyVaultEARPrivateEndpointCloudProvider = "AZURE" | "AWS"; export const AzureKeyVaultEARPrivateEndpointCloudProvider = S.String; /** Microsoft Azure Regions. */ export type AzureKeyVaultEARPrivateEndpointRegionNameCase0 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AzureKeyVaultEARPrivateEndpointRegionNameCase0 = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type AzureKeyVaultEARPrivateEndpointRegionNameCase1 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const AzureKeyVaultEARPrivateEndpointRegionNameCase1 = S.String; /** Cloud provider region in which the Encryption At Rest private endpoint is located. */ export type AzureKeyVaultEARPrivateEndpointRegionName = | AzureKeyVaultEARPrivateEndpointRegionNameCase0 | AzureKeyVaultEARPrivateEndpointRegionNameCase1; export const AzureKeyVaultEARPrivateEndpointRegionName = S.Unknown as any as S.Schema; /** State of the Encryption At Rest private endpoint. */ export type AzureKeyVaultEARPrivateEndpointStatus = | "INITIATING" | "PENDING_ACCEPTANCE" | "ACTIVE" | "FAILED" | "PENDING_RECREATION" | "DELETING"; export const AzureKeyVaultEARPrivateEndpointStatus = S.String; /** Azure Key Vault Encryption At Rest Private Endpoint. */ export interface AzureKeyVaultEARPrivateEndpoint { /** Human-readable label that identifies the cloud provider for the Encryption At Rest private endpoint. */ cloudProvider?: AzureKeyVaultEARPrivateEndpointCloudProvider; /** Error message for failures associated with the Encryption At Rest private endpoint. */ errorMessage?: string; /** Unique 24-hexadecimal digit string that identifies the Private Endpoint Service. */ id?: string; /** Connection name of the Azure Private Endpoint. */ privateEndpointConnectionName?: string; /** Cloud provider region in which the Encryption At Rest private endpoint is located. */ regionName?: AzureKeyVaultEARPrivateEndpointRegionName; /** State of the Encryption At Rest private endpoint. */ status?: AzureKeyVaultEARPrivateEndpointStatus; } export const AzureKeyVaultEARPrivateEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(AzureKeyVaultEARPrivateEndpointCloudProvider), errorMessage: S.optional(S.String), id: S.optional(S.String), privateEndpointConnectionName: S.optional(S.String), regionName: S.optional(AzureKeyVaultEARPrivateEndpointRegionName), status: S.optional(AzureKeyVaultEARPrivateEndpointStatus), }), ).annotate({ identifier: "AzureKeyVaultEARPrivateEndpoint", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider for the Encryption At Rest private endpoint. */ export type AWSKMSEARPrivateEndpointCloudProvider = "AZURE" | "AWS"; export const AWSKMSEARPrivateEndpointCloudProvider = S.String; /** Microsoft Azure Regions. */ export type AWSKMSEARPrivateEndpointRegionNameCase0 = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AWSKMSEARPrivateEndpointRegionNameCase0 = S.String; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type AWSKMSEARPrivateEndpointRegionNameCase1 = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const AWSKMSEARPrivateEndpointRegionNameCase1 = S.String; /** Cloud provider region in which the Encryption At Rest private endpoint is located. */ export type AWSKMSEARPrivateEndpointRegionName = | AWSKMSEARPrivateEndpointRegionNameCase0 | AWSKMSEARPrivateEndpointRegionNameCase1; export const AWSKMSEARPrivateEndpointRegionName = S.Unknown as any as S.Schema; /** State of the Encryption At Rest private endpoint. */ export type AWSKMSEARPrivateEndpointStatus = | "INITIATING" | "PENDING_ACCEPTANCE" | "ACTIVE" | "FAILED" | "PENDING_RECREATION" | "DELETING"; export const AWSKMSEARPrivateEndpointStatus = S.String; /** AWS Key Management Service Encryption At Rest Private Endpoint. */ export interface AWSKMSEARPrivateEndpoint { /** Human-readable label that identifies the cloud provider for the Encryption At Rest private endpoint. */ cloudProvider?: AWSKMSEARPrivateEndpointCloudProvider; /** Error message for failures associated with the Encryption At Rest private endpoint. */ errorMessage?: string; /** Unique 24-hexadecimal digit string that identifies the Private Endpoint Service. */ id?: string; /** Resource Id of the Aws Private Endpoint. */ privateEndpointConnectionName?: string; /** Cloud provider region in which the Encryption At Rest private endpoint is located. */ regionName?: AWSKMSEARPrivateEndpointRegionName; /** State of the Encryption At Rest private endpoint. */ status?: AWSKMSEARPrivateEndpointStatus; } export const AWSKMSEARPrivateEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(AWSKMSEARPrivateEndpointCloudProvider), errorMessage: S.optional(S.String), id: S.optional(S.String), privateEndpointConnectionName: S.optional(S.String), regionName: S.optional(AWSKMSEARPrivateEndpointRegionName), status: S.optional(AWSKMSEARPrivateEndpointStatus), }), ).annotate({ identifier: "AWSKMSEARPrivateEndpoint", }) as any as S.Schema; /** Encryption At Rest Private Endpoint. */ export type EARPrivateEndpoint = | AzureKeyVaultEARPrivateEndpoint | AWSKMSEARPrivateEndpoint; export const EARPrivateEndpoint = S.Unknown as any as S.Schema; export interface GetGroupEventRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the event that you want to return. */ eventId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether to include the raw document in the output. The raw document contains additional meta information about the event. */ includeRaw?: boolean; } export const GetGroupEventRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), eventId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), includeRaw: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/events/{eventId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupEventRequest", }) as any as S.Schema; /** Information about a principal, such as an OAuth application, that triggered the event through delegated access. */ export interface Principal { /** The identifier of this principal. */ id?: string; /** The human-readable name of this principal. */ name?: string; onBehalfOf?: Principal; } export const Principal = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.String), name: S.optional(S.String), onBehalfOf: S.optional(Principal), }), ).annotate({ identifier: "Principal" }) as any as S.Schema; export type DefaultEventViewForNdsGroupEventTypeNameCase0 = | "AUTO_INDEXING_ENABLED" | "AUTO_INDEXING_DISABLED" | "AUTO_INDEXING_INDEX_BUILD_SUBMITTED" | "AUTO_INDEXING_SLOW_INDEX_BUILD" | "AUTO_INDEXING_STALLED_INDEX_BUILD" | "AUTO_INDEXING_FAILED_INDEX_BUILD" | "AUTO_INDEXING_COMPLETED_INDEX_BUILD" | "AUTO_INDEXING_STARTED_INDEX_BUILD"; export const DefaultEventViewForNdsGroupEventTypeNameCase0 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase1 = | "PEER_CREATED" | "PEER_DELETED" | "PEER_UPDATED"; export const DefaultEventViewForNdsGroupEventTypeNameCase1 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase2 = | "AZURE_PEER_CREATED" | "AZURE_PEER_UPDATED" | "AZURE_PEER_ACTIVE" | "AZURE_PEER_DELETED"; export const DefaultEventViewForNdsGroupEventTypeNameCase2 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase3 = | "CLUSTER_CONNECTION_GET_DATABASES" | "CLUSTER_CONNECTION_GET_DATABASE_COLLECTIONS" | "CLUSTER_CONNECTION_GET_DATABASE_NAMESPACES" | "CLUSTER_CONNECTION_GET_NAMESPACES_WITH_UUID" | "CLUSTER_CONNECTION_GET_AGGREGATED_VIEW_INFOS" | "CLUSTER_CONNECTION_AGGREGATE" | "CLUSTER_CONNECTION_CREATE_COLLECTION" | "CLUSTER_CONNECTION_SAMPLE_COLLECTION_FIELD_NAMES" | "CLUSTER_CONNECTION_SAMPLE_COLLECTION_FIELD_NAMES_AND_TYPES" | "CLUSTER_CONNECTION_FIND_DOCUMENTS" | "CLUSTER_CONNECTION_GET_NAMESPACES_AND_PROJECT_SQL_SCHEMA_DATA"; export const DefaultEventViewForNdsGroupEventTypeNameCase3 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase4 = | "CPS_SNAPSHOT_STARTED" | "CPS_SNAPSHOT_SUCCESSFUL" | "CPS_SNAPSHOT_FAILED" | "CPS_CONCURRENT_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_SNAPSHOT_FALLBACK_SUCCESSFUL" | "CPS_SNAPSHOT_BEHIND" | "CPS_COPY_SNAPSHOT_STARTED" | "CPS_COPY_SNAPSHOT_FAILED" | "CPS_COPY_SNAPSHOT_FAILED_WILL_RETRY" | "CPS_COPY_SNAPSHOT_SUCCESSFUL" | "CPS_PREV_SNAPSHOT_OLD" | "CPS_SNAPSHOT_FALLBACK_FAILED" | "CPS_RESTORE_SUCCESSFUL" | "CPS_EXPORT_SUCCESSFUL" | "CPS_RESTORE_FAILED" | "CPS_EXPORT_FAILED" | "CPS_COLLECTION_RESTORE_SUCCESSFUL" | "CPS_COLLECTION_RESTORE_FAILED" | "CPS_COLLECTION_RESTORE_PARTIAL_SUCCESS" | "CPS_COLLECTION_RESTORE_CANCELED" | "CPS_AUTO_EXPORT_FAILED" | "CPS_SNAPSHOT_DOWNLOAD_REQUEST_FAILED" | "CPS_OPLOG_BEHIND" | "CPS_OPLOG_CAUGHT_UP"; export const DefaultEventViewForNdsGroupEventTypeNameCase4 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase5 = | "CPS_DATA_PROTECTION_ENABLE_REQUESTED" | "CPS_DATA_PROTECTION_ENABLED" | "CPS_DATA_PROTECTION_UPDATE_REQUESTED" | "CPS_DATA_PROTECTION_UPDATED" | "CPS_DATA_PROTECTION_DISABLE_REQUESTED" | "CPS_DATA_PROTECTION_DISABLED" | "CPS_DATA_PROTECTION_APPROVED_FOR_DISABLEMENT"; export const DefaultEventViewForNdsGroupEventTypeNameCase5 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase6 = | "CPS_RESTORE_REQUESTED_AUDIT" | "CPS_RESTORE_AUTH_AUDIT" | "CPS_SNAPSHOT_SCHEDULE_UPDATED_AUDIT" | "CPS_SNAPSHOT_FASTER_RESTORES_START_AUDIT" | "CPS_SNAPSHOT_FASTER_RESTORES_SUCCESS_AUDIT" | "CPS_SNAPSHOT_FASTER_RESTORES_FAILED_AUDIT" | "CPS_SNAPSHOT_DELETED_AUDIT" | "CPS_SNAPSHOT_RETENTION_MODIFIED_AUDIT" | "CPS_SNAPSHOT_IN_PROGRESS_AUDIT" | "CPS_SNAPSHOT_COMPLETED_AUDIT" | "CPS_ON_DEMAND_SNAPSHOT_REQUESTED" | "CPS_OPLOG_CAUGHT_UP_AUDIT" | "CPS_OPLOG_BEHIND_AUDIT"; export const DefaultEventViewForNdsGroupEventTypeNameCase6 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase7 = | "AWS_ENCRYPTION_KEY_ROTATED" | "AWS_ENCRYPTION_KEY_NEEDS_ROTATION" | "AZURE_ENCRYPTION_KEY_ROTATED" | "AZURE_ENCRYPTION_KEY_NEEDS_ROTATION" | "GCP_ENCRYPTION_KEY_ROTATED" | "GCP_ENCRYPTION_KEY_NEEDS_ROTATION" | "AWS_ENCRYPTION_KEY_VALID" | "AWS_ENCRYPTION_KEY_INVALID" | "AZURE_ENCRYPTION_KEY_VALID" | "AZURE_ENCRYPTION_KEY_INVALID" | "GCP_ENCRYPTION_KEY_VALID" | "GCP_ENCRYPTION_KEY_INVALID"; export const DefaultEventViewForNdsGroupEventTypeNameCase7 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase8 = | "BUCKET_CREATED_AUDIT" | "BUCKET_DELETED_AUDIT"; export const DefaultEventViewForNdsGroupEventTypeNameCase8 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase9 = | "GCP_PEER_CREATED" | "GCP_PEER_DELETED" | "GCP_PEER_UPDATED" | "GCP_PEER_ACTIVE" | "GCP_PEER_INACTIVE"; export const DefaultEventViewForNdsGroupEventTypeNameCase9 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase10 = | "DATA_EXPLORER_ENABLED" | "DATA_EXPLORER_DISABLED" | "CREDIT_CARD_ADDED" | "CREDIT_CARD_UPDATED" | "GROUP_DELETED" | "GROUP_CREATED" | "GROUP_MOVED" | "GROUP_TEMPORARILY_ACTIVATED" | "GROUP_ACTIVATED" | "GROUP_LOCKED" | "GROUP_SUSPENDED" | "GROUP_FLUSHED" | "GROUP_NAME_CHANGED" | "GROUP_CHARTS_ACTIVATION_REQUESTED" | "GROUP_CHARTS_ACTIVATED" | "GROUP_CHARTS_UPGRADED" | "GROUP_CHARTS_RESET" | "GROUP_DEFAULT_ALERTS_SETTINGS_CHANGED"; export const DefaultEventViewForNdsGroupEventTypeNameCase10 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase11 = | "PAID_IN_FULL" | "DELINQUENT" | "ALL_USERS_HAVE_MULTI_FACTOR_AUTH" | "USERS_WITHOUT_MULTI_FACTOR_AUTH" | "ENCRYPTION_AT_REST_KMS_NETWORK_ACCESS_DENIED" | "ENCRYPTION_AT_REST_KMS_NETWORK_ACCESS_RESTORED" | "ENCRYPTION_AT_REST_CONFIG_NO_LONGER_VALID" | "ENCRYPTION_AT_REST_CONFIG_IS_VALID" | "GROUP_SERVICE_ACCOUNT_SECRETS_NO_LONGER_EXPIRING" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRING" | "GROUP_SERVICE_ACCOUNT_SECRETS_NO_LONGER_EXPIRED" | "GROUP_SERVICE_ACCOUNT_SECRETS_EXPIRED" | "ACTIVE_LEGACY_TLS_CONNECTIONS" | "NO_ACTIVE_LEGACY_TLS_CONNECTIONS" | "WEBHOOK_TEMPLATE_RENDER_FAILED"; export const DefaultEventViewForNdsGroupEventTypeNameCase11 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase12 = | "INTEGRATION_CONFIGURED" | "INTEGRATION_REMOVED"; export const DefaultEventViewForNdsGroupEventTypeNameCase12 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase13 = | "ROLLING_INDEX_FAILED_INDEX_BUILD" | "ROLLING_INDEX_SUCCESS_INDEX_BUILD" | "INDEX_FAILED_INDEX_BUILD" | "INDEX_SUCCESS_INDEX_BUILD"; export const DefaultEventViewForNdsGroupEventTypeNameCase13 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase14 = | "DB_CHECK_UPDATED" | "CLUSTER_SAMPLED_FOR_DB_CHECK" | "DB_CHECK_SCHEDULED_FOR_CLUSTER" | "DB_CHECK_DEFERRED_FOR_CLUSTER" | "CLUSTER_OPTED_OUT_OF_DB_CHECK"; export const DefaultEventViewForNdsGroupEventTypeNameCase14 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase15 = | "CLUSTER_SAMPLED_FOR_DATA_VALIDATION" | "DATA_VALIDATION_SUBMITTED_FOR_CLUSTER" | "CLUSTER_OPTED_OUT_OF_DATA_VALIDATION" | "REPLICA_SET_SAMPLED_FOR_INTER_NODE_DATA_VALIDATION" | "REPLICA_SET_OPTED_OUT_OF_INTER_NODE_DATA_VALIDATION" | "INTER_NODE_DATA_VALIDATION_SUBMITTED_FOR_REPLICA_SET"; export const DefaultEventViewForNdsGroupEventTypeNameCase15 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase16 = | "MAINTENANCE_IN_ADVANCED" | "MAINTENANCE_AUTO_DEFERRED" | "MAINTENANCE_STARTED" | "MAINTENANCE_COMPLETED" | "MAINTENANCE_NO_LONGER_NEEDED"; export const DefaultEventViewForNdsGroupEventTypeNameCase16 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase17 = | "SERVERLESS_AUTO_SCALING_INITIATED" | "SERVERLESS_VERTICAL_SCALING_INITIATED" | "SERVERLESS_HORIZONTAL_SCALING_INITIATED" | "SERVERLESS_MTM_DRAIN_REQUESTED" | "SERVERLESS_MTM_DRAIN_INITIATED" | "SERVERLESS_MTM_DRAIN_COMPLETED" | "SERVERLESS_MTM_DRAIN_STOPPED"; export const DefaultEventViewForNdsGroupEventTypeNameCase17 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase18 = | "TENANT_ENDPOINT_SERVICE_DEPLOYMENT_CREATED" | "TENANT_ENDPOINT_SERVICE_CREATED" | "TENANT_ENDPOINT_SERVICE_AVAILABLE" | "TENANT_ENDPOINT_SERVICE_DEPLOYMENT_DELETE_REQUESTED" | "TENANT_ENDPOINT_SERVICE_DELETED" | "TENANT_ENDPOINT_SERVICE_DEPLOYMENT_DELETED" | "TENANT_ENDPOINT_SERVICE_DEPLOYMENT_NUM_DESIRED_ENDPOINT_SERVICES_INCREASED"; export const DefaultEventViewForNdsGroupEventTypeNameCase18 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase19 = | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CA_EXPIRATION_RESOLVED" | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CA_EXPIRATION_CHECK" | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CRL_EXPIRATION_RESOLVED" | "NDS_X509_USER_AUTHENTICATION_CUSTOMER_CRL_EXPIRATION_CHECK" | "NDS_X509_USER_AUTHENTICATION_MANAGED_USER_CERTS_EXPIRATION_RESOLVED" | "NDS_X509_USER_AUTHENTICATION_MANAGED_USER_CERTS_EXPIRATION_CHECK"; export const DefaultEventViewForNdsGroupEventTypeNameCase19 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase20 = | "ONLINE_ARCHIVE_INSUFFICIENT_INDEXES_CHECK" | "ONLINE_ARCHIVE_INSUFFICIENT_INDEXES_RESOLVED" | "ONLINE_ARCHIVE_UP_TO_DATE" | "ONLINE_ARCHIVE_DATA_EXPIRATION_RESOLVED" | "ONLINE_ARCHIVE_MAX_CONSECUTIVE_OFFLOAD_WINDOWS_CHECK"; export const DefaultEventViewForNdsGroupEventTypeNameCase20 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase21 = | "CROSS_REGION_SUPPORTED_REGION_MODIFIED" | "ENDPOINT_SERVICE_CREATED" | "ENDPOINT_SERVICE_CREATION_RETRIED" | "ENDPOINT_SERVICE_DELETED" | "INTERFACE_ENDPOINT_CREATED" | "INTERFACE_ENDPOINT_DELETED" | "INTERFACE_ENDPOINT_PATCHED" | "INTERFACE_ENDPOINT_RETRIED"; export const DefaultEventViewForNdsGroupEventTypeNameCase21 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase22 = "PROACTIVE_OPERATION_EVENT_LOGGED"; export const DefaultEventViewForNdsGroupEventTypeNameCase22 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase23 = | "SEARCH_DEPLOYMENT_CREATED" | "SEARCH_DEPLOYMENT_UPDATED" | "SEARCH_DEPLOYMENT_DELETED"; export const DefaultEventViewForNdsGroupEventTypeNameCase23 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase24 = | "SERVERLESS_DEPLOYMENT_CREATED" | "SERVERLESS_DEPLOYMENT_DELETED" | "SERVERLESS_DEPLOYMENT_UPDATED" | "SERVERLESS_DEPLOYMENT_INSTANCE_REPLACED" | "SERVERLESS_DEPLOYMENT_INSTANCE_REBOOTED" | "SERVERLESS_DEPLOYMENT_ENDPOINT_SERVICE_LINKED" | "SERVERLESS_DEPLOYMENT_ENDPOINT_SERVICE_UNLINKED" | "SERVERLESS_DEPLOYMENT_ENVOY_INSTANCE_UIS_KEYS_ROTATED"; export const DefaultEventViewForNdsGroupEventTypeNameCase24 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase25 = | "INSIDE_SERVERLESS_METRIC_THRESHOLD" | "OUTSIDE_SERVERLESS_METRIC_THRESHOLD"; export const DefaultEventViewForNdsGroupEventTypeNameCase25 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase26 = | "INSIDE_FLEX_METRIC_THRESHOLD" | "OUTSIDE_FLEX_METRIC_THRESHOLD"; export const DefaultEventViewForNdsGroupEventTypeNameCase26 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase27 = "SETUP_SERVERLESS_INITIATED"; export const DefaultEventViewForNdsGroupEventTypeNameCase27 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase28 = "MAX_PROCESSOR_COUNT_REACHED"; export const DefaultEventViewForNdsGroupEventTypeNameCase28 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase29 = | "STREAM_PROCESSOR_STATE_IS_FAILED" | "STREAM_PROCESSOR_STARTED" | "STREAM_PROCESSOR_AUTOSCALE_INITIATED" | "STREAM_PROCESSOR_CREATED" | "STREAM_PROCESSOR_STOPPED" | "STREAM_PROCESSOR_DROPPED" | "STREAM_PROCESSOR_MODIFIED" | "INSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD" | "OUTSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD"; export const DefaultEventViewForNdsGroupEventTypeNameCase29 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase30 = "CASE_CREATED"; export const DefaultEventViewForNdsGroupEventTypeNameCase30 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase31 = | "SUPPORT_EMAILS_SENT_SUCCESSFULLY" | "SUPPORT_EMAILS_SENT_FAILURE"; export const DefaultEventViewForNdsGroupEventTypeNameCase31 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase32 = | "TENANT_SNAPSHOT_STARTED_AUDIT" | "TENANT_SNAPSHOT_COMPLETED_AUDIT" | "TENANT_SNAPSHOT_DELETED_AUDIT" | "TENANT_RESTORE_REQUESTED_AUDIT" | "TENANT_RESTORE_COMPLETED_AUDIT" | "TENANT_SNAPSHOT_DOWNLOAD_REQUESTED_AUDIT"; export const DefaultEventViewForNdsGroupEventTypeNameCase32 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase33 = | "CLUSTER_FCV_FIXED" | "CLUSTER_FCV_UNFIXED" | "CLUSTER_FCV_EXPIRATION_DATE_UPDATED" | "CLUSTER_FCV_DOWNGRADED" | "CLUSTER_BINARY_VERSION_DOWNGRADED" | "CLUSTER_BINARY_VERSION_UPGRADED" | "CLUSTER_OS_FIXED" | "CLUSTER_OS_UNFIXED"; export const DefaultEventViewForNdsGroupEventTypeNameCase33 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase34 = "EMPLOYEE_DOWNLOADED_CLUSTER_LOGS"; export const DefaultEventViewForNdsGroupEventTypeNameCase34 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase35 = | "QUERY_SHAPE_BLOCKED" | "QUERY_SHAPE_UNBLOCKED"; export const DefaultEventViewForNdsGroupEventTypeNameCase35 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase36 = | "SHARD_KEY_ANALYSIS_STARTED" | "SHARD_KEY_ANALYSIS_FINISHED" | "QUERY_SAMPLING_STARTED" | "QUERY_SAMPLING_STOPPED"; export const DefaultEventViewForNdsGroupEventTypeNameCase36 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase37 = | "MONGOTUNE_INFO" | "MONGOTUNE_ALERT"; export const DefaultEventViewForNdsGroupEventTypeNameCase37 = S.String; export type DefaultEventViewForNdsGroupEventTypeNameCase38 = | "AI_MODELS_APIS_API_KEY_CREATED" | "AI_MODELS_APIS_API_KEY_DELETED" | "AI_MODELS_APIS_API_KEY_UPDATED" | "AI_MODELS_APIS_RATE_LIMIT_UPDATED" | "AI_MODELS_APIS_RATE_LIMIT_RESET" | "AI_MODELS_APIS_RATE_LIMIT_ADMIN_OVERRIDE"; export const DefaultEventViewForNdsGroupEventTypeNameCase38 = S.String; /** Unique identifier of event type. */ export type DefaultEventViewForNdsGroupEventTypeName = | DefaultEventViewForNdsGroupEventTypeNameCase0 | DefaultEventViewForNdsGroupEventTypeNameCase1 | DefaultEventViewForNdsGroupEventTypeNameCase2 | DefaultEventViewForNdsGroupEventTypeNameCase3 | DefaultEventViewForNdsGroupEventTypeNameCase4 | DefaultEventViewForNdsGroupEventTypeNameCase5 | DefaultEventViewForNdsGroupEventTypeNameCase6 | DefaultEventViewForNdsGroupEventTypeNameCase7 | DefaultEventViewForNdsGroupEventTypeNameCase8 | DefaultEventViewForNdsGroupEventTypeNameCase9 | DefaultEventViewForNdsGroupEventTypeNameCase10 | DefaultEventViewForNdsGroupEventTypeNameCase11 | DefaultEventViewForNdsGroupEventTypeNameCase12 | DefaultEventViewForNdsGroupEventTypeNameCase13 | DefaultEventViewForNdsGroupEventTypeNameCase14 | DefaultEventViewForNdsGroupEventTypeNameCase15 | DefaultEventViewForNdsGroupEventTypeNameCase16 | DefaultEventViewForNdsGroupEventTypeNameCase17 | DefaultEventViewForNdsGroupEventTypeNameCase18 | DefaultEventViewForNdsGroupEventTypeNameCase19 | DefaultEventViewForNdsGroupEventTypeNameCase20 | DefaultEventViewForNdsGroupEventTypeNameCase21 | DefaultEventViewForNdsGroupEventTypeNameCase22 | DefaultEventViewForNdsGroupEventTypeNameCase23 | DefaultEventViewForNdsGroupEventTypeNameCase24 | DefaultEventViewForNdsGroupEventTypeNameCase25 | DefaultEventViewForNdsGroupEventTypeNameCase26 | DefaultEventViewForNdsGroupEventTypeNameCase27 | DefaultEventViewForNdsGroupEventTypeNameCase28 | DefaultEventViewForNdsGroupEventTypeNameCase29 | DefaultEventViewForNdsGroupEventTypeNameCase30 | DefaultEventViewForNdsGroupEventTypeNameCase31 | DefaultEventViewForNdsGroupEventTypeNameCase32 | DefaultEventViewForNdsGroupEventTypeNameCase33 | DefaultEventViewForNdsGroupEventTypeNameCase34 | DefaultEventViewForNdsGroupEventTypeNameCase35 | DefaultEventViewForNdsGroupEventTypeNameCase36 | DefaultEventViewForNdsGroupEventTypeNameCase37 | DefaultEventViewForNdsGroupEventTypeNameCase38; export const DefaultEventViewForNdsGroupEventTypeName = S.Unknown as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DefaultEventViewForNdsGroupLinksList = Array; export const DefaultEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Severity of the event. */ export type RawSeverity = "INFO" | "WARNING" | "ERROR" | "CRITICAL"; export const RawSeverity = S.String; /** Additional meta information captured about this event. The response returns this parameter as a JSON object when the query parameter `includeRaw=true`. The list of fields in the raw document may change. Don't rely on raw values for formal monitoring. */ export interface Raw { /** Unique identifier of event type. */ _t?: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration related to the event. */ alertConfigId?: string; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. */ cid?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ cre?: string; /** Description of the event. */ description?: string | null; /** Human-readable label that identifies the project. */ gn?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id?: string; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Human-readable label that identifies the organization that contains the project. */ orgName?: string; /** Severity of the event. */ severity?: RawSeverity; } export const Raw = /*@__PURE__*/ S.suspend(() => S.Struct({ _t: S.optional(S.String), alertConfigId: S.optional(S.String), cid: S.optional(S.String), cre: S.optional(S.String), description: S.optional(S.NullOr(S.String)), gn: S.optional(S.String), id: S.optional(S.String), orgId: S.optional(S.String), orgName: S.optional(S.String), severity: S.optional(RawSeverity), }), ).annotate({ identifier: "Raw" }) as any as S.Schema; /** Other events which don't have extra details beside of basic one. */ export interface DefaultEventViewForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; /** Unique identifier of event type. */ eventTypeName: DefaultEventViewForNdsGroupEventTypeName; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DefaultEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const DefaultEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: DefaultEventViewForNdsGroupEventTypeName, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(DefaultEventViewForNdsGroupLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "DefaultEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type AlertAuditTypeView = | "ALERT_ACKNOWLEDGED_AUDIT" | "ALERT_UNACKNOWLEDGED_AUDIT"; export const AlertAuditTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AlertAuditLinksList = Array; export const AlertAuditLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Alert audit indicates acknowledgement status of an alert. */ export interface AlertAudit { /** Unique 24-hexadecimal digit string that identifies the alert associated with the event. */ alertId?: string; /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: AlertAuditTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AlertAuditLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const AlertAudit = /*@__PURE__*/ S.suspend(() => S.Struct({ alertId: S.optional(S.String), apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: AlertAuditTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(AlertAuditLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "AlertAudit" }) as any as S.Schema; /** Unique identifier of event type. */ export type AlertConfigAuditTypeView = | "ALERT_CONFIG_DISABLED_AUDIT" | "ALERT_CONFIG_ENABLED_AUDIT" | "ALERT_CONFIG_ADDED_AUDIT" | "ALERT_CONFIG_DELETED_AUDIT" | "ALERT_CONFIG_CHANGED_AUDIT"; export const AlertConfigAuditTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AlertConfigAuditLinksList = Array; export const AlertConfigAuditLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Alert configuration audit indicates any activities around alert settings. */ export interface AlertConfigAudit { /** Unique 24-hexadecimal digit string that identifies the alert configuration associated with the `alertId`. */ alertConfigId?: string; /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: AlertConfigAuditTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AlertConfigAuditLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const AlertConfigAudit = /*@__PURE__*/ S.suspend(() => S.Struct({ alertConfigId: S.optional(S.String), apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: AlertConfigAuditTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(AlertConfigAuditLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "AlertConfigAudit", }) as any as S.Schema; /** Unique identifier of event type. */ export type ApiUserEventTypeViewForNdsGroup = | "API_KEY_CREATED" | "API_KEY_DELETED" | "API_KEY_ACCESS_LIST_ENTRY_ADDED" | "API_KEY_ACCESS_LIST_ENTRY_DELETED" | "API_KEY_ROLES_CHANGED" | "API_KEY_DESCRIPTION_CHANGED" | "API_KEY_ADDED_TO_GROUP" | "API_KEY_REMOVED_FROM_GROUP" | "API_KEY_UI_IP_ACCESS_LIST_INHERITANCE_ENABLED" | "API_KEY_UI_IP_ACCESS_LIST_INHERITANCE_DISABLED"; export const ApiUserEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ApiUserEventViewForNdsGroupLinksList = Array; export const ApiUserEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** API User event identifies different activities around user API keys. */ export interface ApiUserEventViewForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: ApiUserEventTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ApiUserEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Public part of the API key that this event targets. */ targetPublicKey?: string | null; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; /** Entry in the list of source host addresses that the API key accepts and this event targets. */ whitelistEntry?: string | null; } export const ApiUserEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: ApiUserEventTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(ApiUserEventViewForNdsGroupLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), targetPublicKey: S.optional(S.NullOr(S.String)), userId: S.optional(S.String), username: S.optional(S.String), whitelistEntry: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "ApiUserEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type ServiceAccountEventTypeViewForNdsGroup = | "SERVICE_ACCOUNT_CREATED" | "SERVICE_ACCOUNT_DELETED" | "SERVICE_ACCOUNT_ROLES_CHANGED" | "SERVICE_ACCOUNT_DETAILS_CHANGED" | "SERVICE_ACCOUNT_ADDED_TO_GROUP" | "SERVICE_ACCOUNT_REMOVED_FROM_GROUP" | "SERVICE_ACCOUNT_ACCESS_LIST_ENTRY_ADDED" | "SERVICE_ACCOUNT_ACCESS_LIST_ENTRY_DELETED" | "SERVICE_ACCOUNT_SECRET_ADDED" | "SERVICE_ACCOUNT_SECRET_DELETED" | "SERVICE_ACCOUNT_UI_IP_ACCESS_LIST_INHERITANCE_ENABLED" | "SERVICE_ACCOUNT_UI_IP_ACCESS_LIST_INHERITANCE_DISABLED"; export const ServiceAccountEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ServiceAccountGroupEventsLinksList = Array; export const ServiceAccountGroupEventsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Service Account event identifies different activities around user API keys. */ export interface ServiceAccountGroupEvents { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: ServiceAccountEventTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ServiceAccountGroupEventsLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const ServiceAccountGroupEvents = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: ServiceAccountEventTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(ServiceAccountGroupEventsLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "ServiceAccountGroupEvents", }) as any as S.Schema; /** Unique identifier of event type. */ export type AutomationConfigEventTypeView = "AUTOMATION_CONFIG_PUBLISHED_AUDIT"; export const AutomationConfigEventTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AutomationConfigEventViewLinksList = Array; export const AutomationConfigEventViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Automation configuration event identifies that deployment configuration is published. */ export interface AutomationConfigEventView { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: AutomationConfigEventTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AutomationConfigEventViewLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const AutomationConfigEventView = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: AutomationConfigEventTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(AutomationConfigEventViewLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "AutomationConfigEventView", }) as any as S.Schema; /** Unique identifier of event type. */ export type AppServiceEventTypeView = | "URL_CONFIRMATION" | "SUCCESSFUL_DEPLOY" | "DEPLOYMENT_FAILURE" | "DEPLOYMENT_MODEL_CHANGE_SUCCESS" | "DEPLOYMENT_MODEL_CHANGE_FAILURE" | "REQUEST_RATE_LIMIT" | "LOG_FORWARDER_FAILURE" | "INSIDE_REALM_METRIC_THRESHOLD" | "OUTSIDE_REALM_METRIC_THRESHOLD" | "SYNC_FAILURE" | "TRIGGER_FAILURE" | "TRIGGER_AUTO_RESUMED"; export const AppServiceEventTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AppServiceEventViewLinksList = Array; export const AppServiceEventViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** App Services event identifies different activities about a BAAS application. */ export interface AppServiceEventView { /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: AppServiceEventTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AppServiceEventViewLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; raw?: Raw; } export const AppServiceEventView = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.String, eventTypeName: AppServiceEventTypeView, groupId: S.optional(S.String), id: S.String, links: S.optional(AppServiceEventViewLinksList), orgId: S.optional(S.String), raw: S.optional(Raw), }), ).annotate({ identifier: "AppServiceEventView", }) as any as S.Schema; /** Unique identifier of event type. */ export type BillingEventTypeViewForNdsGroup = | "CREDIT_CARD_CURRENT" | "CREDIT_CARD_ABOUT_TO_EXPIRE" | "PENDING_INVOICE_UNDER_THRESHOLD" | "PENDING_INVOICE_OVER_THRESHOLD" | "DAILY_BILL_UNDER_THRESHOLD" | "DAILY_BILL_OVER_THRESHOLD" | "DAILY_BILLING_CHANGE_NORMAL" | "DAILY_BILLING_CHANGE_OVER_THRESHOLD" | "WEEKLY_BILLING_CHANGE_NORMAL" | "WEEKLY_BILLING_CHANGE_OVER_THRESHOLD" | "MONTHLY_BILLING_CHANGE_NORMAL" | "MONTHLY_BILLING_CHANGE_OVER_THRESHOLD"; export const BillingEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type BillingEventViewForNdsGroupLinksList = Array; export const BillingEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Billing event identifies different activities related to billing, payment or financial status change of an organization. */ export interface BillingEventViewForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: BillingEventTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Unique 24-hexadecimal digit string that identifies of the invoice associated with the event. */ invoiceId?: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: BillingEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Unique 24-hexadecimal digit string that identifies the invoice payment associated with this event. */ paymentId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const BillingEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: BillingEventTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, invoiceId: S.optional(S.String), isGlobalAdmin: S.optional(S.Boolean), links: S.optional(BillingEventViewForNdsGroupLinksList), orgId: S.optional(S.String), paymentId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "BillingEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type ClusterEventTypeViewForNdsGroup = | "CLUSTER_MONGOS_IS_PRESENT" | "CLUSTER_MONGOS_IS_MISSING"; export const ClusterEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ClusterEventViewForNdsGroupLinksList = Array; export const ClusterEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Cluster event identifies different activities about cluster of mongod hosts. */ export interface ClusterEventViewForNdsGroup { /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: ClusterEventTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ClusterEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; raw?: Raw; /** Human-readable label of the shard associated with the event. */ shardName?: string; } export const ClusterEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.String, eventTypeName: ClusterEventTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, links: S.optional(ClusterEventViewForNdsGroupLinksList), orgId: S.optional(S.String), raw: S.optional(Raw), shardName: S.optional(S.String), }), ).annotate({ identifier: "ClusterEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type DataExplorerAccessedEventTypeView = | "DATA_EXPLORER" | "DATA_EXPLORER_CRUD_ATTEMPT" | "DATA_EXPLORER_CRUD_ERROR" | "DATA_EXPLORER_CRUD"; export const DataExplorerAccessedEventTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DataExplorerAccessedEventViewLinksList = Array; export const DataExplorerAccessedEventViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Data Explorer accessed event tracks different data operations via Data Explorer interactions. */ export interface DataExplorerAccessedEventView { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Human-readable label of the collection on which the event occurred. The resource returns this parameter when the `eventTypeName` includes `DATA_EXPLORER`. */ collection?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; /** Human-readable label of the database on which this incident occurred. The resource returns this parameter when `"eventTypeName" : "DATA_EXPLORER"` or `"eventTypeName" : "DATA_EXPLORER_CRUD"`. */ database?: string; delegatePrincipal?: Principal; eventTypeName: DataExplorerAccessedEventTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DataExplorerAccessedEventViewLinksList; /** Action that the database attempted to execute when the event triggered. The response returns this parameter when `eventTypeName" : "DATA_EXPLORER"`. */ opType?: string; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const DataExplorerAccessedEventView = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), collection: S.optional(S.String), created: S.String, database: S.optional(S.String), delegatePrincipal: S.optional(Principal), eventTypeName: DataExplorerAccessedEventTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(DataExplorerAccessedEventViewLinksList), opType: S.optional(S.String), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "DataExplorerAccessedEventView", }) as any as S.Schema; /** Unique identifier of event type. */ export type DataExplorerEventTypeView = "DATA_EXPLORER_SESSION_CREATED"; export const DataExplorerEventTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DataExplorerEventLinksList = Array; export const DataExplorerEventLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Data Explorer event tracks different Data Explorer operations. */ export interface DataExplorerEvent { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: DataExplorerEventTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DataExplorerEventLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the Data Explorer session associated with the event. */ sessionId?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const DataExplorerEvent = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: DataExplorerEventTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(DataExplorerEventLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), sessionId: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "DataExplorerEvent", }) as any as S.Schema; /** Unique identifier of event type. */ export type FTSIndexAuditTypeView = | "FTS_INDEX_DELETION_FAILED" | "FTS_INDEX_BUILD_COMPLETE" | "FTS_INDEX_BUILD_FAILED" | "FTS_INDEX_CREATED" | "FTS_INDEX_UPDATED" | "FTS_INDEX_PARTITIONS_CHANGED" | "FTS_INDEX_REBUILT" | "FTS_INDEX_DEFINITION_ROLLED_BACK" | "FTS_INDEX_DELETED" | "FTS_INDEX_CLEANED_UP" | "FTS_INDEX_STALE" | "FTS_INDEXES_RESTORED" | "FTS_INDEXES_RESTORE_FAILED" | "FTS_INDEXES_SYNONYM_MAPPING_INVALID"; export const FTSIndexAuditTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type FTSIndexAuditViewLinksList = Array; export const FTSIndexAuditViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** FTS index audit indicates any activities about search index. */ export interface FTSIndexAuditView { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: FTSIndexAuditTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: FTSIndexAuditViewLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const FTSIndexAuditView = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: FTSIndexAuditTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(FTSIndexAuditViewLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "FTSIndexAuditView", }) as any as S.Schema; /** Unique identifier of event type. */ export type HostEventTypeViewForNdsGroup = | "ATTEMPT_KILLOP_AUDIT" | "ATTEMPT_KILLSESSION_AUDIT" | "HOST_UP" | "HOST_DOWN" | "HOST_HAS_INDEX_SUGGESTIONS" | "HOST_MONGOT_RECOVERED_OOM" | "HOST_MONGOT_CRASHING_OOM" | "HOST_MONGOT_RESUME_REPLICATION" | "HOST_MONGOT_STOP_REPLICATION" | "HOST_MONGOT_UNPAUSE_INITIAL_SYNC" | "HOST_MONGOT_PAUSE_INITIAL_SYNC" | "HOST_MONGOT_SUFFICIENT_DISK_SPACE" | "HOST_MONGOT_APPROACHING_STOP_REPLICATION" | "HOST_MONGOT_RESTARTED" | "HOST_SEARCH_NODE_UNBLOCKED" | "HOST_SEARCH_NODE_INDEX_FAILED" | "HOST_SEARCH_PROCESS_NOT_THROTTLING" | "HOST_SEARCH_PROCESS_THROTTLING" | "HOST_EXTERNAL_LOG_SINK_EXPORT_DOWN" | "HOST_EXTERNAL_LOG_SINK_EXPORT_RESUMED" | "HOST_ENOUGH_DISK_SPACE" | "HOST_NOT_ENOUGH_DISK_SPACE" | "SSH_KEY_NDS_HOST_ACCESS_REQUESTED" | "SSH_KEY_NDS_HOST_ACCESS_REFRESHED" | "SSH_KEY_NDS_HOST_ACCESS_ATTEMPT" | "SSH_KEY_NDS_HOST_ACCESS_GRANTED" | "SSH_KEY_NDS_HOST_ACCESS_LEVEL_CHANGED" | "ALERT_HOST_SSH_SESSION_STARTED" | "HOST_SSH_SESSION_ENDED" | "HOST_X509_CERTIFICATE_CERTIFICATE_GENERATED_FOR_SUPPORT_ACCESS" | "PUSH_BASED_LOG_EXPORT_RESUMED" | "PUSH_BASED_LOG_EXPORT_STOPPED" | "PUSH_BASED_LOG_EXPORT_DROPPED_LOG" | "HOST_VERSION_BEHIND" | "VERSION_BEHIND" | "HOST_EXPOSED" | "HOST_SSL_CERTIFICATE_STALE" | "HOST_SECURITY_CHECKUP_NOT_MET" | "PROFILER_CONFIGURED_TOO_WIDELY"; export const HostEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type HostEventViewForNdsGroupLinksList = Array; export const HostEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Host event identifies different activities about mongod host. */ export interface HostEventViewForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; /** Desk location of MongoDB employee associated with the event. */ deskLocation?: string; /** Identifier of MongoDB employee associated with the event. */ employeeIdentifier?: string; eventTypeName: HostEventTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: HostEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** IANA port on which the MongoDB process listens for requests. */ port?: number; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Human-readable label of the replica set associated with the event. */ replicaSetName?: string; /** Human-readable label of the shard associated with the event. */ shardName?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const HostEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), deskLocation: S.optional(S.String), employeeIdentifier: S.optional(S.String), eventTypeName: HostEventTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(HostEventViewForNdsGroupLinksList), orgId: S.optional(S.String), port: S.optional(S.Number), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), replicaSetName: S.optional(S.String), shardName: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "HostEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type HostMetricEventTypeView = | "INSIDE_METRIC_THRESHOLD" | "OUTSIDE_METRIC_THRESHOLD"; export const HostMetricEventTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type HostMetricEventLinksList = Array; export const HostMetricEventLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Host Metric Event reflects different measurements and metrics about mongod host. */ export interface HostMetricEvent { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; currentValue?: HostMetricValue; delegatePrincipal?: Principal; /** Desk location of MongoDB employee associated with the event. */ deskLocation?: string; /** Identifier of MongoDB employee associated with the event. */ employeeIdentifier?: string; eventTypeName: HostMetricEventTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: HostMetricEventLinksList; /** Human-readable label of the metric associated with the `alertId`. This field may change type of `currentValue` field. */ metricName?: string; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** IANA port on which the MongoDB process listens for requests. */ port?: number; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Human-readable label of the replica set associated with the event. */ replicaSetName?: string; /** Human-readable label of the shard associated with the event. */ shardName?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const HostMetricEvent = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, currentValue: S.optional(HostMetricValue), delegatePrincipal: S.optional(Principal), deskLocation: S.optional(S.String), employeeIdentifier: S.optional(S.String), eventTypeName: HostMetricEventTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(HostMetricEventLinksList), metricName: S.optional(S.String), orgId: S.optional(S.String), port: S.optional(S.Number), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), replicaSetName: S.optional(S.String), shardName: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "HostMetricEvent", }) as any as S.Schema; /** Unique identifier of event type. */ export type NDSAuditTypeViewForNdsGroup = | "CLUSTER_CREATED" | "CLUSTER_RESURRECTED" | "CLUSTER_READY" | "CLUSTER_UPDATE_SUBMITTED" | "CLUSTER_PROCESS_ARGS_UPDATE_SUBMITTED" | "CLUSTER_MONGOT_PROCESS_ARGS_UPDATE_SUBMITTED" | "CLUSTER_SERVER_PARAMETERS_UPDATE_SUBMITTED" | "CLUSTER_AUTOMATICALLY_PAUSED" | "CLUSTER_UPDATE_STARTED" | "CLUSTER_UPDATE_STARTED_INTERNAL" | "CLUSTER_UPDATE_COMPLETED" | "MATERIAL_CLUSTER_UPDATE_COMPLETED_INTERNAL" | "CLUSTER_DELETE_SUBMITTED" | "CLUSTER_DELETE_SUBMITTED_INTERNAL" | "CLUSTER_DELETED" | "CLUSTER_IMPORT_STARTED" | "CLUSTER_IMPORT_CANCELLED" | "CLUSTER_IMPORT_EXPIRED" | "CLUSTER_IMPORT_CUTOVER" | "CLUSTER_IMPORT_COMPLETED" | "CLUSTER_IMPORT_FAILED" | "CLUSTER_IMPORT_RESTART_REQUESTED" | "PROJECT_LIVE_IMPORT_OVERRIDES_ADDED" | "PROJECT_LIVE_IMPORT_OVERRIDES_UPDATED" | "PROJECT_LIVE_IMPORT_OVERRIDES_DELETED" | "CLUSTER_OPLOG_RESIZED" | "CLUSTER_INSTANCE_RESTARTED" | "CLUSTER_INSTANCE_STOP_START" | "CLUSTER_INSTANCE_RESYNC_REQUESTED" | "CLUSTER_INSTANCE_RESYNC_CLEARED" | "CLUSTER_INSTANCE_UPDATE_REQUESTED" | "CLUSTER_INSTANCE_REPLACED" | "CLUSTER_INSTANCE_REPLACE_CLEARED" | "CLUSTER_INSTANCE_SWAPPED" | "CLUSTER_INSTANCE_SWAP_CLEARED" | "CLUSTER_INSTANCE_VM_RESTART_CLEARED" | "CLUSTER_INSTANCE_VM_REBOOT_CLEARED" | "CLUSTER_INSTANCE_CONFIG_UPDATED" | "CLUSTER_INSTANCE_AGENT_API_KEY_ROTATED" | "CLUSTER_INSTANCE_SSL_ROTATED" | "CLUSTER_INSTANCE_SSL_ROTATED_PER_CLUSTER" | "CLUSTER_INSTANCE_SSL_REVOKED" | "RELOAD_SSL_ON_PROCESSES" | "RELOAD_SSL_ON_PROCESSES_REQUESTED" | "CLUSTER_INSTANCE_ADMIN_BACKUP_SNAPSHOT_REQUESTED" | "DATA_LAKE_QUERY_LOGS_DOWNLOADED" | "FEDERATED_DATABASE_QUERY_LOGS_DOWNLOADED" | "ONLINE_ARCHIVE_QUERY_LOGS_DOWNLOADED" | "MONGODB_LOGS_DOWNLOADED" | "MONGOSQLD_LOGS_DOWNLOADED" | "MONGOT_LOGS_DOWNLOADED" | "MONGODB_USER_ADDED" | "MONGODB_USER_DELETED" | "MONGODB_USER_X509_CERT_CREATED" | "MONGODB_USER_X509_CERT_REVOKED" | "MONGODB_USER_UPDATED" | "MONGODB_ROLE_ADDED" | "MONGODB_ROLE_DELETED" | "MONGODB_ROLE_UPDATED" | "NETWORK_PERMISSION_ENTRY_ADDED" | "NETWORK_PERMISSION_ENTRY_REMOVED" | "NETWORK_PERMISSION_ENTRY_UPDATED" | "PRIVATE_NETWORK_ENDPOINT_ENTRY_ADDED" | "PRIVATE_NETWORK_ENDPOINT_ENTRY_REMOVED" | "PRIVATE_NETWORK_ENDPOINT_ENTRY_UPDATED" | "PLAN_STARTED" | "PLAN_COMPLETED" | "PLAN_ABANDONED" | "PLAN_DECLINED" | "PLAN_FAILURE_COUNT_RESET" | "PLAN_ASAP_REQUESTED" | "INDEPENDENT_SHARD_AUTO_SCALING_AVAILABLE" | "INDEPENDENT_SHARD_SCALING_CLUSTER_MIGRATED" | "INDEPENDENT_SHARD_SCALING_CLUSTER_ROLLED_BACK" | "MOVE_SKIPPED" | "STEP_SKIPPED" | "PROXY_RESTARTED" | "PROXY_PANICKED" | "ATLAS_MAINTENANCE_PROTECTED_HOURS_CREATED" | "ATLAS_MAINTENANCE_PROTECTED_HOURS_MODIFIED" | "ATLAS_MAINTENANCE_PROTECTED_HOURS_REMOVED" | "ATLAS_MAINTENANCE_WINDOW_ADDED" | "ATLAS_MAINTENANCE_WINDOW_MODIFIED" | "ATLAS_MAINTENANCE_WINDOW_REMOVED" | "ATLAS_MAINTENANCE_START_ASAP" | "ATLAS_MAINTENANCE_SCHEDULED_FOR_NEXT_WINDOW" | "ATLAS_MAINTENANCE_DEFERRED" | "ATLAS_MAINTENANCE_AUTO_DEFER_ENABLED" | "ATLAS_MAINTENANCE_AUTO_DEFER_DISABLED" | "ATLAS_MAINTENANCE_RESET_BY_ADMIN" | "ATLAS_MAINTENANCE_DEFERRED_BY_ADMIN" | "SCHEDULED_MAINTENANCE" | "PROJECT_SCHEDULED_MAINTENANCE" | "PROJECT_LIMIT_UPDATED" | "PROJECT_ENABLE_EXTENDED_STORAGE_SIZES_UPDATED" | "PROJECT_ENABLE_DATA_VALIDATION_UPDATED" | "PROJECT_COLLECT_DATABASE_STATISTICS_UPDATED" | "OS_MAINTENANCE" | "OS_MAINTENANCE_RESTART" | "OS_MAINTENANCE_REPLACEMENT" | "FREE_UPGRADE_STARTED" | "FLEX_UPGRADE_STARTED" | "SERVERLESS_UPGRADE_STARTED" | "TEST_FAILOVER_REQUESTED" | "USER_SECURITY_SETTINGS_UPDATED" | "AUDIT_LOG_CONFIGURATION_UPDATED" | "STREAMS_AUDIT_LOG_CONFIGURATION_UPDATED" | "ENCRYPTION_AT_REST_CONFIGURATION_UPDATED" | "ENCRYPTION_AT_REST_CONFIGURATION_VALIDATION_FAILED" | "ENCRYPTION_AT_REST_CONFIGURATION_VALIDATION_SUCCEEDED" | "ENCRYPTION_AT_REST_KEY_ROTATION_STARTED" | "ENCRYPTION_AT_REST_PRIVATE_ENDPOINT_CREATED" | "ENCRYPTION_AT_REST_PRIVATE_ENDPOINT_DELETED" | "NDS_SET_IMAGE_OVERRIDES" | "NDS_SET_CHEF_TARBALL_URI" | "RESTRICTED_EMPLOYEE_ACCESS_BYPASS" | "REVOKED_EMPLOYEE_ACCESS_BYPASS" | "DEVICE_SYNC_DEBUG_ACCESS_GRANTED" | "DEVICE_SYNC_DEBUG_ACCESS_REVOKED" | "DEVICE_SYNC_DEBUG_X509_CERT_CREATED" | "EMPLOYEE_ACCESS_GRANTED" | "EMPLOYEE_ACCESS_REVOKED" | "QUERY_ENGINE_TENANT_CREATED" | "QUERY_ENGINE_TENANT_UPDATED" | "QUERY_ENGINE_TENANT_REMOVED" | "FEDERATED_DATABASE_CREATED" | "FEDERATED_DATABASE_UPDATED" | "FEDERATED_DATABASE_REMOVED" | "TENANT_SNAPSHOT_FAILED" | "TENANT_RESTORE_FAILED" | "SAMPLE_DATASET_LOAD_REQUESTED" | "CUSTOMER_X509_CRL_UPDATED" | "CONTAINER_SUBNETS_UPDATE_REQUESTED" | "ONLINE_ARCHIVE_CREATED" | "ONLINE_ARCHIVE_DELETED" | "ONLINE_ARCHIVE_UPDATED" | "ONLINE_ARCHIVE_PAUSE_REQUESTED" | "ONLINE_ARCHIVE_PAUSED" | "ONLINE_ARCHIVE_ACTIVE" | "ONLINE_ARCHIVE_ORPHANED" | "ONLINE_ARCHIVE_DATA_EXPIRATION_RULE_ENABLED" | "ONLINE_ARCHIVE_DATA_EXPIRATION_RULE_UPDATED" | "ONLINE_ARCHIVE_DATA_EXPIRATION_RULE_DISABLED" | "ONLINE_ARCHIVE_DELETE_AFTER_DATE_UPDATED" | "CLOUD_PROVIDER_ACCESS_AWS_IAM_ROLE_ADDED" | "CLOUD_PROVIDER_ACCESS_AWS_IAM_ROLE_DELETED" | "CLOUD_PROVIDER_ACCESS_AWS_IAM_ROLE_UPDATED" | "CLOUD_PROVIDER_ACCESS_AZURE_SERVICE_PRINCIPAL_ADDED" | "CLOUD_PROVIDER_ACCESS_AZURE_SERVICE_PRINCIPAL_DELETED" | "CLOUD_PROVIDER_ACCESS_AZURE_SERVICE_PRINCIPAL_UPDATED" | "CLOUD_PROVIDER_ACCESS_GCP_SERVICE_ACCOUNT_ADDED" | "CLOUD_PROVIDER_ACCESS_GCP_SERVICE_ACCOUNT_DELETED" | "CLOUD_PROVIDER_ACCESS_GCP_SERVICE_ACCOUNT_UPDATED" | "PENDING_INDEXES_DELETED" | "PENDING_INDEXES_CANCELED" | "PROCESS_RESTART_REQUESTED" | "AUTO_HEALING_ACTION" | "AUTO_HEALING_REQUESTED_CRITICAL_INSTANCE_POWER_CYCLE" | "AUTO_HEALING_REQUESTED_INSTANCE_REPLACEMENT" | "AUTO_HEALING_REQUESTED_NODE_RESYNC" | "EXTRA_MAINTENANCE_DEFERRAL_GRANTED" | "GROUP_AUTOMATION_CONFIG_PUBLISHED" | "CLUSTER_AUTOMATION_CONFIG_PUBLISHED" | "SET_ENSURE_CLUSTER_CONNECTIVITY_AFTER_FOR_CLUSTER" | "CLUSTER_LINKED_TO_VERCEL" | "CLUSTER_UNLINKED_FROM_VERCEL" | "INGESTION_PIPELINE_DELETED" | "INGESTION_PIPELINE_DESTROYED" | "INGESTION_PIPELINE_CREATED" | "INGESTION_PIPELINE_UPDATED" | "OS_TUNE_FILE_OVERRIDES" | "MONITORING_AGENT_OVERRIDES" | "MONITORING_AGENT_REBALANCE_FLAG" | "MONITORING_AGENT_REBALANCE_TRIGGERED" | "CLUSTER_PREFERRED_CPU_ARCHITECTURE_MODIFIED" | "CLUSTER_FORCE_PLANNED" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_STARTED" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_FAILED_TO_START" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_END_REQUESTED" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_COMPLETED" | "CLUSTER_REGIONAL_OUTAGE_SIMULATION_CANCELLED_CLUSTER_PAUSE" | "UIS_PANICKED" | "TENANT_UPGRADE_TO_SERVERLESS_SUCCESSFUL" | "TENANT_UPGRADE_TO_SERVERLESS_FAILED" | "SERVERLESS_UPGRADE_TO_DEDICATED_SUCCESSFUL" | "SERVERLESS_UPGRADE_TO_DEDICATED_FAILED" | "CLUSTER_FORCE_RECONFIG_REQUESTED" | "AGENT_FORCE_RESTART_REQUESTED" | "CLUSTER_RESET_FORCE_RECONFIG_REQUESTED" | "PROJECT_BYPASSED_MAINTENANCE" | "FEATURE_FLAG_MAINTENANCE" | "DATA_FEDERATION_QUERY_LIMIT_CONFIGURED" | "DATA_FEDERATION_QUERY_LIMIT_DELETED" | "DATA_API_SETUP_FOR_VERCEL" | "ADMIN_CLUSTER_LOCK_UPDATED" | "CLUSTER_ROLLING_RESYNC_STARTED" | "CLUSTER_ROLLING_RESYNC_COMPLETED" | "CLUSTER_ROLLING_RESYNC_FAILED" | "NODE_ROLLING_RESYNC_SCHEDULED" | "CLUSTER_ROLLING_RESYNC_CANCELED" | "CLUSTER_OS_UPDATED" | "CLUSTER_INSTANCE_FAMILY_UPDATED" | "PUSH_BASED_LOG_EXPORT_ENABLED" | "PUSH_BASED_LOG_EXPORT_CONFIGURATION_UPDATED" | "PUSH_BASED_LOG_EXPORT_DISABLED" | "LOG_STREAMING_ENABLED" | "LOG_STREAMING_CONFIGURATION_UPDATED" | "LOG_STREAMING_DISABLED" | "DATADOG_LOG_STREAMING_ENABLED" | "DATADOG_LOG_STREAMING_CONFIGURATION_UPDATED" | "DATADOG_LOG_STREAMING_DISABLED" | "SPLUNK_LOG_STREAMING_ENABLED" | "SPLUNK_LOG_STREAMING_CONFIGURATION_UPDATED" | "SPLUNK_LOG_STREAMING_DISABLED" | "S3_LOG_STREAMING_ENABLED" | "S3_LOG_STREAMING_CONFIGURATION_UPDATED" | "S3_LOG_STREAMING_DISABLED" | "AZURE_LOG_STREAMING_ENABLED" | "AZURE_LOG_STREAMING_CONFIGURATION_UPDATED" | "AZURE_LOG_STREAMING_DISABLED" | "GCP_LOG_STREAMING_ENABLED" | "GCP_LOG_STREAMING_CONFIGURATION_UPDATED" | "GCP_LOG_STREAMING_DISABLED" | "OTEL_LOG_STREAMING_ENABLED" | "OTEL_LOG_STREAMING_CONFIGURATION_UPDATED" | "OTEL_LOG_STREAMING_DISABLED" | "LOG_STREAMING_EXPORT_FAILED_NONRETRYABLE" | "LOG_STREAMING_EXPORT_FAILED_RETRIES_EXHAUSTED" | "LOG_STREAMING_EXPORT_RECOVERED" | "LOG_STREAMING_REPLAY_STARTED" | "LOG_STREAMING_REPLAY_COMPLETE" | "LOG_STREAMING_REPLAY_FAILED" | "OTEL_METRIC_INTEGRATION_ENABLED" | "OTEL_METRIC_INTEGRATION_CONFIGURATION_UPDATED" | "OTEL_METRIC_INTEGRATION_DISABLED" | "AZURE_CLUSTER_PREFERRED_STORAGE_TYPE_UPDATED" | "CONTAINER_DELETED" | "REGIONALIZED_PRIVATE_ENDPOINT_MODE_ENABLED" | "REGIONALIZED_PRIVATE_ENDPOINT_MODE_DISABLED" | "STREAM_TENANT_CREATED" | "STREAM_TENANT_UPDATED" | "STREAM_TENANT_DELETED" | "STREAM_TENANT_CONNECTIONS_LISTED" | "STREAM_TENANT_CONNECTION_UPDATED" | "STREAM_TENANT_CONNECTION_DELETED" | "STREAM_TENANT_CONNECTION_CREATED" | "STREAM_TENANT_CONNECTION_VIEWED" | "STREAM_TENANT_OPERATIONAL_LOGS" | "STREAM_TENANT_AUDIT_LOGS" | "STREAM_TENANT_AUDIT_LOGS_DELETED" | "QUEUED_ADMIN_ACTION_CREATED" | "QUEUED_ADMIN_ACTION_COMPLETED" | "QUEUED_ADMIN_ACTION_CANCELLED" | "ATLAS_SQL_SCHEDULED_UPDATE_CREATED" | "ATLAS_SQL_SCHEDULED_UPDATE_MODIFIED" | "ATLAS_SQL_SCHEDULED_UPDATE_REMOVED" | "CLUSTER_INSTANCE_DISABLED" | "CLUSTER_INSTANCE_ENABLED" | "SEARCH_HOST_PAUSE_ALL_INITIAL_SYNCS" | "SEARCH_HOST_DISABLE_FTS" | "SEARCH_HOST_PAUSE_INITIAL_SYNC_ON_INDEX_IDS" | "CLUSTER_BLOCK_WRITE" | "CLUSTER_UNBLOCK_WRITE" | "KMIP_KEY_ROTATION_SCHEDULED" | "SSL_CERTIFICATE_ISSUED" | "PROJECT_SCHEDULED_MAINTENANCE_OUTSIDE_OF_PROTECTED_HOURS" | "CLUSTER_CANCELING_SHARD_DRAIN_REQUESTED" | "CLUSTER_CANCELING_CONFIG_SERVER_TRANSITION_REQUESTED" | "CLUSTER_MIGRATE_BACK_TO_AWS_MANAGED_IP_REQUESTED" | "CLUSTER_IP_MIGRATED_FIRST_ROUND" | "CLUSTER_IP_MIGRATED_SECOND_ROUND" | "CLUSTER_IP_MIGRATED_FINAL_ROUND" | "CLUSTER_IP_ROLLED_BACK" | "AZ_BALANCING_OVERRIDE_MODIFIED" | "FTDC_SETTINGS_UPDATED" | "PROXY_PROTOCOL_FOR_PRIVATE_LINK_MODE_UPDATED" | "MONGOTUNE_WRITE_BLOCK_POLICY_ELIGIBLE" | "MONGOTUNE_WRITE_BLOCK_POLICY_INELIGIBLE" | "PREDICTIVE_AUTOSCALING_ENABLED" | "PREDICTIVE_AUTOSCALING_DISABLED" | "SHADOW_CLUSTER_CREATE_EXPOSURE" | "SHADOW_CLUSTER_DELETE_EXPOSURE" | "SHADOW_CLUSTER_RECORDING_STATUS_UPDATE" | "SHADOW_CLUSTER_REPLAY_STATUS_UPDATE" | "NODE_HIDDEN_BY_ADMIN" | "NODE_UNHIDDEN_BY_ADMIN" | "DISK_WARMING_PROCESS_NODE_HIDDEN_BY_ADMIN" | "DISK_WARMING_PROCESS_NODE_UNHIDDEN_BY_ADMIN" | "DISK_WARMING_PROCESS_INSTANCE_CANCELLED_BY_ADMIN" | "DISK_WARMING_PROCESS_DISK_TAG_READY_BY_ADMIN" | "CLUSTER_CREATED_VIA_ANIS" | "MAINTENANCE_WAVE_ASSIGNMENT_ADDED" | "MAINTENANCE_WAVE_ASSIGNMENT_MODIFIED" | "MAINTENANCE_WAVE_ASSIGNMENT_REMOVED" | "CLUSTER_MONGUARD_ENABLED" | "CLUSTER_MONGUARD_DISABLED" | "CLUSTER_MONGODB_VERSION_UPDATED" | "VOLUME_IMPAIRED" | "VOLUME_IMPAIRED_RESOLVED" | "SQL_INTERFACE_ENABLED" | "SQL_INTERFACE_DISABLED"; export const NDSAuditTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type NDSAuditViewForNdsGroupLinksList = Array; export const NDSAuditViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Audit saving information about Atlas cloud provider and other Atlas related details. */ export interface NDSAuditViewForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; /** The username of the MongoDB User that was created, deleted, or edited. */ dbUserUsername?: string; delegatePrincipal?: Principal; eventTypeName: NDSAuditTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: NDSAuditViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; /** Entry in the list of source host addresses that the API key accepts and this event targets. */ whitelistEntry?: string; } export const NDSAuditViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, dbUserUsername: S.optional(S.String), delegatePrincipal: S.optional(Principal), eventTypeName: NDSAuditTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(NDSAuditViewForNdsGroupLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), whitelistEntry: S.optional(S.String), }), ).annotate({ identifier: "NDSAuditViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type NDSAutoScalingAuditTypeViewForNdsGroup = | "COMPUTE_AUTO_SCALE_INITIATED" | "DISK_AUTO_SCALE_INITIATED" | "COMPUTE_AUTO_SCALE_INITIATED_BASE" | "COMPUTE_AUTO_SCALE_INITIATED_ANALYTICS" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_BASE" | "COMPUTE_AUTO_SCALE_SCALE_DOWN_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_BASE" | "COMPUTE_AUTO_SCALE_DOWNSCALE_SKIPPED_FALLBACK_ANALYTICS" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_ANALYTICS" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "COMPUTE_AUTO_SCALE_OPLOG_FAIL_ANALYTICS" | "DISK_AUTO_SCALE_MAX_DISK_SIZE_FAIL" | "DISK_AUTO_SCALE_OPLOG_FAIL" | "PREDICTIVE_COMPUTE_AUTO_SCALE_INITIATED_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_MAX_INSTANCE_SIZE_FAIL_BASE" | "PREDICTIVE_COMPUTE_AUTO_SCALE_OPLOG_FAIL_BASE" | "CLUSTER_AUTO_SHARDING_INITIATED" | "CLUSTER_RESHARDING_COMPLETED"; export const NDSAutoScalingAuditTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type NDSAutoScalingAuditViewForNdsGroupLinksList = Array; export const NDSAutoScalingAuditViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Auto scaling audit indicates when Atlas auto-scaling cluster tier up or down. */ export interface NDSAutoScalingAuditViewForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: NDSAutoScalingAuditTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: NDSAutoScalingAuditViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const NDSAutoScalingAuditViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: NDSAutoScalingAuditTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(NDSAutoScalingAuditViewForNdsGroupLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "NDSAutoScalingAuditViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type NDSServerlessInstanceAuditTypeView = | "SERVERLESS_INSTANCE_CREATED" | "SERVERLESS_INSTANCE_READY" | "SERVERLESS_INSTANCE_UPDATE_SUBMITTED" | "SERVERLESS_INSTANCE_UPDATE_STARTED" | "SERVERLESS_INSTANCE_UPDATE_COMPLETED" | "SERVERLESS_INSTANCE_DELETE_SUBMITTED" | "SERVERLESS_INSTANCE_DELETED" | "SERVERLESS_INSTANCE_UNBLOCKED"; export const NDSServerlessInstanceAuditTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type NDSServerlessInstanceAuditViewLinksList = Array; export const NDSServerlessInstanceAuditViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Serverless instance audit identifies any activities around serverless instance. */ export interface NDSServerlessInstanceAuditView { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: NDSServerlessInstanceAuditTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: NDSServerlessInstanceAuditViewLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const NDSServerlessInstanceAuditView = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: NDSServerlessInstanceAuditTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(NDSServerlessInstanceAuditViewLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "NDSServerlessInstanceAuditView", }) as any as S.Schema; /** Unique identifier of event type. */ export type NDSTenantEndpointAuditTypeView = | "TENANT_ENDPOINT_CREATED" | "TENANT_ENDPOINT_RESERVED" | "TENANT_ENDPOINT_RESERVATION_FAILED" | "TENANT_ENDPOINT_UPDATED" | "TENANT_ENDPOINT_INITIATING" | "TENANT_ENDPOINT_AVAILABLE" | "TENANT_ENDPOINT_FAILED" | "TENANT_ENDPOINT_DELETING" | "TENANT_ENDPOINT_DELETED" | "TENANT_ENDPOINT_EXPIRED"; export const NDSTenantEndpointAuditTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type NDSTenantEndpointAuditViewLinksList = Array; export const NDSTenantEndpointAuditViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Tenant endpoint audit indicates when Atlas auto-scaling cluster tier up or down. */ export interface NDSTenantEndpointAuditView { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; /** Unique 24-hexadecimal digit string that identifies the endpoint associated with this event. */ endpointId?: string; eventTypeName: NDSTenantEndpointAuditTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: NDSTenantEndpointAuditViewLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Unique identification string that the cloud provider uses to identify the private endpoint. */ providerEndpointId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const NDSTenantEndpointAuditView = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), endpointId: S.optional(S.String), eventTypeName: NDSTenantEndpointAuditTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(NDSTenantEndpointAuditViewLinksList), orgId: S.optional(S.String), providerEndpointId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "NDSTenantEndpointAuditView", }) as any as S.Schema; /** Unique identifier of event type. */ export type ReplicaSetEventTypeViewForNdsGroup = | "PRIMARY_ELECTED" | "REPLICATION_OPLOG_WINDOW_HEALTHY" | "REPLICATION_OPLOG_WINDOW_RUNNING_OUT" | "ONE_PRIMARY" | "NO_PRIMARY" | "TOO_MANY_ELECTIONS" | "TOO_FEW_HEALTHY_MEMBERS" | "TOO_MANY_UNHEALTHY_MEMBERS"; export const ReplicaSetEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ForNdsGroupLinksList = Array; export const ForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Replica Set Event identifies different activities about replica set of mongod instances. */ export interface ForNdsGroup { /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: ReplicaSetEventTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Fully qualified domain name (FQDN) of the host associated with the event. */ hostname?: string | null; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** IANA port on which the MongoDB process listens for requests. */ port?: number; raw?: Raw; /** Human-readable label of the replica set associated with the event. */ replicaSetName?: string | null; /** Human-readable label of the shard associated with the event. */ shardName?: string; } export const ForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.String, eventTypeName: ReplicaSetEventTypeViewForNdsGroup, groupId: S.optional(S.String), hostname: S.optional(S.NullOr(S.String)), id: S.String, links: S.optional(ForNdsGroupLinksList), orgId: S.optional(S.String), port: S.optional(S.Number), raw: S.optional(Raw), replicaSetName: S.optional(S.NullOr(S.String)), shardName: S.optional(S.String), }), ).annotate({ identifier: "ForNdsGroup" }) as any as S.Schema; /** Unique identifier of event type. */ export type SearchDeploymentAuditTypeView = | "SEARCH_DEPLOYMENT_CREATED" | "SEARCH_DEPLOYMENT_UPDATED" | "SEARCH_DEPLOYMENT_DELETED"; export const SearchDeploymentAuditTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type SearchDeploymentAuditViewLinksList = Array; export const SearchDeploymentAuditViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Indicates activities on decoupled search nodes. */ export interface SearchDeploymentAuditView { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: SearchDeploymentAuditTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: SearchDeploymentAuditViewLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const SearchDeploymentAuditView = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: SearchDeploymentAuditTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(SearchDeploymentAuditViewLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "SearchDeploymentAuditView", }) as any as S.Schema; /** Unique identifier of event type. */ export type TeamEventTypeViewForNdsGroup = | "TEAM_ADDED_TO_GROUP" | "TEAM_REMOVED_FROM_GROUP" | "TEAM_ROLES_MODIFIED"; export const TeamEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type TeamEventViewForNdsGroupLinksList = Array; export const TeamEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Team event identifies different activities around organization teams. */ export interface TeamEventViewForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: TeamEventTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: TeamEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the organization team associated with this event. */ teamId?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const TeamEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: TeamEventTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(TeamEventViewForNdsGroupLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), teamId: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "TeamEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type UserEventTypeViewForNdsGroup = | "JOINED_GROUP" | "REMOVED_FROM_GROUP" | "INVITED_TO_GROUP" | "REQUESTED_TO_JOIN_GROUP" | "GROUP_INVITATION_DELETED" | "USER_ROLES_CHANGED_AUDIT" | "JOIN_GROUP_REQUEST_DENIED_AUDIT" | "JOIN_GROUP_REQUEST_APPROVED_AUDIT"; export const UserEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type UserEventViewForNdsGroupLinksList = Array; export const UserEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** User event reflects different activities about the atlas user. */ export interface UserEventViewForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: UserEventTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: UserEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Email address for the console user that this event targets. The resource returns this parameter when `"eventTypeName" : "USER"`. */ targetUsername?: string | null; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const UserEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: UserEventTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(UserEventViewForNdsGroupLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), targetUsername: S.optional(S.NullOr(S.String)), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "UserEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type ResourceEventTypeView = | "TAGS_MODIFIED" | "CLUSTER_TAGS_MODIFIED" | "GROUP_TAGS_MODIFIED"; export const ResourceEventTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ResourceEventViewForNdsGroupLinksList = Array; export const ResourceEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Resource event reflects different activities about resources. */ export interface ResourceEventViewForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: ResourceEventTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ResourceEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the resource associated with the event. */ resourceId?: string; /** Unique identifier of resource type. */ resourceType: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const ResourceEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: ResourceEventTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(ResourceEventViewForNdsGroupLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), resourceId: S.optional(S.String), resourceType: S.String, userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "ResourceEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type StreamsEventTypeViewForNdsGroup = "MAX_PROCESSOR_COUNT_REACHED"; export const StreamsEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsEventViewForNdsGroupLinksList = Array; export const StreamsEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Streams event identifies different activities about Atlas Streams. */ export interface StreamsEventViewForNdsGroup { /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: StreamsEventTypeViewForNdsGroup; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Name of the stream processing workspace associated with the event. */ instanceName?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; raw?: Raw; } export const StreamsEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.String, eventTypeName: StreamsEventTypeViewForNdsGroup, groupId: S.optional(S.String), id: S.String, instanceName: S.optional(S.String), links: S.optional(StreamsEventViewForNdsGroupLinksList), orgId: S.optional(S.String), raw: S.optional(Raw), }), ).annotate({ identifier: "StreamsEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type StreamProcessorEventTypeViewForNdsGroup = | "STREAM_PROCESSOR_STATE_IS_FAILED" | "STREAM_PROCESSOR_STARTED" | "STREAM_PROCESSOR_AUTOSCALE_INITIATED" | "STREAM_PROCESSOR_CREATED" | "STREAM_PROCESSOR_STOPPED" | "STREAM_PROCESSOR_DROPPED" | "STREAM_PROCESSOR_MODIFIED" | "INSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD" | "OUTSIDE_STREAM_PROCESSOR_METRIC_THRESHOLD"; export const StreamProcessorEventTypeViewForNdsGroup = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamProcessorEventViewForNdsGroupLinksList = Array; export const StreamProcessorEventViewForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Stream Processor event identifies different activities about a stream processor in Atlas Streams. */ export interface StreamProcessorEventViewForNdsGroup { /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; eventTypeName: StreamProcessorEventTypeViewForNdsGroup; /** Tier the stream processor scaled from. */ fromTier?: string; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Name of the stream processing workspace associated with the event. */ instanceName?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamProcessorEventViewForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Error message linked to the stream processor associated with the event. */ processorErrorMsg?: string; /** Name of the stream processor associated with the event. */ processorName?: string; /** State of the stream processor associated with the event. */ processorState?: string; raw?: Raw; /** Reason for the autoscale event. */ reason?: string; /** Cloud provider region in which the stream processor is running. */ region?: string; /** Tier the stream processor scaled to. */ toTier?: string; } export const StreamProcessorEventViewForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.String, eventTypeName: StreamProcessorEventTypeViewForNdsGroup, fromTier: S.optional(S.String), groupId: S.optional(S.String), id: S.String, instanceName: S.optional(S.String), links: S.optional(StreamProcessorEventViewForNdsGroupLinksList), orgId: S.optional(S.String), processorErrorMsg: S.optional(S.String), processorName: S.optional(S.String), processorState: S.optional(S.String), raw: S.optional(Raw), reason: S.optional(S.String), region: S.optional(S.String), toTier: S.optional(S.String), }), ).annotate({ identifier: "StreamProcessorEventViewForNdsGroup", }) as any as S.Schema; /** Unique identifier of event type. */ export type ChartsAuditTypeView = | "CHARTS_API_SUCCESS" | "CHARTS_API_FAILURE" | "CHARTS_DASHBOARD_EXPORTED" | "CHARTS_DASHBOARD_EXPORT_FAILED" | "CHARTS_DASHBOARD_IMPORTED" | "CHARTS_DASHBOARD_IMPORT_FAILED"; export const ChartsAuditTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ChartsAuditLinksList = Array; export const ChartsAuditLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Audit events related to Atlas Charts. */ export interface ChartsAudit { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: ChartsAuditTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ChartsAuditLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const ChartsAudit = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: ChartsAuditTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(ChartsAuditLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "ChartsAudit" }) as any as S.Schema; /** Unique identifier of event type. */ export type AtlasResourcePolicyAuditForNdsGroupEventTypeName = "RESOURCE_POLICY_VIOLATED"; export const AtlasResourcePolicyAuditForNdsGroupEventTypeName = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AtlasResourcePolicyAuditForNdsGroupLinksList = Array; export const AtlasResourcePolicyAuditForNdsGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** String representation of the violated resource policy ids. */ export type AtlasResourcePolicyAuditForNdsGroupViolatedPoliciesList = Array; export const AtlasResourcePolicyAuditForNdsGroupViolatedPoliciesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Atlas resource policy audits indicate organization level changes to resource policies. */ export interface AtlasResourcePolicyAuditForNdsGroup { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; /** Unique identifier of event type. */ eventTypeName: AtlasResourcePolicyAuditForNdsGroupEventTypeName; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AtlasResourcePolicyAuditForNdsGroupLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal character string that identifies the resource policy. */ resourcePolicyId?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; /** String representation of the violated resource policy ids. */ violatedPolicies?: AtlasResourcePolicyAuditForNdsGroupViolatedPoliciesList; /** Resource policy action taken by the user and evaluated against the currently active policies. */ violationAction?: string; } export const AtlasResourcePolicyAuditForNdsGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: AtlasResourcePolicyAuditForNdsGroupEventTypeName, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(AtlasResourcePolicyAuditForNdsGroupLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), resourcePolicyId: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), violatedPolicies: S.optional( AtlasResourcePolicyAuditForNdsGroupViolatedPoliciesList, ), violationAction: S.optional(S.String), }), ).annotate({ identifier: "AtlasResourcePolicyAuditForNdsGroup", }) as any as S.Schema; export type EventViewForNdsGroup = | DefaultEventViewForNdsGroup | AlertAudit | AlertConfigAudit | ApiUserEventViewForNdsGroup | ServiceAccountGroupEvents | AutomationConfigEventView | AppServiceEventView | BillingEventViewForNdsGroup | ClusterEventViewForNdsGroup | DataExplorerAccessedEventView | DataExplorerEvent | FTSIndexAuditView | HostEventViewForNdsGroup | HostMetricEvent | NDSAuditViewForNdsGroup | NDSAutoScalingAuditViewForNdsGroup | NDSServerlessInstanceAuditView | NDSTenantEndpointAuditView | ForNdsGroup | SearchDeploymentAuditView | TeamEventViewForNdsGroup | UserEventViewForNdsGroup | ResourceEventViewForNdsGroup | StreamsEventViewForNdsGroup | StreamProcessorEventViewForNdsGroup | ChartsAudit | AtlasResourcePolicyAuditForNdsGroup; export const EventViewForNdsGroup = S.Unknown as any as S.Schema; export type GetGroupEventResponse = EventViewForNdsGroup; export const GetGroupEventResponse = /*@__PURE__*/ S.suspend(() => EventViewForNdsGroup.pipe(T.RawResponseRoot()), ).annotate({ identifier: "GetGroupEventResponse", }) as any as S.Schema; export interface GetGroupFlexClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the flex cluster. */ name: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupFlexClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/flexClusters/{name}", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "GetGroupFlexClusterRequest", }) as any as S.Schema; export interface GetGroupFlexClusterBackupRestoreJobRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the flex cluster. */ name: string; /** Unique 24-hexadecimal digit string that identifies the restore job to return. */ restoreJobId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupFlexClusterBackupRestoreJobRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), restoreJobId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/restoreJobs/{restoreJobId}", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "GetGroupFlexClusterBackupRestoreJobRequest", }) as any as S.Schema; export interface GetGroupFlexClusterBackupSnapshotRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the flex cluster. */ name: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupFlexClusterBackupSnapshotRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/snapshots/{snapshotId}", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "GetGroupFlexClusterBackupSnapshotRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type FlexBackupSnapshot20241113LinksList = Array; export const FlexBackupSnapshot20241113LinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Phase of the workflow for this snapshot at the time this resource made this request. */ export type FlexBackupSnapshot20241113Status = | "PENDING" | "QUEUED" | "RUNNING" | "FAILED" | "COMPLETED"; export const FlexBackupSnapshot20241113Status = S.String; /** Details for one snapshot of a flex cluster. */ export interface FlexBackupSnapshot20241113 { /** Date and time when the download link no longer works. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expiration?: string; /** Date and time when MongoDB Cloud completed writing this snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ finishTime?: string; /** Unique 24-hexadecimal digit string that identifies the snapshot. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: FlexBackupSnapshot20241113LinksList; /** MongoDB host version that the snapshot runs. */ mongoDBVersion?: string; /** Date and time when MongoDB Cloud will take the snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ scheduledTime?: string; /** Date and time when MongoDB Cloud began taking the snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ startTime?: string; /** Phase of the workflow for this snapshot at the time this resource made this request. */ status?: FlexBackupSnapshot20241113Status; } export const FlexBackupSnapshot20241113 = /*@__PURE__*/ S.suspend(() => S.Struct({ expiration: S.optional(S.String), finishTime: S.optional(S.String), id: S.optional(S.String), links: S.optional(FlexBackupSnapshot20241113LinksList), mongoDBVersion: S.optional(S.String), scheduledTime: S.optional(S.String), startTime: S.optional(S.String), status: S.optional(FlexBackupSnapshot20241113Status), }), ).annotate({ identifier: "FlexBackupSnapshot20241113", }) as any as S.Schema; export type GetGroupHostFtsMetricIndexMeasurementsRequestMetricsItem = | "INDEX_SIZE_ON_DISK" | "NUMBER_OF_DELETES" | "NUMBER_OF_ERROR_QUERIES" | "NUMBER_OF_GETMORE_COMMANDS" | "NUMBER_OF_INDEX_FIELDS" | "NUMBER_OF_INSERTS" | "NUMBER_OF_SUCCESS_QUERIES" | "NUMBER_OF_UPDATES" | "REPLICATION_LAG" | "TOTAL_NUMBER_OF_QUERIES"; export const GetGroupHostFtsMetricIndexMeasurementsRequestMetricsItem = S.String; /** List that contains the measurements that MongoDB Atlas reports for the associated data series. */ export type GetGroupHostFtsMetricIndexMeasurementsRequestMetricsList = Array< GetGroupHostFtsMetricIndexMeasurementsRequestMetricsItem | (string & {}) >; export const GetGroupHostFtsMetricIndexMeasurementsRequestMetricsList = /*@__PURE__*/ S.Array( GetGroupHostFtsMetricIndexMeasurementsRequestMetricsItem, ) as any as S.Schema; export interface GetGroupHostFtsMetricIndexMeasurementsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and IANA port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (mongod or mongos). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Human-readable label that identifies the database. */ databaseName: string; /** Human-readable label that identifies the collection. */ collectionName: string; /** Human-readable label that identifies the index. */ indexName: string; /** Duration that specifies the interval at which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. */ granularity: string; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** List that contains the measurements that MongoDB Atlas reports for the associated data series. */ metrics: GetGroupHostFtsMetricIndexMeasurementsRequestMetricsList; } export const GetGroupHostFtsMetricIndexMeasurementsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), collectionName: S.String.pipe(T.Label()), indexName: S.String.pipe(T.Label()), granularity: S.String.pipe(T.Query()), period: S.optional(S.String.pipe(T.Query())), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), metrics: GetGroupHostFtsMetricIndexMeasurementsRequestMetricsList.pipe( T.Query(), ), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/hosts/{processId}/fts/metrics/indexes/{databaseName}/{collectionName}/{indexName}/measurements", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupHostFtsMetricIndexMeasurementsRequest", }) as any as S.Schema; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ export type MeasurementsIndexesGranularity = "PT1M" | "PT5M" | "PT1H" | "P1D"; export const MeasurementsIndexesGranularity = S.String; /** List that contains the Atlas Search index identifiers. */ export type MeasurementsIndexesIndexIdsList = Array; export const MeasurementsIndexesIndexIdsList = /*@__PURE__*/ S.Array( S.NullOr(S.String), ) as any as S.Schema; /** Value of, and metadata provided for, one data point generated at a particular moment in time. If no data point exists for a particular moment in time, the `value` parameter returns `null`. */ export interface MetricDataPoint { /** Date and time when this data point occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ timestamp?: string; /** Value that comprises this data point. */ value?: number; } export const MetricDataPoint = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamp: S.optional(S.String), value: S.optional(S.Number), }), ).annotate({ identifier: "MetricDataPoint", }) as any as S.Schema; /** List that contains the value of, and metadata provided for, one data point generated at a particular moment in time. If no data point exists for a particular moment in time, the `value` parameter returns `null`. */ export type MetricsMeasurementDataPointsList = Array; export const MetricsMeasurementDataPointsList = /*@__PURE__*/ S.Array( MetricDataPoint, ) as any as S.Schema; /** Element used to quantify the measurement. The resource returns units of throughput, storage, and time. */ export type MetricsMeasurementUnits = | "BYTES" | "BYTES_PER_SECOND" | "GIGABYTES" | "GIGABYTES_PER_HOUR" | "MEGABYTES_PER_SECOND" | "MICROSECONDS" | "MILLISECONDS" | "PERCENT" | "SCALAR" | "SCALAR_PER_SECOND"; export const MetricsMeasurementUnits = S.String; export interface MetricsMeasurement { /** List that contains the value of, and metadata provided for, one data point generated at a particular moment in time. If no data point exists for a particular moment in time, the `value` parameter returns `null`. */ dataPoints?: MetricsMeasurementDataPointsList; /** Human-readable label of the measurement that this data point covers. */ name?: string; /** Element used to quantify the measurement. The resource returns units of throughput, storage, and time. */ units?: MetricsMeasurementUnits; } export const MetricsMeasurement = /*@__PURE__*/ S.suspend(() => S.Struct({ dataPoints: S.optional(MetricsMeasurementDataPointsList), name: S.optional(S.String), units: S.optional(MetricsMeasurementUnits), }), ).annotate({ identifier: "MetricsMeasurement", }) as any as S.Schema; /** List that contains the Atlas Search index stats measurements. */ export type MeasurementsIndexesIndexStatsMeasurementsList = Array; export const MeasurementsIndexesIndexStatsMeasurementsList = /*@__PURE__*/ S.Array( MetricsMeasurement, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type MeasurementsIndexesLinksList = Array; export const MeasurementsIndexesLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface MeasurementsIndexes { /** Human-readable label that identifies the collection. */ collectionName?: string; /** Human-readable label that identifies the database that the specified MongoDB process serves. */ databaseName?: string; /** Date and time that specifies when to stop retrieving measurements. If you set **end**, you must set **start**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ end?: string; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ granularity?: MeasurementsIndexesGranularity; /** Unique 24-hexadecimal digit string that identifies the project. The project contains MongoDB processes that you want to return. The MongoDB process can be either the `mongod` or `mongos`. */ groupId?: string; /** List that contains the Atlas Search index identifiers. */ indexIds?: MeasurementsIndexesIndexIdsList; /** List that contains the Atlas Search index stats measurements. */ indexStatsMeasurements?: MeasurementsIndexesIndexStatsMeasurementsList; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: MeasurementsIndexesLinksList; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId?: string; /** Date and time that specifies when to start retrieving measurements. If you set **start**, you must set **end**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ start?: string; } export const MeasurementsIndexes = /*@__PURE__*/ S.suspend(() => S.Struct({ collectionName: S.optional(S.String), databaseName: S.optional(S.String), end: S.optional(S.String), granularity: S.optional(MeasurementsIndexesGranularity), groupId: S.optional(S.String), indexIds: S.optional(MeasurementsIndexesIndexIdsList), indexStatsMeasurements: S.optional( MeasurementsIndexesIndexStatsMeasurementsList, ), links: S.optional(MeasurementsIndexesLinksList), processId: S.optional(S.String), start: S.optional(S.String), }), ).annotate({ identifier: "MeasurementsIndexes", }) as any as S.Schema; export type GetGroupIntegrationRequestIntegrationType = | "PAGER_DUTY" | "SLACK" | "DATADOG" | "NEW_RELIC" | "OPS_GENIE" | "VICTOR_OPS" | "WEBHOOK" | "HIP_CHAT" | "PROMETHEUS" | "MICROSOFT_TEAMS"; export const GetGroupIntegrationRequestIntegrationType = S.String; export interface GetGroupIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the service which you want to integrate with MongoDB Cloud. */ integrationType: GetGroupIntegrationRequestIntegrationType | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), integrationType: GetGroupIntegrationRequestIntegrationType.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/integrations/{integrationType}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupIntegrationRequest", }) as any as S.Schema; export interface GetGroupIpAddressesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupIpAddressesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/ipAddresses", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupIpAddressesRequest", }) as any as S.Schema; /** List of future inbound IP addresses associated with the cluster. If your network allows outbound HTTP requests only to specific IP addresses, you must allow access to the following IP addresses so that your application can connect to your Atlas cluster. */ export type ClusterIPAddressesFutureInboundList = Array; export const ClusterIPAddressesFutureInboundList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of future outbound IP addresses associated with the cluster. If your network allows inbound HTTP requests only from specific IP addresses, you must allow access from the following IP addresses so that your Atlas cluster can communicate with your webhooks and KMS. */ export type ClusterIPAddressesFutureOutboundList = Array; export const ClusterIPAddressesFutureOutboundList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of inbound IP addresses associated with the cluster. If your network allows outbound HTTP requests only to specific IP addresses, you must allow access to the following IP addresses so that your application can connect to your Atlas cluster. */ export type ClusterIPAddressesInboundList = Array; export const ClusterIPAddressesInboundList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of outbound IP addresses associated with the cluster. If your network allows inbound HTTP requests only from specific IP addresses, you must allow access from the following IP addresses so that your Atlas cluster can communicate with your webhooks and KMS. */ export type ClusterIPAddressesOutboundList = Array; export const ClusterIPAddressesOutboundList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** List of IP addresses in a cluster. */ export interface ClusterIPAddresses { /** Human-readable label that identifies the cluster. */ clusterName?: string; /** List of future inbound IP addresses associated with the cluster. If your network allows outbound HTTP requests only to specific IP addresses, you must allow access to the following IP addresses so that your application can connect to your Atlas cluster. */ futureInbound?: ClusterIPAddressesFutureInboundList; /** List of future outbound IP addresses associated with the cluster. If your network allows inbound HTTP requests only from specific IP addresses, you must allow access from the following IP addresses so that your Atlas cluster can communicate with your webhooks and KMS. */ futureOutbound?: ClusterIPAddressesFutureOutboundList; /** List of inbound IP addresses associated with the cluster. If your network allows outbound HTTP requests only to specific IP addresses, you must allow access to the following IP addresses so that your application can connect to your Atlas cluster. */ inbound?: ClusterIPAddressesInboundList; /** List of outbound IP addresses associated with the cluster. If your network allows inbound HTTP requests only from specific IP addresses, you must allow access from the following IP addresses so that your Atlas cluster can communicate with your webhooks and KMS. */ outbound?: ClusterIPAddressesOutboundList; } export const ClusterIPAddresses = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterName: S.optional(S.String), futureInbound: S.optional(ClusterIPAddressesFutureInboundList), futureOutbound: S.optional(ClusterIPAddressesFutureOutboundList), inbound: S.optional(ClusterIPAddressesInboundList), outbound: S.optional(ClusterIPAddressesOutboundList), }), ).annotate({ identifier: "ClusterIPAddresses", }) as any as S.Schema; /** IP addresses of clusters. */ export type GroupServiceClustersList = Array; export const GroupServiceClustersList = /*@__PURE__*/ S.Array( ClusterIPAddresses, ) as any as S.Schema; /** List of IP addresses in a project categorized by services. */ export interface GroupService { /** IP addresses of clusters. */ clusters?: GroupServiceClustersList; } export const GroupService = /*@__PURE__*/ S.suspend(() => S.Struct({ clusters: S.optional(GroupServiceClustersList), }), ).annotate({ identifier: "GroupService" }) as any as S.Schema; /** List of IP addresses in a project. */ export interface GroupIPAddresses { /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud project. */ groupId?: string; services?: GroupService; } export const GroupIPAddresses = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.optional(S.String), services: S.optional(GroupService), }), ).annotate({ identifier: "GroupIPAddresses", }) as any as S.Schema; export type GetGroupLimitRequestLimitName = | "atlas.project.security.databaseAccess.users" | "atlas.project.deployment.clusters" | "atlas.project.deployment.serverlessMTMs" | "atlas.project.security.databaseAccess.customRoles" | "atlas.project.security.networkAccess.entries" | "atlas.project.security.networkAccess.crossRegionEntries" | "atlas.project.deployment.nodesPerPrivateLinkRegion" | "dataFederation.bytesProcessed.query" | "dataFederation.bytesProcessed.daily" | "dataFederation.bytesProcessed.weekly" | "dataFederation.bytesProcessed.monthly" | "atlas.project.deployment.privateServiceConnectionsPerRegionGroup" | "atlas.project.deployment.privateServiceConnectionsSubnetMask"; export const GetGroupLimitRequestLimitName = S.String; export interface GetGroupLimitRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this project limit. | Limit Name | Description | Default | API Override Limit | | --- | --- | --- | --- | | `atlas.project.deployment.clusters` | Limit on the number of clusters in this project | 25 | 100 | | `atlas.project.deployment.nodesPerPrivateLinkRegion` | Limit on AWS PrivateLink addressable target nodes per region in this project. For sharded clusters using optimized (load-balanced) connection strings, `currentUsage` doesn't grow with the number of `mongos` — the load balancer is counted as a single addressable target regardless of how many `mongos` sit behind it. | 50 | 90 | | `atlas.project.security.databaseAccess.customRoles` | Limit on the number of custom roles in this project | 100 | 1400 | | `atlas.project.security.databaseAccess.users` | Limit on the number of database users in this project | 100 | 100 | | `atlas.project.security.networkAccess.crossRegionEntries` | Limit on the number of cross-region network access entries in this project | 40 | 220 | | `atlas.project.security.networkAccess.entries` | Limit on the number of network access entries in this project | 200 | 20 | | `dataFederation.bytesProcessed.query` | Limit on the number of bytes processed during a single Data Federation query | N/A | N/A | | `dataFederation.bytesProcessed.daily` | Limit on the number of bytes processed across all Data Federation tenants for the current day | N/A | N/A | | `dataFederation.bytesProcessed.weekly` | Limit on the number of bytes processed across all Data Federation tenants for the current week | N/A | N/A | | `dataFederation.bytesProcessed.monthly` | Limit on the number of bytes processed across all Data Federation tenants for the current month | N/A | N/A | | `atlas.project.deployment.privateServiceConnectionsPerRegionGroup` | Number of Private Service Connections per Region Group | 50 | 100| | `atlas.project.deployment.privateServiceConnectionsSubnetMask` | Subnet mask for GCP PSC Networks. Has lower limit of 20. | 27 | 27| */ limitName: GetGroupLimitRequestLimitName | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupLimitRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), limitName: GetGroupLimitRequestLimitName.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/limits/{limitName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupLimitRequest", }) as any as S.Schema; /** Details of user managed limits. */ export interface DataFederationLimit { /** Amount that indicates the current usage of the limit. */ currentUsage?: number; /** Default value of the limit. */ defaultLimit?: number; /** Maximum value of the limit. */ maximumLimit?: number; /** Human-readable label that identifies the user-managed limit to modify. */ name: string; /** Amount to set the limit to. */ value: number; } export const DataFederationLimit = /*@__PURE__*/ S.suspend(() => S.Struct({ currentUsage: S.optional(S.Number), defaultLimit: S.optional(S.Number), maximumLimit: S.optional(S.Number), name: S.String, value: S.Number, }), ).annotate({ identifier: "DataFederationLimit", }) as any as S.Schema; export interface GetGroupLiveMigrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the migration. */ liveMigrationId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupLiveMigrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), liveMigrationId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/liveMigrations/{liveMigrationId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupLiveMigrationRequest", }) as any as S.Schema; export interface GetGroupLiveMigrationValidateStatusRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the validation job. */ validationId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupLiveMigrationValidateStatusRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), validationId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/liveMigrations/validate/{validationId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupLiveMigrationValidateStatusRequest", }) as any as S.Schema; /** State of the specified validation job returned at the time of the request. */ export type LiveImportValidationStatus = "PENDING" | "SUCCESS" | "FAILED"; export const LiveImportValidationStatus = S.String; export interface LiveImportValidation { /** Unique 24-hexadecimal digit string that identifies the validation. */ _id?: string; /** Reason why the validation job failed. */ errorMessage?: string | null; /** Unique 24-hexadecimal digit string that identifies the project to validate. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the source project. */ sourceGroupId?: string; /** State of the specified validation job returned at the time of the request. */ status?: LiveImportValidationStatus | null; } export const LiveImportValidation = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.String), errorMessage: S.optional(S.NullOr(S.String)), groupId: S.optional(S.String), sourceGroupId: S.optional(S.String), status: S.optional(S.NullOr(LiveImportValidationStatus)), }), ).annotate({ identifier: "LiveImportValidation", }) as any as S.Schema; export interface GetGroupLogIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the log integration configuration. */ id: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupLogIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/logIntegrations/{id}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupLogIntegrationRequest", }) as any as S.Schema; export interface GetGroupMaintenanceWindowRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupMaintenanceWindowRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/maintenanceWindow", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupMaintenanceWindowRequest", }) as any as S.Schema; /** Defines the a window where maintenance will not begin within. */ export interface ProtectedHours { /** Zero-based integer, in the project's configured time zone (see `timeZoneId`), that represents the end hour of the day that maintenance will not begin in. */ endHourOfDay?: number; /** Zero-based integer, in the project's configured time zone (see `timeZoneId`), that represents the beginning hour of the day that maintenance will not begin in. */ startHourOfDay?: number; } export const ProtectedHours = /*@__PURE__*/ S.suspend(() => S.Struct({ endHourOfDay: S.optional(S.Number), startHourOfDay: S.optional(S.Number), }), ).annotate({ identifier: "ProtectedHours" }) as any as S.Schema; export interface GroupMaintenanceWindow { /** Flag that indicates whether MongoDB Cloud should defer all maintenance windows for one week after you enable them. This setting controls the same underlying auto-deferral feature as the `/maintenanceWindow/autoDefer` endpoint. Use either this field (to set a specific value) or that endpoint (to toggle the current value). For most use cases, this field in the PATCH request is preferred because it allows setting an explicit value rather than toggling. */ autoDeferOnceEnabled?: boolean; /** One-based integer that represents the day of the week, in the project's configured time zone (see `timeZoneId`), that the maintenance window starts. - `1`: Sunday. - `2`: Monday. - `3`: Tuesday. - `4`: Wednesday. - `5`: Thursday. - `6`: Friday. - `7`: Saturday. */ dayOfWeek: number; /** Zero-based integer that represents the hour of the day, in the project's configured time zone (see `timeZoneId`), that the maintenance window starts according to a 24-hour clock. Use `0` for midnight and `12` for noon. If you haven't changed your project's time zone, this defaults to UTC. */ hourOfDay?: number; /** Number of times the current maintenance event for this project has been deferred. */ numberOfDeferrals?: number; protectedHours?: ProtectedHours; /** Flag that indicates whether MongoDB Cloud starts the maintenance window immediately upon receiving this request. To start the maintenance window immediately for your project, MongoDB Cloud must have maintenance scheduled and you must set a maintenance window. This flag resets to `false` after MongoDB Cloud completes maintenance. */ startASAP?: boolean; /** Identifier for the current time zone of the maintenance window. This can only be updated via the Project Settings UI. */ timeZoneId?: string; } export const GroupMaintenanceWindow = /*@__PURE__*/ S.suspend(() => S.Struct({ autoDeferOnceEnabled: S.optional(S.Boolean), dayOfWeek: S.Number, hourOfDay: S.optional(S.Number), numberOfDeferrals: S.optional(S.Number), protectedHours: S.optional(ProtectedHours), startASAP: S.optional(S.Boolean), timeZoneId: S.optional(S.String), }), ).annotate({ identifier: "GroupMaintenanceWindow", }) as any as S.Schema; export interface GetGroupManagedSlowMsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupManagedSlowMsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/managedSlowMs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupManagedSlowMsRequest", }) as any as S.Schema; export type GetGroupManagedSlowMsResponse = boolean; export const GetGroupManagedSlowMsResponse = /*@__PURE__*/ S.suspend(() => S.Boolean.pipe(T.RawResponseRoot()), ).annotate({ identifier: "GetGroupManagedSlowMsResponse", }) as any as S.Schema; export interface GetGroupMcpConfigRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupMcpConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/mcpConfigs/{mcpConfigId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupMcpConfigRequest", }) as any as S.Schema; export interface GetGroupMcpConfigSecretRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** Unique 24-hexadecimal digit string that identifies the secret. */ secretId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupMcpConfigSecretRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), secretId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/mcpConfigs/{mcpConfigId}/secrets/{secretId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupMcpConfigSecretRequest", }) as any as S.Schema; export interface GetGroupMetricIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the metric integration configuration. */ metricIntegrationId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupMetricIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), metricIntegrationId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/metricIntegrations/{metricIntegrationId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupMetricIntegrationRequest", }) as any as S.Schema; export type GetGroupMongoDbVersionsRequestCloudProvider = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const GetGroupMongoDbVersionsRequestCloudProvider = S.String; export type GetGroupMongoDbVersionsRequestDefaultStatus = "DEFAULT"; export const GetGroupMongoDbVersionsRequestDefaultStatus = S.String; export interface GetGroupMongoDbVersionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Filter results to only one cloud provider. */ cloudProvider?: GetGroupMongoDbVersionsRequestCloudProvider | (string & {}); /** Filter results to only one instance size. */ instanceSize?: string; /** Filter results to only the default values per tier. This value must be DEFAULT. */ defaultStatus?: GetGroupMongoDbVersionsRequestDefaultStatus | (string & {}); /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; } export const GetGroupMongoDbVersionsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), cloudProvider: S.optional( GetGroupMongoDbVersionsRequestCloudProvider.pipe(T.Query()), ), instanceSize: S.optional(S.String.pipe(T.Query())), defaultStatus: S.optional( GetGroupMongoDbVersionsRequestDefaultStatus.pipe(T.Query()), ), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/mongoDBVersions", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupMongoDbVersionsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedAvailableVersionViewLinksList = Array; export const PaginatedAvailableVersionViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ export type MdbAvailableVersionCloudProvider = | "AWS" | "AZURE" | "GCP" | "TENANT"; export const MdbAvailableVersionCloudProvider = S.String; /** Whether the version is the current default for the Instance Size and Cloud Provider. */ export type MdbAvailableVersionDefaultStatus = "DEFAULT" | "NOT_DEFAULT"; export const MdbAvailableVersionDefaultStatus = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type MdbAvailableVersionLinksList = Array; export const MdbAvailableVersionLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface MdbAvailableVersion { /** Cloud service provider on which MongoDB Cloud provisions the hosts. Set dedicated clusters to `AWS`, `GCP`, `AZURE` or `TENANT`. */ cloudProvider?: MdbAvailableVersionCloudProvider; /** Whether the version is the current default for the Instance Size and Cloud Provider. */ defaultStatus?: MdbAvailableVersionDefaultStatus; instanceSize?: BaseCloudProviderInstanceSize; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: MdbAvailableVersionLinksList; /** The MongoDB Major Version in question. */ version?: string; } export const MdbAvailableVersion = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(MdbAvailableVersionCloudProvider), defaultStatus: S.optional(MdbAvailableVersionDefaultStatus), instanceSize: S.optional(BaseCloudProviderInstanceSize), links: S.optional(MdbAvailableVersionLinksList), version: S.optional(S.String), }), ).annotate({ identifier: "MdbAvailableVersion", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedAvailableVersionViewResultsList = Array; export const PaginatedAvailableVersionViewResultsList = /*@__PURE__*/ S.Array( MdbAvailableVersion, ) as any as S.Schema; export interface PaginatedAvailableVersionView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedAvailableVersionViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedAvailableVersionViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedAvailableVersionView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedAvailableVersionViewLinksList), results: PaginatedAvailableVersionViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedAvailableVersionView", }) as any as S.Schema; export interface GetGroupPeerRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the network peering connection that you want to retrieve. */ peerId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupPeerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), peerId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/peers/{peerId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupPeerRequest", }) as any as S.Schema; export type GetGroupPrivateEndpointEndpointServiceRequestCloudProvider = | "AWS" | "AZURE" | "GCP"; export const GetGroupPrivateEndpointEndpointServiceRequestCloudProvider = S.String; export interface GetGroupPrivateEndpointEndpointServiceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Cloud service provider that manages this private endpoint service. */ cloudProvider: | GetGroupPrivateEndpointEndpointServiceRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the private endpoint service that you want to return. */ endpointServiceId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupPrivateEndpointEndpointServiceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: GetGroupPrivateEndpointEndpointServiceRequestCloudProvider.pipe( T.Label(), ), endpointServiceId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupPrivateEndpointEndpointServiceRequest", }) as any as S.Schema; export type GetGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider = | "AWS" | "AZURE" | "GCP"; export const GetGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider = S.String; export interface GetGroupPrivateEndpointEndpointServiceEndpointRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Cloud service provider that manages this private endpoint. */ cloudProvider: | GetGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the private endpoint service for which you want to return a private endpoint. */ endpointServiceId: string; /** Unique string that identifies the private endpoint you want to return. The format of the `endpointId` parameter differs for AWS and Azure. You must URL encode the `endpointId` for Azure private endpoints. */ endpointId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupPrivateEndpointEndpointServiceEndpointRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: GetGroupPrivateEndpointEndpointServiceEndpointRequestCloudProvider.pipe( T.Label(), ), endpointServiceId: S.String.pipe(T.Label()), endpointId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}/endpoint/{endpointId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupPrivateEndpointEndpointServiceEndpointRequest", }) as any as S.Schema; export interface GetGroupPrivateEndpointRegionalModeRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupPrivateEndpointRegionalModeRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/regionalMode", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupPrivateEndpointRegionalModeRequest", }) as any as S.Schema; export interface ProjectSettingItemView { /** Flag that indicates whether someone enabled the regionalized private endpoint setting for the specified project. - Set this value to `true` to enable regionalized private endpoints. This allows you to create more than one private endpoint in a cloud provider region. You need to enable this setting to connect to multi-region and global MongoDB Cloud sharded clusters. Enabling regionalized private endpoints introduces the following limitations: - Your applications must use the new connection strings for existing multi-region and global sharded clusters. This might cause downtime. - Your MongoDB Cloud project can't contain replica sets nor can you create new replica sets in this project. - You can't disable this setting if you have: - more than one private endpoint in more than one region - more than one private endpoint in one region and one private endpoint in one or more regions. - Set this value to `false` to disable regionalized private endpoints. */ enabled: boolean; } export const ProjectSettingItemView = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.Boolean, }), ).annotate({ identifier: "ProjectSettingItemView", }) as any as S.Schema; export interface GetGroupPrivateNetworkSettingEndpointIdRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 22-character alphanumeric string that identifies the private endpoint to return. Atlas Data Federation supports AWS private endpoints using the AWS PrivateLink feature. */ endpointId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupPrivateNetworkSettingEndpointIdRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), endpointId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/privateNetworkSettings/endpointIds/{endpointId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupPrivateNetworkSettingEndpointIdRequest", }) as any as S.Schema; export interface GetGroupProcessRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupProcessRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupProcessRequest", }) as any as S.Schema; export type LinkAtlas = Link; export const LinkAtlas = Link; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ApiHostViewAtlasLinksList = Array; export const ApiHostViewAtlasLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Type of MongoDB process that MongoDB Cloud tracks. MongoDB Cloud returns new processes as `NO_DATA` until MongoDB Cloud completes deploying the process. */ export type ApiHostViewAtlasTypeName = | "REPLICA_PRIMARY" | "REPLICA_SECONDARY" | "RECOVERING" | "SHARD_MONGOS" | "SHARD_CONFIG" | "SHARD_STANDALONE" | "SHARD_PRIMARY" | "SHARD_SECONDARY" | "NO_DATA"; export const ApiHostViewAtlasTypeName = S.String; export interface ApiHostViewAtlas { /** Date and time when MongoDB Cloud created this MongoDB process. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Unique 24-hexadecimal digit string that identifies the project. The project contains MongoDB processes that you want to return. The MongoDB process can be either the `mongod` or `mongos`. */ groupId?: string; /** Hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). */ hostname?: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ id?: string; /** Date and time when MongoDB Cloud received the last ping for this MongoDB process. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ lastPing?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ApiHostViewAtlasLinksList; /** Internet Assigned Numbers Authority (IANA) port on which the MongoDB process listens for requests. */ port?: number; /** Human-readable label that identifies the replica set that contains this process. This resource returns this parameter if this process belongs to a replica set. */ replicaSetName?: string; /** Human-readable label that identifies the shard that contains this process. This resource returns this value only if this process belongs to a sharded cluster. */ shardName?: string; /** Type of MongoDB process that MongoDB Cloud tracks. MongoDB Cloud returns new processes as `NO_DATA` until MongoDB Cloud completes deploying the process. */ typeName?: ApiHostViewAtlasTypeName; /** Human-readable label that identifies the cluster node. MongoDB Cloud sets this hostname usually to the standard hostname for the cluster node. It appears in the connection string for a cluster instead of the value of the hostname parameter. */ userAlias?: string; /** Version of MongoDB that this process runs. */ version?: string; } export const ApiHostViewAtlas = /*@__PURE__*/ S.suspend(() => S.Struct({ created: S.optional(S.String), groupId: S.optional(S.String), hostname: S.optional(S.String), id: S.optional(S.String), lastPing: S.optional(S.String), links: S.optional(ApiHostViewAtlasLinksList), port: S.optional(S.Number), replicaSetName: S.optional(S.String), shardName: S.optional(S.String), typeName: S.optional(ApiHostViewAtlasTypeName), userAlias: S.optional(S.String), version: S.optional(S.String), }), ).annotate({ identifier: "ApiHostViewAtlas", }) as any as S.Schema; export interface GetGroupProcessCollStatNamespacesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and IANA port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (mongod or mongos). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; } export const GetGroupProcessCollStatNamespacesRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), period: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/collStats/namespaces", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "GetGroupProcessCollStatNamespacesRequest", }) as any as S.Schema; export interface GetGroupProcessDatabaseRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Human-readable label that identifies the database that the specified MongoDB process serves. */ databaseName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupProcessDatabaseRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/databases/{databaseName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupProcessDatabaseRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type MesurementsDatabaseLinksList = Array; export const MesurementsDatabaseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface MesurementsDatabase { /** Human-readable label that identifies the database that the specified MongoDB process serves. */ databaseName?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: MesurementsDatabaseLinksList; } export const MesurementsDatabase = /*@__PURE__*/ S.suspend(() => S.Struct({ databaseName: S.optional(S.String), links: S.optional(MesurementsDatabaseLinksList), }), ).annotate({ identifier: "MesurementsDatabase", }) as any as S.Schema; /** One measurement requested for this MongoDB process. */ export type GetGroupProcessDatabaseMeasurementsRequestMItem = | "DATABASE_AVERAGE_OBJECT_SIZE" | "DATABASE_COLLECTION_COUNT" | "DATABASE_DATA_SIZE" | "DATABASE_STORAGE_SIZE" | "DATABASE_INDEX_SIZE" | "DATABASE_INDEX_COUNT" | "DATABASE_EXTENT_COUNT" | "DATABASE_OBJECT_COUNT" | "DATABASE_VIEW_COUNT"; export const GetGroupProcessDatabaseMeasurementsRequestMItem = S.String; export type GetGroupProcessDatabaseMeasurementsRequestMList = Array< GetGroupProcessDatabaseMeasurementsRequestMItem | (string & {}) >; export const GetGroupProcessDatabaseMeasurementsRequestMList = /*@__PURE__*/ S.Array( GetGroupProcessDatabaseMeasurementsRequestMItem, ) as any as S.Schema; export interface GetGroupProcessDatabaseMeasurementsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Human-readable label that identifies the database that the specified MongoDB process serves. */ databaseName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** One or more types of measurement to request for this MongoDB process. If omitted, the resource returns all measurements. To specify multiple values for `m`, repeat the `m` parameter for each value. Specify measurements that apply to the specified host. MongoDB Cloud returns an error if you specified any invalid measurements. */ m?: GetGroupProcessDatabaseMeasurementsRequestMList; /** Duration that specifies the interval at which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. */ granularity: string; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; } export const GetGroupProcessDatabaseMeasurementsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), m: S.optional( GetGroupProcessDatabaseMeasurementsRequestMList.pipe(T.Query()), ), granularity: S.String.pipe(T.Query()), period: S.optional(S.String.pipe(T.Query())), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/databases/{databaseName}/measurements", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupProcessDatabaseMeasurementsRequest", }) as any as S.Schema; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ export type ApiMeasurementsGeneralViewAtlasGranularity = | "PT1M" | "PT5M" | "PT1H" | "P1D"; export const ApiMeasurementsGeneralViewAtlasGranularity = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ApiMeasurementsGeneralViewAtlasLinksList = Array; export const ApiMeasurementsGeneralViewAtlasLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Value of, and metadata provided for, one data point generated at a particular moment in time. If no data point exists for a particular moment in time, the `value` parameter returns `null`. */ export type MetricDataPointAtlas = MetricDataPoint; export const MetricDataPointAtlas = MetricDataPoint; /** List that contains the value of, and metadata provided for, one data point generated at a particular moment in time. If no data point exists for a particular moment in time, the `value` parameter returns `null`. */ export type MetricsMeasurementAtlasDataPointsList = Array; export const MetricsMeasurementAtlasDataPointsList = /*@__PURE__*/ S.Array( MetricDataPoint, ) as any as S.Schema; /** Element used to quantify the measurement. The resource returns units of throughput, storage, and time. */ export type MetricsMeasurementAtlasUnits = | "BYTES" | "BYTES_PER_SECOND" | "GIGABYTES" | "GIGABYTES_PER_HOUR" | "MEGABYTES_PER_SECOND" | "MICROSECONDS" | "MILLISECONDS" | "PERCENT" | "SCALAR" | "SCALAR_PER_SECOND"; export const MetricsMeasurementAtlasUnits = S.String; export interface MetricsMeasurementAtlas { /** List that contains the value of, and metadata provided for, one data point generated at a particular moment in time. If no data point exists for a particular moment in time, the `value` parameter returns `null`. */ dataPoints?: MetricsMeasurementAtlasDataPointsList; /** Human-readable label of the measurement that this data point covers. */ name?: string; /** Element used to quantify the measurement. The resource returns units of throughput, storage, and time. */ units?: MetricsMeasurementAtlasUnits; } export const MetricsMeasurementAtlas = /*@__PURE__*/ S.suspend(() => S.Struct({ dataPoints: S.optional(MetricsMeasurementAtlasDataPointsList), name: S.optional(S.String), units: S.optional(MetricsMeasurementAtlasUnits), }), ).annotate({ identifier: "MetricsMeasurementAtlas", }) as any as S.Schema; /** List that contains measurements and their data points. */ export type ApiMeasurementsGeneralViewAtlasMeasurementsList = Array; export const ApiMeasurementsGeneralViewAtlasMeasurementsList = /*@__PURE__*/ S.Array( MetricsMeasurementAtlas, ) as any as S.Schema; export interface ApiMeasurementsGeneralViewAtlas { /** Human-readable label that identifies the database that the specified MongoDB process serves. */ databaseName?: string; /** Date and time that specifies when to stop retrieving measurements. If you set **end**, you must set **start**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ end?: string; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ granularity?: ApiMeasurementsGeneralViewAtlasGranularity; /** Unique 24-hexadecimal digit string that identifies the project. The project contains MongoDB processes that you want to return. The MongoDB process can be either the `mongod` or `mongos`. */ groupId?: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ hostId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ApiMeasurementsGeneralViewAtlasLinksList; /** List that contains measurements and their data points. */ measurements?: ApiMeasurementsGeneralViewAtlasMeasurementsList; /** Human-readable label of the disk or partition to which the measurements apply. */ partitionName?: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId?: string; /** Date and time that specifies when to start retrieving measurements. If you set **start**, you must set **end**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ start?: string; } export const ApiMeasurementsGeneralViewAtlas = /*@__PURE__*/ S.suspend(() => S.Struct({ databaseName: S.optional(S.String), end: S.optional(S.String), granularity: S.optional(ApiMeasurementsGeneralViewAtlasGranularity), groupId: S.optional(S.String), hostId: S.optional(S.String), links: S.optional(ApiMeasurementsGeneralViewAtlasLinksList), measurements: S.optional(ApiMeasurementsGeneralViewAtlasMeasurementsList), partitionName: S.optional(S.String), processId: S.optional(S.String), start: S.optional(S.String), }), ).annotate({ identifier: "ApiMeasurementsGeneralViewAtlas", }) as any as S.Schema; export interface GetGroupProcessDiskRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Human-readable label of the disk or partition to which the measurements apply. */ partitionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupProcessDiskRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), partitionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/disks/{partitionName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupProcessDiskRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type MeasurementDiskPartitionLinksList = Array; export const MeasurementDiskPartitionLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface MeasurementDiskPartition { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: MeasurementDiskPartitionLinksList; /** Human-readable label of the disk or partition to which the measurements apply. */ partitionName?: string; } export const MeasurementDiskPartition = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(MeasurementDiskPartitionLinksList), partitionName: S.optional(S.String), }), ).annotate({ identifier: "MeasurementDiskPartition", }) as any as S.Schema; /** One measurement requested for this MongoDB process. */ export type GetGroupProcessDiskMeasurementsRequestMItem = | "DISK_PARTITION_IOPS_READ" | "MAX_DISK_PARTITION_IOPS_READ" | "DISK_PARTITION_IOPS_WRITE" | "MAX_DISK_PARTITION_IOPS_WRITE" | "DISK_PARTITION_IOPS_TOTAL" | "MAX_DISK_PARTITION_IOPS_TOTAL" | "DISK_PARTITION_LATENCY_READ" | "MAX_DISK_PARTITION_LATENCY_READ" | "DISK_PARTITION_LATENCY_WRITE" | "MAX_DISK_PARTITION_LATENCY_WRITE" | "DISK_PARTITION_SPACE_FREE" | "MAX_DISK_PARTITION_SPACE_FREE" | "DISK_PARTITION_SPACE_USED" | "MAX_DISK_PARTITION_SPACE_USED" | "DISK_PARTITION_SPACE_PERCENT_FREE" | "MAX_DISK_PARTITION_SPACE_PERCENT_FREE" | "DISK_PARTITION_SPACE_PERCENT_USED" | "MAX_DISK_PARTITION_SPACE_PERCENT_USED" | "DISK_PARTITION_THROUGHPUT_READ" | "DISK_PARTITION_THROUGHPUT_WRITE" | "DISK_QUEUE_DEPTH"; export const GetGroupProcessDiskMeasurementsRequestMItem = S.String; export type GetGroupProcessDiskMeasurementsRequestMList = Array< GetGroupProcessDiskMeasurementsRequestMItem | (string & {}) >; export const GetGroupProcessDiskMeasurementsRequestMList = /*@__PURE__*/ S.Array( GetGroupProcessDiskMeasurementsRequestMItem, ) as any as S.Schema; export interface GetGroupProcessDiskMeasurementsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Human-readable label of the disk or partition to which the measurements apply. */ partitionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** One or more types of measurement to request for this MongoDB process. If omitted, the resource returns all measurements. To specify multiple values for `m`, repeat the `m` parameter for each value. Specify measurements that apply to the specified host. MongoDB Cloud returns an error if you specified any invalid measurements. */ m?: GetGroupProcessDiskMeasurementsRequestMList; /** Duration that specifies the interval at which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. */ granularity: string; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; } export const GetGroupProcessDiskMeasurementsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), partitionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), m: S.optional( GetGroupProcessDiskMeasurementsRequestMList.pipe(T.Query()), ), granularity: S.String.pipe(T.Query()), period: S.optional(S.String.pipe(T.Query())), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/disks/{partitionName}/measurements", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupProcessDiskMeasurementsRequest", }) as any as S.Schema; /** One measurement requested for this MongoDB process. */ export type GetGroupProcessMeasurementsRequestMItem = | "ASSERT_MSG" | "ASSERT_REGULAR" | "ASSERT_USER" | "ASSERT_WARNING" | "BACKGROUND_FLUSH_AVG" | "CACHE_BYTES_READ_INTO" | "CACHE_BYTES_WRITTEN_FROM" | "CACHE_DIRTY_BYTES" | "CACHE_USED_BYTES" | "CACHE_FILL_RATIO" | "DIRTY_FILL_RATIO" | "COMPUTED_MEMORY" | "CONNECTIONS" | "CURSORS_TOTAL_OPEN" | "CURSORS_TOTAL_TIMED_OUT" | "DB_DATA_SIZE_TOTAL" | "DB_STORAGE_TOTAL" | "DOCUMENT_METRICS_DELETED" | "DOCUMENT_METRICS_INSERTED" | "DOCUMENT_METRICS_RETURNED" | "DOCUMENT_METRICS_UPDATED" | "EXTRA_INFO_PAGE_FAULTS" | "FTS_DISK_UTILIZATION" | "FTS_MEMORY_MAPPED" | "FTS_MEMORY_RESIDENT" | "FTS_MEMORY_VIRTUAL" | "FTS_PROCESS_CPU_KERNEL" | "FTS_PROCESS_CPU_USER" | "FTS_PROCESS_NORMALIZED_CPU_KERNEL" | "FTS_PROCESS_NORMALIZED_CPU_USER" | "GLOBAL_ACCESSES_NOT_IN_MEMORY" | "GLOBAL_LOCK_CURRENT_QUEUE_READERS" | "GLOBAL_LOCK_CURRENT_QUEUE_TOTAL" | "GLOBAL_LOCK_CURRENT_QUEUE_WRITERS" | "GLOBAL_PAGE_FAULT_EXCEPTIONS_THROWN" | "INDEX_COUNTERS_BTREE_ACCESSES" | "INDEX_COUNTERS_BTREE_HITS" | "INDEX_COUNTERS_BTREE_MISS_RATIO" | "INDEX_COUNTERS_BTREE_MISSES" | "JOURNALING_COMMITS_IN_WRITE_LOCK" | "JOURNALING_MB" | "JOURNALING_WRITE_DATA_FILES_MB" | "MAX_PROCESS_CPU_CHILDREN_KERNEL" | "MAX_PROCESS_CPU_CHILDREN_USER" | "MAX_PROCESS_CPU_KERNEL" | "MAX_PROCESS_CPU_USER" | "MAX_PROCESS_NORMALIZED_CPU_CHILDREN_KERNEL" | "MAX_PROCESS_NORMALIZED_CPU_CHILDREN_USER" | "MAX_PROCESS_NORMALIZED_CPU_KERNEL" | "MAX_PROCESS_NORMALIZED_CPU_USER" | "MAX_SWAP_USAGE_FREE" | "MAX_SWAP_USAGE_USED" | "MAX_SYSTEM_CPU_GUEST" | "MAX_SYSTEM_CPU_IOWAIT" | "MAX_SYSTEM_CPU_IRQ" | "MAX_SYSTEM_CPU_KERNEL" | "MAX_SYSTEM_CPU_SOFTIRQ" | "MAX_SYSTEM_CPU_STEAL" | "MAX_SYSTEM_CPU_USER" | "MAX_SYSTEM_MEMORY_AVAILABLE" | "MAX_SYSTEM_MEMORY_FREE" | "MAX_SYSTEM_MEMORY_USED" | "MAX_SYSTEM_NETWORK_IN" | "MAX_SYSTEM_NETWORK_OUT" | "MAX_SYSTEM_NORMALIZED_CPU_GUEST" | "MAX_SYSTEM_NORMALIZED_CPU_IOWAIT" | "MAX_SYSTEM_NORMALIZED_CPU_IRQ" | "MAX_SYSTEM_NORMALIZED_CPU_KERNEL" | "MAX_SYSTEM_NORMALIZED_CPU_NICE" | "MAX_SYSTEM_NORMALIZED_CPU_SOFTIRQ" | "MAX_SYSTEM_NORMALIZED_CPU_STEAL" | "MAX_SYSTEM_NORMALIZED_CPU_USER" | "MEMORY_MAPPED" | "MEMORY_RESIDENT" | "MEMORY_VIRTUAL" | "NETWORK_BYTES_IN" | "NETWORK_BYTES_OUT" | "NETWORK_NUM_REQUESTS" | "OP_EXECUTION_TIME_COMMANDS" | "OP_EXECUTION_TIME_READS" | "OP_EXECUTION_TIME_WRITES" | "OPCOUNTER_CMD" | "OPCOUNTER_DELETE" | "OPCOUNTER_TTL_DELETED" | "OPCOUNTER_GETMORE" | "OPCOUNTER_INSERT" | "OPCOUNTER_QUERY" | "OPCOUNTER_REPL_CMD" | "OPCOUNTER_REPL_DELETE" | "OPCOUNTER_REPL_INSERT" | "OPCOUNTER_REPL_UPDATE" | "OPCOUNTER_UPDATE" | "OPERATIONS_SCAN_AND_ORDER" | "OPERATIONS_QUERIES_KILLED" | "OPLOG_MASTER_LAG_TIME_DIFF" | "OPLOG_MASTER_TIME" | "OPLOG_RATE_GB_PER_HOUR" | "OPLOG_SLAVE_LAG_MASTER_TIME" | "OPLOG_REPLICATION_LAG" | "PROCESS_CPU_CHILDREN_KERNEL" | "PROCESS_CPU_CHILDREN_USER" | "PROCESS_CPU_KERNEL" | "PROCESS_CPU_USER" | "PROCESS_NORMALIZED_CPU_CHILDREN_KERNEL" | "PROCESS_NORMALIZED_CPU_CHILDREN_USER" | "PROCESS_NORMALIZED_CPU_KERNEL" | "PROCESS_NORMALIZED_CPU_USER" | "QUERY_EXECUTOR_SCANNED" | "QUERY_EXECUTOR_SCANNED_OBJECTS" | "QUERY_TARGETING_SCANNED_OBJECTS_PER_RETURNED" | "QUERY_TARGETING_SCANNED_PER_RETURNED" | "RESTARTS_IN_LAST_HOUR" | "SWAP_USAGE_FREE" | "SWAP_USAGE_USED" | "SYSTEM_CPU_GUEST" | "SYSTEM_CPU_IOWAIT" | "SYSTEM_CPU_IRQ" | "SYSTEM_CPU_KERNEL" | "SYSTEM_CPU_NICE" | "SYSTEM_CPU_SOFTIRQ" | "SYSTEM_CPU_STEAL" | "SYSTEM_CPU_USER" | "SYSTEM_MEMORY_AVAILABLE" | "SYSTEM_MEMORY_FREE" | "SYSTEM_MEMORY_USED" | "SYSTEM_NETWORK_IN" | "SYSTEM_NETWORK_OUT" | "SYSTEM_NORMALIZED_CPU_GUEST" | "SYSTEM_NORMALIZED_CPU_IOWAIT" | "SYSTEM_NORMALIZED_CPU_IRQ" | "SYSTEM_NORMALIZED_CPU_KERNEL" | "SYSTEM_NORMALIZED_CPU_NICE" | "SYSTEM_NORMALIZED_CPU_SOFTIRQ" | "SYSTEM_NORMALIZED_CPU_STEAL" | "SYSTEM_NORMALIZED_CPU_USER" | "TICKETS_AVAILABLE_READS" | "TICKETS_AVAILABLE_WRITE" | "OPERATION_THROTTLING_REJECTED_OPERATIONS" | "QUERY_SPILL_TO_DISK_DURING_SORT" | "STORAGE_READ_IOPS" | "STORAGE_WRITE_IOPS" | "STORAGE_READ_LATENCY" | "STORAGE_WRITE_LATENCY" | "STORAGE_BYTES_READ" | "STORAGE_BYTES_WRITTEN" | "STORAGE_THROUGHPUT_UTILIZATION" | "STORAGE_SPACE_USED" | "STORAGE_SPACE_FREE" | "STORAGE_SPACE_PERCENT_FREE" | "STORAGE_SPACE_PERCENT_USED" | "CATALOG_ACTIVE_COLLECTIONS_AND_INDEXES" | "QUERY_SPILL_FILE_SPILLED_SIZE" | "AVG_MAJORITY_WRITE_CONCERN_WRITE_TIME" | "TRANSACTIONS_CURRENT_ACTIVE" | "TRANSACTIONS_CURRENT_INACTIVE" | "TRANSACTIONS_CURRENT_OPEN" | "TRANSACTIONS_TOTAL_ABORTED" | "TRANSACTIONS_TOTAL_COMMITTED" | "TRANSACTIONS_TOTAL_STARTED" | "CACHE_PRESSURE_PERCENTAGE" | "INGRESS_QUEUE_WAIT_TIME"; export const GetGroupProcessMeasurementsRequestMItem = S.String; export type GetGroupProcessMeasurementsRequestMList = Array< GetGroupProcessMeasurementsRequestMItem | (string & {}) >; export const GetGroupProcessMeasurementsRequestMList = /*@__PURE__*/ S.Array( GetGroupProcessMeasurementsRequestMItem, ) as any as S.Schema; export interface GetGroupProcessMeasurementsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** One or more types of measurement to request for this MongoDB process. If omitted, the resource returns all measurements. To specify multiple values for `m`, repeat the `m` parameter for each value. Specify measurements that apply to the specified host. MongoDB Cloud returns an error if you specified any invalid measurements. */ m?: GetGroupProcessMeasurementsRequestMList; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; /** Duration that specifies the interval at which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. */ granularity: string; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; } export const GetGroupProcessMeasurementsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), m: S.optional(GetGroupProcessMeasurementsRequestMList.pipe(T.Query())), period: S.optional(S.String.pipe(T.Query())), granularity: S.String.pipe(T.Query()), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/measurements", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupProcessMeasurementsRequest", }) as any as S.Schema; export interface GetGroupSampleDatasetLoadRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the loaded sample dataset. */ sampleDatasetId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupSampleDatasetLoadRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), sampleDatasetId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/sampleDatasetLoad/{sampleDatasetId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupSampleDatasetLoadRequest", }) as any as S.Schema; /** Status of the sample dataset load job. */ export type SampleDatasetStatusState = "WORKING" | "FAILED" | "COMPLETED"; export const SampleDatasetStatusState = S.String; export interface SampleDatasetStatus { /** Unique 24-hexadecimal character string that identifies this sample dataset. */ _id?: string; /** Human-readable label that identifies the cluster into which you loaded the sample dataset. */ clusterName?: string; /** Date and time when the sample dataset load job completed. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. */ completeDate?: string; /** Date and time when you started the sample dataset load job. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. */ createDate?: string; /** Details of the error returned when MongoDB Cloud loads the sample dataset. This endpoint returns null if state has a value other than FAILED. */ errorMessage?: string; /** Status of the sample dataset load job. */ state?: SampleDatasetStatusState; } export const SampleDatasetStatus = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.String), clusterName: S.optional(S.String), completeDate: S.optional(S.String), createDate: S.optional(S.String), errorMessage: S.optional(S.String), state: S.optional(SampleDatasetStatusState), }), ).annotate({ identifier: "SampleDatasetStatus", }) as any as S.Schema; export interface GetGroupServiceAccountRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GetGroupServiceAccountRequest", }) as any as S.Schema; export interface GetGroupSettingsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupSettingsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/settings", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupSettingsRequest", }) as any as S.Schema; /** Collection of settings that configures the project. */ export interface GroupSettings { /** Flag that indicates whether the MongoDB Assistant on the Atlas Home Page is enabled for the specified project. */ isAtlasHomePageAiAssistantEnabled?: boolean; /** Flag that indicates whether the AI Cluster Assistant is enabled for the specified project. */ isClusterAiAssistantEnabled?: boolean; /** Flag that indicates whether to collect database-specific metrics for the specified project. */ isCollectDatabaseSpecificsStatisticsEnabled?: boolean; /** Flag that indicates whether to enable the Data Explorer for the specified project. */ isDataExplorerEnabled?: boolean; /** Flag that indicates whether to enable the use of generative AI features which make requests to 3rd party services in Data Explorer for the specified project. */ isDataExplorerGenAIFeaturesEnabled?: boolean; /** Flag that indicates whether to enable the passing of sample field values with the use of generative AI features in the Data Explorer for the specified project. */ isDataExplorerGenAISampleDocumentPassingEnabled?: boolean; /** Flag that indicates whether data validation is enabled for all clusters in the specified project. */ isDataValidationEnabled?: boolean; /** Flag that indicates whether to enable extended storage sizes for the specified project. */ isExtendedStorageSizesEnabled?: boolean; /** Flag that indicates whether to enable Native Reranking with Voyage AI models in the Aggregation Pipeline for the specified project. */ isNativeRerankingEnabled?: boolean; /** Flag that indicates whether to enable the Performance Advisor and Profiler for the specified project. */ isPerformanceAdvisorEnabled?: boolean; /** Flag that indicates whether to enable the Real Time Performance Panel for the specified project. */ isRealtimePerformancePanelEnabled?: boolean; /** Flag that indicates whether to enable the Schema Advisor for the specified project. */ isSchemaAdvisorEnabled?: boolean; } export const GroupSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ isAtlasHomePageAiAssistantEnabled: S.optional(S.Boolean), isClusterAiAssistantEnabled: S.optional(S.Boolean), isCollectDatabaseSpecificsStatisticsEnabled: S.optional(S.Boolean), isDataExplorerEnabled: S.optional(S.Boolean), isDataExplorerGenAIFeaturesEnabled: S.optional(S.Boolean), isDataExplorerGenAISampleDocumentPassingEnabled: S.optional(S.Boolean), isDataValidationEnabled: S.optional(S.Boolean), isExtendedStorageSizesEnabled: S.optional(S.Boolean), isNativeRerankingEnabled: S.optional(S.Boolean), isPerformanceAdvisorEnabled: S.optional(S.Boolean), isRealtimePerformancePanelEnabled: S.optional(S.Boolean), isSchemaAdvisorEnabled: S.optional(S.Boolean), }), ).annotate({ identifier: "GroupSettings" }) as any as S.Schema; export interface GetGroupStreamAccountDetailsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** One of "aws", "azure" or "gcp". */ cloudProvider: string; /** The cloud provider specific region name, i.e. "US_EAST_1" for cloud provider "aws". */ regionName: string; } export const GetGroupStreamAccountDetailsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), cloudProvider: S.String.pipe(T.Query()), regionName: S.String.pipe(T.Query()), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/accountDetails", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "GetGroupStreamAccountDetailsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AWSAccountDetailsLinksList = Array; export const AWSAccountDetailsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface AWSAccountDetails { /** The AWS Account ID. */ awsAccountId?: string; /** The VPC CIDR Block. */ cidrBlock?: string; /** Cloud provider. */ cloudProvider?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AWSAccountDetailsLinksList; /** The VPC ID. */ vpcId?: string; } export const AWSAccountDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ awsAccountId: S.optional(S.String), cidrBlock: S.optional(S.String), cloudProvider: S.optional(S.String), links: S.optional(AWSAccountDetailsLinksList), vpcId: S.optional(S.String), }), ).annotate({ identifier: "AWSAccountDetails", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AzureAccountDetailsLinksList = Array; export const AzureAccountDetailsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface AzureAccountDetails { /** The Azure Subscription ID. */ azureSubscriptionId?: string; /** The VPC CIDR Block. */ cidrBlock?: string; /** Cloud provider. */ cloudProvider?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AzureAccountDetailsLinksList; /** The name of the virtual network. */ virtualNetworkName?: string; } export const AzureAccountDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ azureSubscriptionId: S.optional(S.String), cidrBlock: S.optional(S.String), cloudProvider: S.optional(S.String), links: S.optional(AzureAccountDetailsLinksList), virtualNetworkName: S.optional(S.String), }), ).annotate({ identifier: "AzureAccountDetails", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type GCPAccountDetailsLinksList = Array; export const GCPAccountDetailsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface GCPAccountDetails { /** The VPC CIDR Block. */ cidrBlock?: string; /** Cloud provider. */ cloudProvider?: string; /** The GCP Project ID. */ gcpProjectId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: GCPAccountDetailsLinksList; /** The name of the VPC network. */ vpcNetworkName?: string; } export const GCPAccountDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ cidrBlock: S.optional(S.String), cloudProvider: S.optional(S.String), gcpProjectId: S.optional(S.String), links: S.optional(GCPAccountDetailsLinksList), vpcNetworkName: S.optional(S.String), }), ).annotate({ identifier: "GCPAccountDetails", }) as any as S.Schema; /** Account details for the group, region, and provider. */ export type AccountDetails = | AWSAccountDetails | AzureAccountDetails | GCPAccountDetails; export const AccountDetails = S.Unknown as any as S.Schema; export type GetGroupStreamAccountDetailsResponse = AccountDetails; export const GetGroupStreamAccountDetailsResponse = /*@__PURE__*/ S.suspend( () => AccountDetails.pipe(T.RawResponseRoot()), ).annotate({ identifier: "GetGroupStreamAccountDetailsResponse", }) as any as S.Schema; export interface GetGroupStreamConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace to return. */ tenantName: string; /** Label that identifies the stream connection to return. */ connectionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupStreamConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), connectionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "GetGroupStreamConnectionRequest", }) as any as S.Schema; export interface GetGroupStreamConnectionFailoverConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream connection. */ connectionName: string; /** Label that identifies the stream failover connection id. */ failoverConnectionId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupStreamConnectionFailoverConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), connectionName: S.String.pipe(T.Label()), failoverConnectionId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}/failoverConnections/{failoverConnectionId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetGroupStreamConnectionFailoverConnectionRequest", }) as any as S.Schema; export interface GetGroupStreamPrivateLinkConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique ID that identifies the Private Link connection. */ connectionId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetGroupStreamPrivateLinkConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), connectionId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/privateLinkConnections/{connectionId}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "GetGroupStreamPrivateLinkConnectionRequest", }) as any as S.Schema; export interface GetGroupStreamProcessorRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream processor. */ processorName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupStreamProcessorRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), processorName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "GetGroupStreamProcessorRequest", }) as any as S.Schema; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ export type StreamsProcessorWithStatsEffectiveTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamsProcessorWithStatsEffectiveTier = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type StreamsProcessorWithStatsLinksList = Array; export const StreamsProcessorWithStatsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export type StreamsProcessorWithStatsPipelineItemMap = { [key: string]: unknown | undefined; }; export const StreamsProcessorWithStatsPipelineItemMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** Stream aggregation pipeline you want to apply to your streaming data. */ export type StreamsProcessorWithStatsPipelineList = Array; export const StreamsProcessorWithStatsPipelineList = /*@__PURE__*/ S.Array( StreamsProcessorWithStatsPipelineItemMap, ) as any as S.Schema; /** The stats associated with the stream processor. */ export type StreamsProcessorWithStatsStatsMap = { [key: string]: unknown | undefined; }; export const StreamsProcessorWithStatsStatsMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ export type StreamsProcessorWithStatsTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StreamsProcessorWithStatsTier = S.String; /** An atlas stream processor with optional stats. */ export interface StreamsProcessorWithStats { /** Unique 24-hexadecimal character string that identifies the stream processor. */ _id: string; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ effectiveTier: StreamsProcessorWithStatsEffectiveTier; /** Flag that indicates whether the stream processor is eligible for failover. */ eligibleForFailover?: boolean; /** Flag that enables or disables failover for the stream processor. */ failoverEnabled?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: StreamsProcessorWithStatsLinksList; /** Human-readable name of the stream processor. */ name: string; options?: StreamsOptions; /** Stream aggregation pipeline you want to apply to your streaming data. */ pipeline: StreamsProcessorWithStatsPipelineList; /** The state of the stream processor. Commonly occurring states are 'CREATED', 'STARTED', 'STOPPED' and 'FAILED'. */ state: string; /** The stats associated with the stream processor. */ stats?: StreamsProcessorWithStatsStatsMap; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ tier?: StreamsProcessorWithStatsTier; } export const StreamsProcessorWithStats = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.String, effectiveTier: StreamsProcessorWithStatsEffectiveTier, eligibleForFailover: S.optional(S.Boolean), failoverEnabled: S.optional(S.Boolean), links: S.optional(StreamsProcessorWithStatsLinksList), name: S.String, options: S.optional(StreamsOptions), pipeline: StreamsProcessorWithStatsPipelineList, state: S.String, stats: S.optional(StreamsProcessorWithStatsStatsMap), tier: S.optional(StreamsProcessorWithStatsTier), }), ).annotate({ identifier: "StreamsProcessorWithStats", }) as any as S.Schema; export interface GetGroupStreamProcessorsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; } export const GetGroupStreamProcessorsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/processors", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "GetGroupStreamProcessorsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiStreamsStreamProcessorWithStatsViewLinksList = Array; export const PaginatedApiStreamsStreamProcessorWithStatsViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiStreamsStreamProcessorWithStatsViewResultsList = Array; export const PaginatedApiStreamsStreamProcessorWithStatsViewResultsList = /*@__PURE__*/ S.Array( StreamsProcessorWithStats, ) as any as S.Schema; export interface PaginatedApiStreamsStreamProcessorWithStatsView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiStreamsStreamProcessorWithStatsViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiStreamsStreamProcessorWithStatsViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiStreamsStreamProcessorWithStatsView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional( PaginatedApiStreamsStreamProcessorWithStatsViewLinksList, ), results: PaginatedApiStreamsStreamProcessorWithStatsViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiStreamsStreamProcessorWithStatsView", }) as any as S.Schema; export interface GetGroupStreamWorkspaceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace to return. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag to indicate whether connections information should be included in the stream workspace. */ includeConnections?: boolean; } export const GetGroupStreamWorkspaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeConnections: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "GetGroupStreamWorkspaceRequest", }) as any as S.Schema; export interface GetGroupTeamRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the team for which you want to get. */ teamId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupTeamRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), teamId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/teams/{teamId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupTeamRequest", }) as any as S.Schema; export type GetGroupUserRequestOrgMembershipStatusesItem = | "PENDING" | "ACTIVE" | "INVITATION_EXPIRED" | "INVITATION_REJECTED"; export const GetGroupUserRequestOrgMembershipStatusesItem = S.String; export type GetGroupUserRequestOrgMembershipStatusesList = Array< GetGroupUserRequestOrgMembershipStatusesItem | (string & {}) >; export const GetGroupUserRequestOrgMembershipStatusesList = /*@__PURE__*/ S.Array( GetGroupUserRequestOrgMembershipStatusesItem, ) as any as S.Schema; export interface GetGroupUserRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the pending or active user in the project. If you need to lookup a user's `userId` or verify a user's status in the organization, use the Return All MongoDB Cloud Users in One Project resource and filter by `username`. */ userId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Organization membership status to filter users by. You can supply this parameter multiple times. Allowed values: `ACTIVE`, `PENDING`, `INVITATION_EXPIRED`, `INVITATION_REJECTED`. If you exclude this parameter, this resource returns ACTIVE and PENDING users. Not supported in deprecated versions. */ orgMembershipStatuses?: GetGroupUserRequestOrgMembershipStatusesList; } export const GetGroupUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), userId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), orgMembershipStatuses: S.optional( GetGroupUserRequestOrgMembershipStatusesList.pipe(T.Query()), ), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/users/{userId}", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "GetGroupUserRequest", }) as any as S.Schema; export interface GetGroupUserSecurityRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupUserSecurityRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/userSecurity", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupUserSecurityRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DBUserTLSX509SettingsLinksList = Array; export const DBUserTLSX509SettingsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Settings to configure TLS Certificates for database users. */ export interface DBUserTLSX509Settings { /** Concatenated list of customer certificate authority (CA) certificates needed to authenticate database users. MongoDB Cloud expects this as a PEM-formatted certificate. */ cas?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DBUserTLSX509SettingsLinksList; } export const DBUserTLSX509Settings = /*@__PURE__*/ S.suspend(() => S.Struct({ cas: S.optional(S.String), links: S.optional(DBUserTLSX509SettingsLinksList), }), ).annotate({ identifier: "DBUserTLSX509Settings", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type LDAPSecuritySettingsOutputLinksList = Array; export const LDAPSecuritySettingsOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** User-to-Distinguished Name (DN) map that MongoDB Cloud uses to transform a Lightweight Directory Access Protocol (LDAP) username into an LDAP DN. */ export interface UserToDNMapping { /** Lightweight Directory Access Protocol (LDAP) query template that inserts the LDAP name that the regular expression matches into an LDAP query Uniform Resource Identifier (URI). The formatting for the query must conform to [RFC 4515](https://datatracker.ietf.org/doc/html/rfc4515) and [RFC 4516](https://datatracker.ietf.org/doc/html/rfc4516). */ ldapQuery?: string; /** Regular expression that MongoDB Cloud uses to match against the provided Lightweight Directory Access Protocol (LDAP) username. Each parenthesis-enclosed section represents a regular expression capture group that the substitution or `ldapQuery` template uses. */ match: string; /** Lightweight Directory Access Protocol (LDAP) Distinguished Name (DN) template that converts the LDAP username that matches regular expression in the *match* parameter into an LDAP Distinguished Name (DN). */ substitution?: string; } export const UserToDNMapping = /*@__PURE__*/ S.suspend(() => S.Struct({ ldapQuery: S.optional(S.String), match: S.String, substitution: S.optional(S.String), }), ).annotate({ identifier: "UserToDNMapping", }) as any as S.Schema; /** User-to-Distinguished Name (DN) map that MongoDB Cloud uses to transform a Lightweight Directory Access Protocol (LDAP) username into an LDAP DN. */ export type LDAPSecuritySettingsOutputUserToDNMappingList = Array; export const LDAPSecuritySettingsOutputUserToDNMappingList = /*@__PURE__*/ S.Array( UserToDNMapping, ) as any as S.Schema; /** Lightweight Directory Access Protocol (LDAP) over Transport Layer Security (TLS) configuration details that apply to the specified project. */ export interface LDAPSecuritySettingsOutput { /** Flag that indicates whether users can authenticate using an Lightweight Directory Access Protocol (LDAP) host. */ authenticationEnabled?: boolean; /** Flag that indicates whether users can authorize access to MongoDB Cloud resources using an Lightweight Directory Access Protocol (LDAP) host. */ authorizationEnabled?: boolean; /** Lightweight Directory Access Protocol (LDAP) query template that MongoDB Cloud runs to obtain the LDAP groups associated with the authenticated user. MongoDB Cloud uses this parameter only for user authorization. Use the `{USER}` placeholder in the Uniform Resource Locator (URL) to substitute the authenticated username. The query relates to the host specified with the hostname. Format this query according to [RFC 4515](https://datatracker.ietf.org/doc/html/rfc4515) and [RFC 4516](https://datatracker.ietf.org/doc/html/rfc4516). */ authzQueryTemplate?: string; /** Full Distinguished Name (DN) of the Lightweight Directory Access Protocol (LDAP) user that MongoDB Cloud uses to connect to the LDAP host. LDAP distinguished names must be formatted according to RFC 2253. */ bindUsername?: string; /** Certificate Authority (CA) certificate that MongoDB Cloud uses to verify the identity of the Lightweight Directory Access Protocol (LDAP) host. MongoDB Cloud allows self-signed certificates. To delete an assigned value, pass an empty string: `"caCertificate": ""`. */ caCertificate?: string; /** Human-readable label that identifies the hostname or Internet Protocol (IP) address of the Lightweight Directory Access Protocol (LDAP) host. This host must have access to the internet or have a Virtual Private Cloud (VPC) peering connection to your cluster. */ hostname?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: LDAPSecuritySettingsOutputLinksList; /** Port to which the Lightweight Directory Access Protocol (LDAP) host listens for client connections. */ port?: number; /** User-to-Distinguished Name (DN) map that MongoDB Cloud uses to transform a Lightweight Directory Access Protocol (LDAP) username into an LDAP DN. */ userToDNMapping?: LDAPSecuritySettingsOutputUserToDNMappingList; } export const LDAPSecuritySettingsOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ authenticationEnabled: S.optional(S.Boolean), authorizationEnabled: S.optional(S.Boolean), authzQueryTemplate: S.optional(S.String), bindUsername: S.optional(S.String), caCertificate: S.optional(S.String), hostname: S.optional(S.String), links: S.optional(LDAPSecuritySettingsOutputLinksList), port: S.optional(S.Number), userToDNMapping: S.optional(LDAPSecuritySettingsOutputUserToDNMappingList), }), ).annotate({ identifier: "LDAPSecuritySettingsOutput", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type UserSecurityOutputLinksList = Array; export const UserSecurityOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface UserSecurityOutput { customerX509?: DBUserTLSX509Settings; ldap?: LDAPSecuritySettingsOutput; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: UserSecurityOutputLinksList; } export const UserSecurityOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ customerX509: S.optional(DBUserTLSX509Settings), ldap: S.optional(LDAPSecuritySettingsOutput), links: S.optional(UserSecurityOutputLinksList), }), ).annotate({ identifier: "UserSecurityOutput", }) as any as S.Schema; export interface GetGroupUserSecurityLdapVerifyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique string that identifies the request to verify an Lightweight Directory Access Protocol (LDAP) configuration. */ requestId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetGroupUserSecurityLdapVerifyRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), requestId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/userSecurity/ldap/verify/{requestId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetGroupUserSecurityLdapVerifyRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type LDAPVerifyConnectivityJobRequestOutputLinksList = Array; export const LDAPVerifyConnectivityJobRequestOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type LDAPVerifyConnectivityJobRequestParamsOutputLinksList = Array; export const LDAPVerifyConnectivityJobRequestParamsOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Request information needed to verify an Lightweight Directory Access Protocol (LDAP) over Transport Layer Security (TLS) configuration. The response does not return the `bindPassword`. */ export interface LDAPVerifyConnectivityJobRequestParamsOutput { /** Full Distinguished Name (DN) of the Lightweight Directory Access Protocol (LDAP) user that MongoDB Cloud uses to connect to the LDAP host. LDAP distinguished names must be formatted according to RFC 2253. */ bindUsername: string; /** Certificate Authority (CA) certificate that MongoDB Cloud uses to verify the identity of the Lightweight Directory Access Protocol (LDAP) host. MongoDB Cloud allows self-signed certificates. To delete an assigned value, pass an empty string: `"caCertificate": ""`. */ caCertificate?: string; /** Human-readable label that identifies the hostname or Internet Protocol (IP) address of the Lightweight Directory Access Protocol (LDAP) host. This host must have access to the internet or have a Virtual Private Cloud (VPC) peering connection to your cluster. */ hostname: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: LDAPVerifyConnectivityJobRequestParamsOutputLinksList; /** IANA port to which the Lightweight Directory Access Protocol (LDAP) host listens for client connections. */ port: number; } export const LDAPVerifyConnectivityJobRequestParamsOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ bindUsername: S.String, caCertificate: S.optional(S.String), hostname: S.String, links: S.optional(LDAPVerifyConnectivityJobRequestParamsOutputLinksList), port: S.Number, }), ).annotate({ identifier: "LDAPVerifyConnectivityJobRequestParamsOutput", }) as any as S.Schema; /** Human-readable string that indicates the status of the Lightweight Directory Access Protocol (LDAP) over Transport Layer Security (TLS) configuration. */ export type LDAPVerifyConnectivityJobRequestOutputStatus = | "FAIL" | "PENDING" | "SUCCESS"; export const LDAPVerifyConnectivityJobRequestOutputStatus = S.String; /** Human-readable string that indicates the result of this verification test. */ export type LDAPVerifyConnectivityJobRequestValidationStatus = "FAIL" | "OK"; export const LDAPVerifyConnectivityJobRequestValidationStatus = S.String; /** Human-readable label that identifies this verification test that MongoDB Cloud runs. */ export type LDAPVerifyConnectivityJobRequestValidationValidationType = | "AUTHENTICATE" | "AUTHORIZATION_ENABLED" | "CONNECT" | "PARSE_AUTHZ_QUERY" | "QUERY_SERVER" | "SERVER_SPECIFIED" | "TEMPLATE"; export const LDAPVerifyConnectivityJobRequestValidationValidationType = S.String; /** One test that MongoDB Cloud runs to test verification of the provided Lightweight Directory Access Protocol (LDAP) over Transport Layer Security (TLS) configuration details. */ export interface LDAPVerifyConnectivityJobRequestValidation { /** Human-readable string that indicates the result of this verification test. */ status?: LDAPVerifyConnectivityJobRequestValidationStatus; /** Human-readable label that identifies this verification test that MongoDB Cloud runs. */ validationType?: LDAPVerifyConnectivityJobRequestValidationValidationType; } export const LDAPVerifyConnectivityJobRequestValidation = /*@__PURE__*/ S.suspend(() => S.Struct({ status: S.optional(LDAPVerifyConnectivityJobRequestValidationStatus), validationType: S.optional( LDAPVerifyConnectivityJobRequestValidationValidationType, ), }), ).annotate({ identifier: "LDAPVerifyConnectivityJobRequestValidation", }) as any as S.Schema; /** List that contains the validation messages related to the verification of the provided Lightweight Directory Access Protocol (LDAP) over Transport Layer Security (TLS) configuration details. The list contains a document for each test that MongoDB Cloud runs. MongoDB Cloud stops running tests after the first failure. */ export type LDAPVerifyConnectivityJobRequestOutputValidationsList = Array; export const LDAPVerifyConnectivityJobRequestOutputValidationsList = /*@__PURE__*/ S.Array( LDAPVerifyConnectivityJobRequestValidation, ) as any as S.Schema; export interface LDAPVerifyConnectivityJobRequestOutput { /** Unique 24-hexadecimal digit string that identifies the project associated with this Lightweight Directory Access Protocol (LDAP) over Transport Layer Security (TLS) configuration. */ groupId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: LDAPVerifyConnectivityJobRequestOutputLinksList; request?: LDAPVerifyConnectivityJobRequestParamsOutput; /** Unique 24-hexadecimal digit string that identifies this request to verify an Lightweight Directory Access Protocol (LDAP) configuration. */ requestId?: string; /** Human-readable string that indicates the status of the Lightweight Directory Access Protocol (LDAP) over Transport Layer Security (TLS) configuration. */ status?: LDAPVerifyConnectivityJobRequestOutputStatus; /** List that contains the validation messages related to the verification of the provided Lightweight Directory Access Protocol (LDAP) over Transport Layer Security (TLS) configuration details. The list contains a document for each test that MongoDB Cloud runs. MongoDB Cloud stops running tests after the first failure. */ validations?: LDAPVerifyConnectivityJobRequestOutputValidationsList; } export const LDAPVerifyConnectivityJobRequestOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.optional(S.String), links: S.optional(LDAPVerifyConnectivityJobRequestOutputLinksList), request: S.optional(LDAPVerifyConnectivityJobRequestParamsOutput), requestId: S.optional(S.String), status: S.optional(LDAPVerifyConnectivityJobRequestOutputStatus), validations: S.optional( LDAPVerifyConnectivityJobRequestOutputValidationsList, ), }), ).annotate({ identifier: "LDAPVerifyConnectivityJobRequestOutput", }) as any as S.Schema; export interface GetOrgRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgRequest" }) as any as S.Schema; export type EventTypeForOrgCase0 = | "ALERT_ACKNOWLEDGED_AUDIT" | "ALERT_UNACKNOWLEDGED_AUDIT"; export const EventTypeForOrgCase0 = S.String; export type EventTypeForOrgCase1 = | "ALERT_CONFIG_DISABLED_AUDIT" | "ALERT_CONFIG_ENABLED_AUDIT" | "ALERT_CONFIG_ADDED_AUDIT" | "ALERT_CONFIG_DELETED_AUDIT" | "ALERT_CONFIG_CHANGED_AUDIT"; export const EventTypeForOrgCase1 = S.String; export type EventTypeForOrgCase2 = | "API_KEY_CREATED" | "API_KEY_DELETED" | "API_KEY_ACCESS_LIST_ENTRY_ADDED" | "API_KEY_ACCESS_LIST_ENTRY_DELETED" | "API_KEY_ROLES_CHANGED" | "API_KEY_DESCRIPTION_CHANGED" | "API_KEY_ADDED_TO_GROUP" | "API_KEY_REMOVED_FROM_GROUP" | "API_KEY_UI_IP_ACCESS_LIST_INHERITANCE_ENABLED" | "API_KEY_UI_IP_ACCESS_LIST_INHERITANCE_DISABLED"; export const EventTypeForOrgCase2 = S.String; export type EventTypeForOrgCase3 = | "SERVICE_ACCOUNT_CREATED" | "SERVICE_ACCOUNT_DELETED" | "SERVICE_ACCOUNT_ROLES_CHANGED" | "SERVICE_ACCOUNT_DETAILS_CHANGED" | "SERVICE_ACCOUNT_ADDED_TO_GROUP" | "SERVICE_ACCOUNT_REMOVED_FROM_GROUP" | "SERVICE_ACCOUNT_ACCESS_LIST_ENTRY_ADDED" | "SERVICE_ACCOUNT_ACCESS_LIST_ENTRY_DELETED" | "SERVICE_ACCOUNT_SECRET_ADDED" | "SERVICE_ACCOUNT_SECRET_DELETED" | "SERVICE_ACCOUNT_UI_IP_ACCESS_LIST_INHERITANCE_ENABLED" | "SERVICE_ACCOUNT_UI_IP_ACCESS_LIST_INHERITANCE_DISABLED"; export const EventTypeForOrgCase3 = S.String; export type EventTypeForOrgCase4 = | "AWS_PAYMENT_PAID" | "CHARGE_SUCCEEDED" | "CHARGE_FAILED" | "CHARGE_PROCESSING" | "CHARGE_PENDING_REVERSAL" | "BRAINTREE_CHARGE_FAILED" | "INVOICE_CLOSED" | "CHECK_PAYMENT_RECEIVED" | "WIRE_TRANSFER_PAYMENT_RECEIVED" | "DISCOUNT_APPLIED" | "CREDIT_ISSUED" | "CREDIT_PULLED_FWD" | "CREDIT_END_DATE_MODIFIED" | "PROMO_CODE_APPLIED" | "PAYMENT_FORGIVEN" | "REFUND_ISSUED" | "ACCOUNT_DOWNGRADED" | "ACCOUNT_UPGRADED" | "ACCOUNT_MODIFIED" | "SUPPORT_PLAN_ACTIVATED" | "SUPPORT_PLAN_CANCELLED" | "SUPPORT_PLAN_CANCELLATION_SCHEDULED" | "INITIATE_SALESFORCE_SERVICE_CLOUD_SYNC" | "INVOICE_ADDRESS_CHANGED" | "INVOICE_ADDRESS_ADDED" | "PREPAID_PLAN_ACTIVATED" | "ELASTIC_INVOICING_MODE_ACTIVATED" | "ELASTIC_INVOICING_MODE_DEACTIVATED" | "TERMINATE_PAID_SERVICES" | "BILLING_EMAIL_ADDRESS_ADDED" | "BILLING_EMAIL_ADDRESS_CHANGED" | "BILLING_EMAIL_ADDRESS_REMOVED" | "AWS_BILLING_ACCOUNT_CREDIT_ISSUED" | "GCP_BILLING_ACCOUNT_CREDIT_ISSUED" | "CREDIT_SFOLID_MODIFIED" | "PREPAID_PLAN_MODIFIED" | "AWS_USAGE_REPORTED" | "AZURE_USAGE_REPORTED" | "GCP_USAGE_REPORTED" | "VERCEL_USAGE_REPORTED" | "BECAME_PAYING_ORG" | "BECAME_LINKED_ORG" | "NEW_LINKED_ORG" | "UNLINKED_ORG" | "ORG_LINKED_TO_PAYING_ORG" | "ORG_UNLINKED_FROM_PAYING_ORG" | "ORG_UNLINK_REQUESTED" | "ORG_UNLINK_CANCELLED" | "PAYMENT_UPDATED_THROUGH_API" | "AZURE_BILLING_ACCOUNT_CREDIT_ISSUED" | "CREDIT_START_DATE_MODIFIED" | "CREDIT_ELASTIC_INVOICING_MODIFIED" | "CREDIT_TYPE_MODIFIED" | "CREDIT_AMOUNT_CENTS_MODIFIED" | "CREDIT_AMOUNT_REMAINING_CENTS_MODIFIED" | "CREDIT_TOTAL_BILLED_CENTS_MODIFIED" | "CREDIT_AWS_CUSTOMER_ID_MODIFIED" | "CREDIT_AWS_PRODUCT_CODE_MODIFIED" | "CREDIT_AWS_LICENSE_ARN_MODIFIED" | "CREDIT_AWS_ACCOUNT_ID_MODIFIED" | "CREDIT_GCP_MARKETPLACE_ENTITLEMENT_ID_MODIFIED" | "CREDIT_AZURE_SUBSCRIPTION_ID_MODIFIED" | "CREDIT_AZURE_PRIVATE_PLAN_ID_MODIFIED" | "TARGETED_REBILL_EXECUTED" | "LEGACY_REBILL_EXECUTED" | "EVERGREEN_DEAL_CANCELLED" | "GRACE_PERIOD_ACTIVATED" | "GRACE_PERIOD_NO_LONGER_IN_EFFECT" | "PENDING_DEAL_ACTIVATION_ADDED" | "PENDING_DEAL_ACTIVATION_CANCELED" | "PENDING_DEAL_APPLIED" | "PENDING_DEAL_ACTIVATION_FAILED" | "EVERGREEN_PRIORITY_MODIFIED" | "CROSS_ORG_OPERATION_TICKET_TRACKING" | "ADMIN_OVERRIDE_PAYMENT_METHOD_DELETED" | "ADMIN_OVERRIDE_PAYMENT_METHOD_EXPIRED" | "PAYMENT_METHOD_FLAGGED" | "PAYMENT_METHOD_UNFLAGGED" | "MARKETPLACE_REFUND_ISSUED" | "PAYMENT_DUE_DATE_EXTENDED"; export const EventTypeForOrgCase4 = S.String; export type EventTypeForOrgCase5 = | "FEDERATION_SETTINGS_CREATED" | "FEDERATION_SETTINGS_DELETED" | "FEDERATION_SETTINGS_UPDATED" | "IDENTITY_PROVIDER_CREATED" | "IDENTITY_PROVIDER_UPDATED" | "IDENTITY_PROVIDER_DELETED" | "IDENTITY_PROVIDER_ACTIVATED" | "OIDC_IDENTITY_PROVIDER_UPDATED" | "IDENTITY_PROVIDER_DEACTIVATED" | "IDENTITY_PROVIDER_JWKS_REVOKED" | "OIDC_IDENTITY_PROVIDER_ENABLED" | "OIDC_IDENTITY_PROVIDER_DISABLED" | "DOMAINS_ASSOCIATED" | "DOMAIN_CREATED" | "DOMAIN_DELETED" | "DOMAIN_VERIFIED" | "ORG_SETTINGS_CONFIGURED" | "ORG_SETTINGS_UPDATED" | "ORG_SETTINGS_DELETED" | "RESTRICT_ORG_MEMBERSHIP_ENABLED" | "RESTRICT_ORG_MEMBERSHIP_DISABLED" | "ROLE_MAPPING_CREATED" | "ROLE_MAPPING_UPDATED" | "ROLE_MAPPING_DELETED"; export const EventTypeForOrgCase5 = S.String; export type EventTypeForOrgCase6 = | "GROUP_DELETED" | "GROUP_CREATED" | "GROUP_MOVED"; export const EventTypeForOrgCase6 = S.String; export type EventTypeForOrgCase7 = | "MLAB_MIGRATION_COMPLETED" | "MLAB_MIGRATION_TARGET_CLUSTER_CREATED" | "MLAB_MIGRATION_DATABASE_USERS_IMPORTED" | "MLAB_MIGRATION_IP_WHITELIST_IMPORTED" | "MLAB_MIGRATION_TARGET_CLUSTER_SET" | "MLAB_MIGRATION_DATABASE_RENAMED" | "MLAB_MIGRATION_LIVE_IMPORT_STARTED" | "MLAB_MIGRATION_LIVE_IMPORT_READY_FOR_CUTOVER" | "MLAB_MIGRATION_LIVE_IMPORT_CUTOVER_COMPLETE" | "MLAB_MIGRATION_LIVE_IMPORT_ERROR" | "MLAB_MIGRATION_LIVE_IMPORT_CANCELLED" | "MLAB_MIGRATION_DUMP_AND_RESTORE_TEST_STARTED" | "MLAB_MIGRATION_DUMP_AND_RESTORE_TEST_SKIPPED" | "MLAB_MIGRATION_DUMP_AND_RESTORE_STARTED" | "MLAB_MIGRATION_SUPPORT_PLAN_SELECTED" | "MLAB_MIGRATION_SUPPORT_PLAN_OPTED_OUT"; export const EventTypeForOrgCase7 = S.String; export type EventTypeForOrgCase8 = | "ORG_LIMIT_UPDATED" | "SHADOW_CLUSTER_ORG_OPT_IN" | "SHADOW_CLUSTER_ORG_OPT_OUT" | "ATLAS_MAINTENANCE_FLEET_ACTIVE_WAVE_CLOSED_BY_ADMIN"; export const EventTypeForOrgCase8 = S.String; export type EventTypeForOrgCase9 = | "ORG_CREATED" | "CUSTOM_SESSION_TIMEOUT_MODIFIED" | "SECURITY_CONTACT_MODIFIED" | "OPERATIONS_CONTACT_MODIFIED" | "ORG_CREDIT_CARD_ADDED" | "ORG_CREDIT_CARD_UPDATED" | "ORG_CREDIT_CARD_CURRENT" | "ORG_CREDIT_CARD_ABOUT_TO_EXPIRE" | "ORG_PAYPAL_LINKED" | "ORG_PAYPAL_UPDATED" | "ORG_PAYPAL_CANCELLED" | "ORG_OVERRIDE_PAYMENT_METHOD_ADDED" | "ORG_BANK_ACCOUNT_ADDED" | "ORG_BANK_ACCOUNT_UPDATED" | "ORG_WALLET_ADDED" | "ORG_WALLET_UPDATED" | "ORG_ACTIVATED" | "ORG_TEMPORARILY_ACTIVATED" | "ORG_SUSPENSION_DATE_CHANGED" | "ORG_SUSPENDED" | "ORG_ADMIN_SUSPENDED" | "ORG_ADMIN_LOCKED" | "ORG_CLUSTERS_DELETED" | "ORG_CLUSTERS_PAUSED" | "ORG_LOCKED" | "ORG_LOCKED_ACCELERATED" | "ORG_UNDER_FINANCIAL_PROTECTION" | "ORG_NO_FINANCIAL_PROTECTION" | "ORG_RENAMED" | "ALL_ORG_USERS_HAVE_MFA" | "ORG_USERS_WITHOUT_MFA" | "ORG_INVOICE_UNDER_THRESHOLD" | "ORG_INVOICE_OVER_THRESHOLD" | "ORG_DAILY_BILL_UNDER_THRESHOLD" | "ORG_DAILY_BILL_OVER_THRESHOLD" | "ORG_DAILY_BILLING_CHANGE_NORMAL" | "ORG_DAILY_BILLING_CHANGE_OVER_THRESHOLD" | "ORG_WEEKLY_BILLING_CHANGE_NORMAL" | "ORG_WEEKLY_BILLING_CHANGE_OVER_THRESHOLD" | "ORG_MONTHLY_BILLING_CHANGE_NORMAL" | "ORG_MONTHLY_BILLING_CHANGE_OVER_THRESHOLD" | "ORG_GROUP_CHARGES_UNDER_THRESHOLD" | "ORG_GROUP_CHARGES_OVER_THRESHOLD" | "ORG_TWO_FACTOR_AUTH_REQUIRED" | "ORG_TWO_FACTOR_AUTH_OPTIONAL" | "ORG_PUBLIC_API_ACCESS_LIST_REQUIRED" | "ORG_PUBLIC_API_ACCESS_LIST_NOT_REQUIRED" | "ORG_EMPLOYEE_ACCESS_RESTRICTED" | "ORG_EMPLOYEE_ACCESS_UNRESTRICTED" | "ORG_CONNECTED_TO_MLAB" | "ORG_DISCONNECTED_FROM_MLAB" | "ORG_IDP_CERTIFICATE_CURRENT" | "ORG_IDP_CERTIFICATE_ABOUT_TO_EXPIRE" | "ORG_CONNECTED_TO_VERCEL" | "ORG_DISCONNECTED_TO_VERCEL" | "ORG_CONNECTION_UNINSTALLED_FROM_VERCEL" | "ORG_UI_IP_ACCESS_LIST_ENABLED" | "ORG_UI_IP_ACCESS_LIST_DISABLED" | "ORG_EDITED_UI_IP_ACCESS_LIST_ENTRIES" | "ORG_SERVICE_ACCOUNT_MAX_SECRET_VALIDITY_EDITED" | "ORG_SERVICE_ACCOUNT_SECRETS_EXPIRED" | "ORG_SERVICE_ACCOUNT_SECRETS_NO_LONGER_EXPIRED" | "ORG_SERVICE_ACCOUNT_SECRETS_EXPIRING" | "ORG_SERVICE_ACCOUNT_SECRETS_NO_LONGER_EXPIRING" | "ORG_MONGODB_VERSION_EOL_EXTENSION_ACCEPTED" | "ORG_MONGODB_VERSION_EOL_EXTENSION_PENDING" | "ORG_MONGODB_VERSION_EOL_EXTENSION_CANCELLED" | "ORG_BAAS_EOL_EXTENSION_ACCEPTED" | "ORG_BAAS_EOL_EXTENSION_PENDING" | "ORG_BAAS_EOL_EXTENSION_CANCELED" | "GROUP_MOVED_FROM_ORG" | "SANDBOX_ENABLED_FOR_ORG" | "SANDBOX_DISABLED_FOR_ORG" | "SANDBOX_CONFIG_DELETED" | "SANDBOX_TEMPLATE_UPDATED" | "ORG_DELEGATION_SETTINGS_UPDATED" | "ORGANIZATION_VOYAGE_SETTINGS_CREATED" | "ORGANIZATION_VOYAGE_SETTINGS_DELETED" | "ORG_DATA_SHARING_AI_MODELS_ENABLED" | "ORG_DATA_SHARING_AI_MODELS_DISABLED" | "ORG_WAVE_ASSIGNMENT_MODE_MANUAL" | "ORG_WAVE_ASSIGNMENT_MODE_ENV_TAG_MAPPING" | "PROJECT_CREATED_VIA_ANIS"; export const EventTypeForOrgCase9 = S.String; export type EventTypeForOrgCase10 = | "AWS_SELF_SERVE_ACCOUNT_LINKED" | "AWS_SELF_SERVE_ACCOUNT_LINK_PENDING" | "AWS_SELF_SERVE_ACCOUNT_CANCELLED" | "AWS_SELF_SERVE_ACCOUNT_LINK_FAILED" | "GCP_SELF_SERVE_ACCOUNT_LINK_PENDING" | "GCP_SELF_SERVE_ACCOUNT_LINK_FAILED" | "AZURE_SELF_SERVE_ACCOUNT_LINKED" | "AZURE_SELF_SERVE_ACCOUNT_LINK_PENDING" | "AZURE_SELF_SERVE_ACCOUNT_CANCELLED" | "AZURE_SELF_SERVE_ACCOUNT_LINK_FAILED" | "GCP_SELF_SERVE_ACCOUNT_LINKED" | "GCP_SELF_SERVE_ACCOUNT_CANCELLED" | "VERCEL_SELF_SERVE_ACCOUNT_LINKED" | "VERCEL_SELF_SERVE_ACCOUNT_LINK_PENDING" | "VERCEL_SELF_SERVE_ACCOUNT_CANCELLED" | "VERCEL_SELF_SERVE_ACCOUNT_LINK_FAILED" | "VERCEL_INVOICE_CREATED" | "VERCEL_INVOICE_NOT_PAID" | "VERCEL_INVOICE_OVERDUE" | "VERCEL_INVOICE_PAID" | "VERCEL_INVOICE_REFUNDED"; export const EventTypeForOrgCase10 = S.String; export type EventTypeForOrgCase11 = | "SUPPORT_EMAILS_SENT_SUCCESSFULLY" | "SUPPORT_EMAILS_SENT_FAILURE"; export const EventTypeForOrgCase11 = S.String; export type EventTypeForOrgCase12 = | "TEAM_CREATED" | "TEAM_DELETED" | "TEAM_UPDATED" | "TEAM_NAME_CHANGED" | "TEAM_ADDED_TO_GROUP" | "TEAM_REMOVED_FROM_GROUP" | "TEAM_ROLES_MODIFIED"; export const EventTypeForOrgCase12 = S.String; export type EventTypeForOrgCase13 = | "JOINED_ORG" | "JOINED_TEAM" | "INVITED_TO_ORG" | "ORG_INVITATION_DELETED" | "REMOVED_FROM_ORG" | "REMOVED_FROM_TEAM" | "USER_ROLES_CHANGED_AUDIT" | "ORG_FLEX_CONSULTING_PURCHASED" | "ORG_FLEX_CONSULTING_PURCHASE_FAILED" | "INVITED_TO_TEAM"; export const EventTypeForOrgCase13 = S.String; export type EventTypeForOrgCase14 = "TAGS_MODIFIED" | "GROUP_TAGS_MODIFIED"; export const EventTypeForOrgCase14 = S.String; export type EventTypeForOrgCase15 = | "RESOURCE_POLICY_CREATED" | "RESOURCE_POLICY_MODIFIED" | "RESOURCE_POLICY_DELETED" | "RESOURCE_POLICY_VIOLATED"; export const EventTypeForOrgCase15 = S.String; export type EventTypeForOrgCase16 = | "AI_MODELS_APIS_USAGE_TIER_UPDATED" | "AI_MODELS_APIS_RATE_LIMIT_ADMIN_OVERRIDE" | "AI_MODELS_APIS_FREE_TOKENS_ADMIN_ADJUSTED"; export const EventTypeForOrgCase16 = S.String; export type EventTypeForOrgCase17 = | "OAUTH_CLIENT_CREATED" | "OAUTH_CLIENT_UPDATED" | "OAUTH_CLIENT_DELETED" | "OAUTH_CLIENT_SECRET_CREATED" | "OAUTH_CLIENT_SECRET_DELETED" | "OAUTH_AUTHORIZATION_GRANTED" | "OAUTH_AUTHORIZATION_DENIED" | "OAUTH_TOKEN_ISSUED" | "OAUTH_TOKEN_REVOKED" | "OAUTH_USER_CONSENT_GRANTED" | "OAUTH_USER_CONSENT_REVOKED"; export const EventTypeForOrgCase17 = S.String; export type EventTypeForOrg = | EventTypeForOrgCase0 | EventTypeForOrgCase1 | EventTypeForOrgCase2 | EventTypeForOrgCase3 | EventTypeForOrgCase4 | EventTypeForOrgCase5 | EventTypeForOrgCase6 | EventTypeForOrgCase7 | EventTypeForOrgCase8 | EventTypeForOrgCase9 | EventTypeForOrgCase10 | EventTypeForOrgCase11 | EventTypeForOrgCase12 | EventTypeForOrgCase13 | EventTypeForOrgCase14 | EventTypeForOrgCase15 | EventTypeForOrgCase16 | EventTypeForOrgCase17; export const EventTypeForOrg = S.Unknown as any as S.Schema; /** List of event types to filter the activity feed. */ export type GetOrgActivityFeedRequestEventTypeList = Array; export const GetOrgActivityFeedRequestEventTypeList = /*@__PURE__*/ S.Array( EventTypeForOrg, ) as any as S.Schema; export interface GetOrgActivityFeedRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Category of incident recorded at this moment in time. **IMPORTANT**: The complete list of event type values changes frequently. */ eventType?: GetOrgActivityFeedRequestEventTypeList; /** End date and time for events to include in the activity feed link. ISO 8601 timestamp format in UTC. */ maxDate?: string; /** Start date and time for events to include in the activity feed link. ISO 8601 timestamp format in UTC. */ minDate?: string; } export const GetOrgActivityFeedRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), pretty: S.optional(S.Boolean.pipe(T.Query())), eventType: S.optional( GetOrgActivityFeedRequestEventTypeList.pipe(T.Query()), ), maxDate: S.optional(S.String.pipe(T.Query())), minDate: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/activityFeed", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetOrgActivityFeedRequest", }) as any as S.Schema; export type GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud = "ANY"; export const GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud = S.String; export type GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography = "ANY"; export const GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography = S.String; export interface GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Cloud provider scope. Must be "ANY". Additional values will be supported in future API versions. */ cloud: | GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud | (string & {}); /** Geography scope. Must be "ANY". Additional values will be supported in future API versions. */ geography: | GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography | (string & {}); /** The name of the model group to be retrieved. */ modelGroupName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), cloud: GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud.pipe( T.Label(), ), geography: GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography.pipe( T.Label(), ), modelGroupName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/aiModelApiClouds/{cloud}/geographies/{geography}/modelGroupNames/{modelGroupName}/rateLimits", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequest", }) as any as S.Schema; export interface GetOrgAiModelApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The id of the API key to be retrieved. */ apiKeyId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgAiModelApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), apiKeyId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/aiModelApiKeys/{apiKeyId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetOrgAiModelApiKeyRequest", }) as any as S.Schema; export interface GetOrgAiModelApiRateLimitsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgAiModelApiRateLimitsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/aiModelApiRateLimits", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetOrgAiModelApiRateLimitsRequest", }) as any as S.Schema; export interface GetOrgApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key that you want to update. */ apiUserId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgApiKeyRequest", }) as any as S.Schema; export interface GetOrgApiKeyAccessListEntryRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key for which you want to return access list entries. */ apiUserId: string; /** One IP address or multiple IP addresses represented as one CIDR block to limit requests to API resources in the specified organization. When adding a CIDR block with a subnet mask, such as 192.0.2.0/24, use the URL-encoded value %2F for the forward slash /. */ ipAddress: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgApiKeyAccessListEntryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), ipAddress: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}/accessList/{ipAddress}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgApiKeyAccessListEntryRequest", }) as any as S.Schema; export interface GetOrgAssociatedInvoicesRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The month for which to retrieve invoices (1-12). Defaults to current month. */ month?: number; /** The year for which to retrieve invoices. Defaults to current year. */ year?: number; /** Whether to include invoices from linked organizations. Defaults to false. */ includeLinkedOrgs?: boolean; } export const GetOrgAssociatedInvoicesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), month: S.optional(S.Number.pipe(T.Query())), year: S.optional(S.Number.pipe(T.Query())), includeLinkedOrgs: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/associatedInvoices", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetOrgAssociatedInvoicesRequest", }) as any as S.Schema; /** An invoice associated with an organization. */ export interface AssociatedInvoice { /** Unique 24-hexadecimal digit identifier for an invoice. */ invoiceId?: string; /** Unique 24-hexadecimal digit identifier for an organization. */ orgId?: string; } export const AssociatedInvoice = /*@__PURE__*/ S.suspend(() => S.Struct({ invoiceId: S.optional(S.String), orgId: S.optional(S.String), }), ).annotate({ identifier: "AssociatedInvoice", }) as any as S.Schema; /** List of invoices associated with the organization for the specified period. */ export type OrgAssociatedInvoiceResponseAssociatedInvoicesList = Array; export const OrgAssociatedInvoiceResponseAssociatedInvoicesList = /*@__PURE__*/ S.Array( AssociatedInvoice, ) as any as S.Schema; /** Response containing associated invoices for an organization. */ export interface OrgAssociatedInvoiceResponse { /** List of invoices associated with the organization for the specified period. */ associatedInvoices?: OrgAssociatedInvoiceResponseAssociatedInvoicesList; /** Two-digit number that represents the month of the associated invoices. */ month?: string; /** Four-digit number that represents the year of the associated invoices. */ year?: string; } export const OrgAssociatedInvoiceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ associatedInvoices: S.optional( OrgAssociatedInvoiceResponseAssociatedInvoicesList, ), month: S.optional(S.String), year: S.optional(S.String), }), ).annotate({ identifier: "OrgAssociatedInvoiceResponse", }) as any as S.Schema; export interface GetOrgBillingCostExplorerUsageRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 64 digit string that identifies the Cost Explorer query. */ token: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetOrgBillingCostExplorerUsageRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), token: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/billing/costExplorer/usage/{token}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgBillingCostExplorerUsageRequest", }) as any as S.Schema; export type GetOrgBillingCostExplorerUsageResponse = unknown; export const GetOrgBillingCostExplorerUsageResponse = /*@__PURE__*/ S.suspend( () => S.Unknown.pipe(T.RawResponseRoot()), ).annotate({ identifier: "GetOrgBillingCostExplorerUsageResponse", }) as any as S.Schema; export interface GetOrgDelegationSettingsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgDelegationSettingsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/delegationSettings", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetOrgDelegationSettingsRequest", }) as any as S.Schema; /** Policy that controls how MCP (Model Context Protocol) delegated access is permitted within this organization. Possible values are `DISALLOWED`, `READ_ONLY`, and `READ_WRITE`. Defaults to `DISALLOWED`. */ export type OrgDelegationSettingsResponseDelegatedMcpAccess = | "DISALLOWED" | "READ_ONLY" | "READ_WRITE"; export const OrgDelegationSettingsResponseDelegatedMcpAccess = S.String; /** Policy that controls whether partner delegated access is permitted within this organization. Possible values are `DISALLOWED` and `READ_WRITE`. Defaults to `DISALLOWED`. */ export type OrgDelegationSettingsResponseDelegatedPartnerAccess = | "DISALLOWED" | "READ_WRITE"; export const OrgDelegationSettingsResponseDelegatedPartnerAccess = S.String; export interface OrgDelegationSettingsResponse { /** Policy that controls how MCP (Model Context Protocol) delegated access is permitted within this organization. Possible values are `DISALLOWED`, `READ_ONLY`, and `READ_WRITE`. Defaults to `DISALLOWED`. */ delegatedMcpAccess?: OrgDelegationSettingsResponseDelegatedMcpAccess | null; /** Policy that controls whether partner delegated access is permitted within this organization. Possible values are `DISALLOWED` and `READ_WRITE`. Defaults to `DISALLOWED`. */ delegatedPartnerAccess?: OrgDelegationSettingsResponseDelegatedPartnerAccess | null; /** Maximum number of seconds a refresh token may be idle before it expires. When not set, the system default applies. */ idleRefreshTokenLifetime?: number | null; /** Maximum lifetime of a refresh token in seconds, regardless of activity. When not set, the system default applies. */ maximumRefreshTokenLifetime?: number | null; } export const OrgDelegationSettingsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ delegatedMcpAccess: S.optional( S.NullOr(OrgDelegationSettingsResponseDelegatedMcpAccess), ), delegatedPartnerAccess: S.optional( S.NullOr(OrgDelegationSettingsResponseDelegatedPartnerAccess), ), idleRefreshTokenLifetime: S.optional(S.NullOr(S.Number)), maximumRefreshTokenLifetime: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "OrgDelegationSettingsResponse", }) as any as S.Schema; export interface GetOrgEventRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the event that you want to return. */ eventId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether to include the raw document in the output. The raw document contains additional meta information about the event. */ includeRaw?: boolean; } export const GetOrgEventRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), eventId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), includeRaw: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/events/{eventId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgEventRequest", }) as any as S.Schema; export type DefaultEventViewForOrgEventTypeNameCase0 = | "FEDERATION_SETTINGS_CREATED" | "FEDERATION_SETTINGS_DELETED" | "FEDERATION_SETTINGS_UPDATED" | "IDENTITY_PROVIDER_CREATED" | "IDENTITY_PROVIDER_UPDATED" | "IDENTITY_PROVIDER_DELETED" | "IDENTITY_PROVIDER_ACTIVATED" | "OIDC_IDENTITY_PROVIDER_UPDATED" | "IDENTITY_PROVIDER_DEACTIVATED" | "IDENTITY_PROVIDER_JWKS_REVOKED" | "OIDC_IDENTITY_PROVIDER_ENABLED" | "OIDC_IDENTITY_PROVIDER_DISABLED" | "DOMAINS_ASSOCIATED" | "DOMAIN_CREATED" | "DOMAIN_DELETED" | "DOMAIN_VERIFIED" | "ORG_SETTINGS_CONFIGURED" | "ORG_SETTINGS_UPDATED" | "ORG_SETTINGS_DELETED" | "RESTRICT_ORG_MEMBERSHIP_ENABLED" | "RESTRICT_ORG_MEMBERSHIP_DISABLED" | "ROLE_MAPPING_CREATED" | "ROLE_MAPPING_UPDATED" | "ROLE_MAPPING_DELETED"; export const DefaultEventViewForOrgEventTypeNameCase0 = S.String; export type DefaultEventViewForOrgEventTypeNameCase1 = | "GROUP_DELETED" | "GROUP_CREATED" | "GROUP_MOVED"; export const DefaultEventViewForOrgEventTypeNameCase1 = S.String; export type DefaultEventViewForOrgEventTypeNameCase2 = | "MLAB_MIGRATION_COMPLETED" | "MLAB_MIGRATION_TARGET_CLUSTER_CREATED" | "MLAB_MIGRATION_DATABASE_USERS_IMPORTED" | "MLAB_MIGRATION_IP_WHITELIST_IMPORTED" | "MLAB_MIGRATION_TARGET_CLUSTER_SET" | "MLAB_MIGRATION_DATABASE_RENAMED" | "MLAB_MIGRATION_LIVE_IMPORT_STARTED" | "MLAB_MIGRATION_LIVE_IMPORT_READY_FOR_CUTOVER" | "MLAB_MIGRATION_LIVE_IMPORT_CUTOVER_COMPLETE" | "MLAB_MIGRATION_LIVE_IMPORT_ERROR" | "MLAB_MIGRATION_LIVE_IMPORT_CANCELLED" | "MLAB_MIGRATION_DUMP_AND_RESTORE_TEST_STARTED" | "MLAB_MIGRATION_DUMP_AND_RESTORE_TEST_SKIPPED" | "MLAB_MIGRATION_DUMP_AND_RESTORE_STARTED" | "MLAB_MIGRATION_SUPPORT_PLAN_SELECTED" | "MLAB_MIGRATION_SUPPORT_PLAN_OPTED_OUT"; export const DefaultEventViewForOrgEventTypeNameCase2 = S.String; export type DefaultEventViewForOrgEventTypeNameCase3 = | "AWS_SELF_SERVE_ACCOUNT_LINKED" | "AWS_SELF_SERVE_ACCOUNT_LINK_PENDING" | "AWS_SELF_SERVE_ACCOUNT_CANCELLED" | "AWS_SELF_SERVE_ACCOUNT_LINK_FAILED" | "GCP_SELF_SERVE_ACCOUNT_LINK_PENDING" | "GCP_SELF_SERVE_ACCOUNT_LINK_FAILED" | "AZURE_SELF_SERVE_ACCOUNT_LINKED" | "AZURE_SELF_SERVE_ACCOUNT_LINK_PENDING" | "AZURE_SELF_SERVE_ACCOUNT_CANCELLED" | "AZURE_SELF_SERVE_ACCOUNT_LINK_FAILED" | "GCP_SELF_SERVE_ACCOUNT_LINKED" | "GCP_SELF_SERVE_ACCOUNT_CANCELLED" | "VERCEL_SELF_SERVE_ACCOUNT_LINKED" | "VERCEL_SELF_SERVE_ACCOUNT_LINK_PENDING" | "VERCEL_SELF_SERVE_ACCOUNT_CANCELLED" | "VERCEL_SELF_SERVE_ACCOUNT_LINK_FAILED" | "VERCEL_INVOICE_CREATED" | "VERCEL_INVOICE_NOT_PAID" | "VERCEL_INVOICE_OVERDUE" | "VERCEL_INVOICE_PAID" | "VERCEL_INVOICE_REFUNDED"; export const DefaultEventViewForOrgEventTypeNameCase3 = S.String; export type DefaultEventViewForOrgEventTypeNameCase4 = | "SUPPORT_EMAILS_SENT_SUCCESSFULLY" | "SUPPORT_EMAILS_SENT_FAILURE"; export const DefaultEventViewForOrgEventTypeNameCase4 = S.String; export type DefaultEventViewForOrgEventTypeNameCase5 = | "AI_MODELS_APIS_USAGE_TIER_UPDATED" | "AI_MODELS_APIS_RATE_LIMIT_ADMIN_OVERRIDE" | "AI_MODELS_APIS_FREE_TOKENS_ADMIN_ADJUSTED"; export const DefaultEventViewForOrgEventTypeNameCase5 = S.String; export type DefaultEventViewForOrgEventTypeNameCase6 = | "OAUTH_CLIENT_CREATED" | "OAUTH_CLIENT_UPDATED" | "OAUTH_CLIENT_DELETED" | "OAUTH_CLIENT_SECRET_CREATED" | "OAUTH_CLIENT_SECRET_DELETED" | "OAUTH_AUTHORIZATION_GRANTED" | "OAUTH_AUTHORIZATION_DENIED" | "OAUTH_TOKEN_ISSUED" | "OAUTH_TOKEN_REVOKED" | "OAUTH_USER_CONSENT_GRANTED" | "OAUTH_USER_CONSENT_REVOKED"; export const DefaultEventViewForOrgEventTypeNameCase6 = S.String; /** Unique identifier of event type. */ export type DefaultEventViewForOrgEventTypeName = | DefaultEventViewForOrgEventTypeNameCase0 | DefaultEventViewForOrgEventTypeNameCase1 | DefaultEventViewForOrgEventTypeNameCase2 | DefaultEventViewForOrgEventTypeNameCase3 | DefaultEventViewForOrgEventTypeNameCase4 | DefaultEventViewForOrgEventTypeNameCase5 | DefaultEventViewForOrgEventTypeNameCase6; export const DefaultEventViewForOrgEventTypeName = S.Unknown as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DefaultEventViewForOrgLinksList = Array; export const DefaultEventViewForOrgLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Other events which don't have extra details beside of basic one. */ export interface DefaultEventViewForOrg { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; /** Unique identifier of event type. */ eventTypeName: DefaultEventViewForOrgEventTypeName; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DefaultEventViewForOrgLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const DefaultEventViewForOrg = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: DefaultEventViewForOrgEventTypeName, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(DefaultEventViewForOrgLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "DefaultEventViewForOrg", }) as any as S.Schema; /** Unique identifier of event type. */ export type ApiUserEventTypeViewForOrg = | "API_KEY_CREATED" | "API_KEY_DELETED" | "API_KEY_ACCESS_LIST_ENTRY_ADDED" | "API_KEY_ACCESS_LIST_ENTRY_DELETED" | "API_KEY_ROLES_CHANGED" | "API_KEY_DESCRIPTION_CHANGED" | "API_KEY_ADDED_TO_GROUP" | "API_KEY_REMOVED_FROM_GROUP" | "API_KEY_UI_IP_ACCESS_LIST_INHERITANCE_ENABLED" | "API_KEY_UI_IP_ACCESS_LIST_INHERITANCE_DISABLED"; export const ApiUserEventTypeViewForOrg = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ApiUserEventViewForOrgLinksList = Array; export const ApiUserEventViewForOrgLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** API User event identifies different activities around user API keys. */ export interface ApiUserEventViewForOrg { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: ApiUserEventTypeViewForOrg; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ApiUserEventViewForOrgLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Public part of the API key that this event targets. */ targetPublicKey?: string | null; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; /** Entry in the list of source host addresses that the API key accepts and this event targets. */ whitelistEntry?: string | null; } export const ApiUserEventViewForOrg = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: ApiUserEventTypeViewForOrg, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(ApiUserEventViewForOrgLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), targetPublicKey: S.optional(S.NullOr(S.String)), userId: S.optional(S.String), username: S.optional(S.String), whitelistEntry: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "ApiUserEventViewForOrg", }) as any as S.Schema; /** Unique identifier of event type. */ export type ServiceAccountEventTypeViewForOrg = | "SERVICE_ACCOUNT_CREATED" | "SERVICE_ACCOUNT_DELETED" | "SERVICE_ACCOUNT_ROLES_CHANGED" | "SERVICE_ACCOUNT_DETAILS_CHANGED" | "SERVICE_ACCOUNT_ADDED_TO_GROUP" | "SERVICE_ACCOUNT_REMOVED_FROM_GROUP" | "SERVICE_ACCOUNT_ACCESS_LIST_ENTRY_ADDED" | "SERVICE_ACCOUNT_ACCESS_LIST_ENTRY_DELETED" | "SERVICE_ACCOUNT_SECRET_ADDED" | "SERVICE_ACCOUNT_SECRET_DELETED" | "SERVICE_ACCOUNT_UI_IP_ACCESS_LIST_INHERITANCE_ENABLED" | "SERVICE_ACCOUNT_UI_IP_ACCESS_LIST_INHERITANCE_DISABLED"; export const ServiceAccountEventTypeViewForOrg = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ServiceAccountOrgEventsLinksList = Array; export const ServiceAccountOrgEventsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Service Account event identifies different activities around user API keys. */ export interface ServiceAccountOrgEvents { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: ServiceAccountEventTypeViewForOrg; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ServiceAccountOrgEventsLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const ServiceAccountOrgEvents = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: ServiceAccountEventTypeViewForOrg, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(ServiceAccountOrgEventsLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "ServiceAccountOrgEvents", }) as any as S.Schema; /** Unique identifier of event type. */ export type BillingEventTypeViewForOrg = | "AWS_PAYMENT_PAID" | "CHARGE_SUCCEEDED" | "CHARGE_FAILED" | "CHARGE_PROCESSING" | "CHARGE_PENDING_REVERSAL" | "BRAINTREE_CHARGE_FAILED" | "INVOICE_CLOSED" | "CHECK_PAYMENT_RECEIVED" | "WIRE_TRANSFER_PAYMENT_RECEIVED" | "DISCOUNT_APPLIED" | "CREDIT_ISSUED" | "CREDIT_PULLED_FWD" | "CREDIT_END_DATE_MODIFIED" | "PROMO_CODE_APPLIED" | "PAYMENT_FORGIVEN" | "REFUND_ISSUED" | "ACCOUNT_DOWNGRADED" | "ACCOUNT_UPGRADED" | "ACCOUNT_MODIFIED" | "SUPPORT_PLAN_ACTIVATED" | "SUPPORT_PLAN_CANCELLED" | "SUPPORT_PLAN_CANCELLATION_SCHEDULED" | "INITIATE_SALESFORCE_SERVICE_CLOUD_SYNC" | "INVOICE_ADDRESS_CHANGED" | "INVOICE_ADDRESS_ADDED" | "PREPAID_PLAN_ACTIVATED" | "ELASTIC_INVOICING_MODE_ACTIVATED" | "ELASTIC_INVOICING_MODE_DEACTIVATED" | "TERMINATE_PAID_SERVICES" | "BILLING_EMAIL_ADDRESS_ADDED" | "BILLING_EMAIL_ADDRESS_CHANGED" | "BILLING_EMAIL_ADDRESS_REMOVED" | "AWS_BILLING_ACCOUNT_CREDIT_ISSUED" | "GCP_BILLING_ACCOUNT_CREDIT_ISSUED" | "CREDIT_SFOLID_MODIFIED" | "PREPAID_PLAN_MODIFIED" | "AWS_USAGE_REPORTED" | "AZURE_USAGE_REPORTED" | "GCP_USAGE_REPORTED" | "VERCEL_USAGE_REPORTED" | "BECAME_PAYING_ORG" | "BECAME_LINKED_ORG" | "NEW_LINKED_ORG" | "UNLINKED_ORG" | "ORG_LINKED_TO_PAYING_ORG" | "ORG_UNLINKED_FROM_PAYING_ORG" | "ORG_UNLINK_REQUESTED" | "ORG_UNLINK_CANCELLED" | "PAYMENT_UPDATED_THROUGH_API" | "AZURE_BILLING_ACCOUNT_CREDIT_ISSUED" | "CREDIT_START_DATE_MODIFIED" | "CREDIT_ELASTIC_INVOICING_MODIFIED" | "CREDIT_TYPE_MODIFIED" | "CREDIT_AMOUNT_CENTS_MODIFIED" | "CREDIT_AMOUNT_REMAINING_CENTS_MODIFIED" | "CREDIT_TOTAL_BILLED_CENTS_MODIFIED" | "CREDIT_AWS_CUSTOMER_ID_MODIFIED" | "CREDIT_AWS_PRODUCT_CODE_MODIFIED" | "CREDIT_AWS_LICENSE_ARN_MODIFIED" | "CREDIT_AWS_ACCOUNT_ID_MODIFIED" | "CREDIT_GCP_MARKETPLACE_ENTITLEMENT_ID_MODIFIED" | "CREDIT_AZURE_SUBSCRIPTION_ID_MODIFIED" | "CREDIT_AZURE_PRIVATE_PLAN_ID_MODIFIED" | "TARGETED_REBILL_EXECUTED" | "LEGACY_REBILL_EXECUTED" | "EVERGREEN_DEAL_CANCELLED" | "GRACE_PERIOD_ACTIVATED" | "GRACE_PERIOD_NO_LONGER_IN_EFFECT" | "PENDING_DEAL_ACTIVATION_ADDED" | "PENDING_DEAL_ACTIVATION_CANCELED" | "PENDING_DEAL_APPLIED" | "PENDING_DEAL_ACTIVATION_FAILED" | "EVERGREEN_PRIORITY_MODIFIED" | "CROSS_ORG_OPERATION_TICKET_TRACKING" | "ADMIN_OVERRIDE_PAYMENT_METHOD_DELETED" | "ADMIN_OVERRIDE_PAYMENT_METHOD_EXPIRED" | "PAYMENT_METHOD_FLAGGED" | "PAYMENT_METHOD_UNFLAGGED" | "MARKETPLACE_REFUND_ISSUED" | "PAYMENT_DUE_DATE_EXTENDED"; export const BillingEventTypeViewForOrg = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type BillingEventViewForOrgLinksList = Array; export const BillingEventViewForOrgLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Billing event identifies different activities related to billing, payment or financial status change of an organization. */ export interface BillingEventViewForOrg { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: BillingEventTypeViewForOrg; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Unique 24-hexadecimal digit string that identifies of the invoice associated with the event. */ invoiceId?: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: BillingEventViewForOrgLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Unique 24-hexadecimal digit string that identifies the invoice payment associated with this event. */ paymentId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const BillingEventViewForOrg = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: BillingEventTypeViewForOrg, groupId: S.optional(S.String), id: S.String, invoiceId: S.optional(S.String), isGlobalAdmin: S.optional(S.Boolean), links: S.optional(BillingEventViewForOrgLinksList), orgId: S.optional(S.String), paymentId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "BillingEventViewForOrg", }) as any as S.Schema; /** Unique identifier of event type. */ export type NDSAuditTypeViewForOrg = | "ORG_LIMIT_UPDATED" | "SHADOW_CLUSTER_ORG_OPT_IN" | "SHADOW_CLUSTER_ORG_OPT_OUT" | "ATLAS_MAINTENANCE_FLEET_ACTIVE_WAVE_CLOSED_BY_ADMIN"; export const NDSAuditTypeViewForOrg = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type NDSAuditViewForOrgLinksList = Array; export const NDSAuditViewForOrgLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Audit saving information about Atlas cloud provider and other Atlas related details. */ export interface NDSAuditViewForOrg { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; /** The username of the MongoDB User that was created, deleted, or edited. */ dbUserUsername?: string; delegatePrincipal?: Principal; eventTypeName: NDSAuditTypeViewForOrg; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: NDSAuditViewForOrgLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; /** Entry in the list of source host addresses that the API key accepts and this event targets. */ whitelistEntry?: string; } export const NDSAuditViewForOrg = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, dbUserUsername: S.optional(S.String), delegatePrincipal: S.optional(Principal), eventTypeName: NDSAuditTypeViewForOrg, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(NDSAuditViewForOrgLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), whitelistEntry: S.optional(S.String), }), ).annotate({ identifier: "NDSAuditViewForOrg", }) as any as S.Schema; /** Unique identifier of event type. */ export type OrgEventTypeViewForOrg = | "ORG_CREATED" | "CUSTOM_SESSION_TIMEOUT_MODIFIED" | "SECURITY_CONTACT_MODIFIED" | "OPERATIONS_CONTACT_MODIFIED" | "ORG_CREDIT_CARD_ADDED" | "ORG_CREDIT_CARD_UPDATED" | "ORG_CREDIT_CARD_CURRENT" | "ORG_CREDIT_CARD_ABOUT_TO_EXPIRE" | "ORG_PAYPAL_LINKED" | "ORG_PAYPAL_UPDATED" | "ORG_PAYPAL_CANCELLED" | "ORG_OVERRIDE_PAYMENT_METHOD_ADDED" | "ORG_BANK_ACCOUNT_ADDED" | "ORG_BANK_ACCOUNT_UPDATED" | "ORG_WALLET_ADDED" | "ORG_WALLET_UPDATED" | "ORG_ACTIVATED" | "ORG_TEMPORARILY_ACTIVATED" | "ORG_SUSPENSION_DATE_CHANGED" | "ORG_SUSPENDED" | "ORG_ADMIN_SUSPENDED" | "ORG_ADMIN_LOCKED" | "ORG_CLUSTERS_DELETED" | "ORG_CLUSTERS_PAUSED" | "ORG_LOCKED" | "ORG_LOCKED_ACCELERATED" | "ORG_UNDER_FINANCIAL_PROTECTION" | "ORG_NO_FINANCIAL_PROTECTION" | "ORG_RENAMED" | "ALL_ORG_USERS_HAVE_MFA" | "ORG_USERS_WITHOUT_MFA" | "ORG_INVOICE_UNDER_THRESHOLD" | "ORG_INVOICE_OVER_THRESHOLD" | "ORG_DAILY_BILL_UNDER_THRESHOLD" | "ORG_DAILY_BILL_OVER_THRESHOLD" | "ORG_DAILY_BILLING_CHANGE_NORMAL" | "ORG_DAILY_BILLING_CHANGE_OVER_THRESHOLD" | "ORG_WEEKLY_BILLING_CHANGE_NORMAL" | "ORG_WEEKLY_BILLING_CHANGE_OVER_THRESHOLD" | "ORG_MONTHLY_BILLING_CHANGE_NORMAL" | "ORG_MONTHLY_BILLING_CHANGE_OVER_THRESHOLD" | "ORG_GROUP_CHARGES_UNDER_THRESHOLD" | "ORG_GROUP_CHARGES_OVER_THRESHOLD" | "ORG_TWO_FACTOR_AUTH_REQUIRED" | "ORG_TWO_FACTOR_AUTH_OPTIONAL" | "ORG_PUBLIC_API_ACCESS_LIST_REQUIRED" | "ORG_PUBLIC_API_ACCESS_LIST_NOT_REQUIRED" | "ORG_EMPLOYEE_ACCESS_RESTRICTED" | "ORG_EMPLOYEE_ACCESS_UNRESTRICTED" | "ORG_CONNECTED_TO_MLAB" | "ORG_DISCONNECTED_FROM_MLAB" | "ORG_IDP_CERTIFICATE_CURRENT" | "ORG_IDP_CERTIFICATE_ABOUT_TO_EXPIRE" | "ORG_CONNECTED_TO_VERCEL" | "ORG_DISCONNECTED_TO_VERCEL" | "ORG_CONNECTION_UNINSTALLED_FROM_VERCEL" | "ORG_UI_IP_ACCESS_LIST_ENABLED" | "ORG_UI_IP_ACCESS_LIST_DISABLED" | "ORG_EDITED_UI_IP_ACCESS_LIST_ENTRIES" | "ORG_SERVICE_ACCOUNT_MAX_SECRET_VALIDITY_EDITED" | "ORG_SERVICE_ACCOUNT_SECRETS_EXPIRED" | "ORG_SERVICE_ACCOUNT_SECRETS_NO_LONGER_EXPIRED" | "ORG_SERVICE_ACCOUNT_SECRETS_EXPIRING" | "ORG_SERVICE_ACCOUNT_SECRETS_NO_LONGER_EXPIRING" | "ORG_MONGODB_VERSION_EOL_EXTENSION_ACCEPTED" | "ORG_MONGODB_VERSION_EOL_EXTENSION_PENDING" | "ORG_MONGODB_VERSION_EOL_EXTENSION_CANCELLED" | "ORG_BAAS_EOL_EXTENSION_ACCEPTED" | "ORG_BAAS_EOL_EXTENSION_PENDING" | "ORG_BAAS_EOL_EXTENSION_CANCELED" | "GROUP_MOVED_FROM_ORG" | "SANDBOX_ENABLED_FOR_ORG" | "SANDBOX_DISABLED_FOR_ORG" | "SANDBOX_CONFIG_DELETED" | "SANDBOX_TEMPLATE_UPDATED" | "ORG_DELEGATION_SETTINGS_UPDATED" | "ORGANIZATION_VOYAGE_SETTINGS_CREATED" | "ORGANIZATION_VOYAGE_SETTINGS_DELETED" | "ORG_DATA_SHARING_AI_MODELS_ENABLED" | "ORG_DATA_SHARING_AI_MODELS_DISABLED" | "ORG_WAVE_ASSIGNMENT_MODE_MANUAL" | "ORG_WAVE_ASSIGNMENT_MODE_ENV_TAG_MAPPING" | "PROJECT_CREATED_VIA_ANIS"; export const OrgEventTypeViewForOrg = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type OrgEventViewForOrgLinksList = Array; export const OrgEventViewForOrgLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Organization event identifies different activities and changes in an organization settings. */ export interface OrgEventViewForOrg { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: OrgEventTypeViewForOrg; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Unique 24-hexadecimal digit string that identifies of the invoice associated with the event. */ invoiceId?: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: OrgEventViewForOrgLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const OrgEventViewForOrg = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: OrgEventTypeViewForOrg, groupId: S.optional(S.String), id: S.String, invoiceId: S.optional(S.String), isGlobalAdmin: S.optional(S.Boolean), links: S.optional(OrgEventViewForOrgLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "OrgEventViewForOrg", }) as any as S.Schema; /** Unique identifier of event type. */ export type TeamEventTypeView = | "TEAM_CREATED" | "TEAM_DELETED" | "TEAM_UPDATED" | "TEAM_NAME_CHANGED" | "TEAM_ADDED_TO_GROUP" | "TEAM_REMOVED_FROM_GROUP" | "TEAM_ROLES_MODIFIED"; export const TeamEventTypeView = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type TeamEventLinksList = Array; export const TeamEventLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Team event identifies different activities around organization teams. */ export interface TeamEvent { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: TeamEventTypeView; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: TeamEventLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the organization team associated with this event. */ teamId?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const TeamEvent = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: TeamEventTypeView, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(TeamEventLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), teamId: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "TeamEvent" }) as any as S.Schema; /** Unique identifier of event type. */ export type UserEventTypeViewForOrg = | "JOINED_ORG" | "JOINED_TEAM" | "INVITED_TO_ORG" | "ORG_INVITATION_DELETED" | "REMOVED_FROM_ORG" | "REMOVED_FROM_TEAM" | "USER_ROLES_CHANGED_AUDIT" | "ORG_FLEX_CONSULTING_PURCHASED" | "ORG_FLEX_CONSULTING_PURCHASE_FAILED" | "INVITED_TO_TEAM"; export const UserEventTypeViewForOrg = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type UserEventViewForOrgLinksList = Array; export const UserEventViewForOrgLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** User event reflects different activities about the atlas user. */ export interface UserEventViewForOrg { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: UserEventTypeViewForOrg; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: UserEventViewForOrgLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Email address for the console user that this event targets. The resource returns this parameter when `"eventTypeName" : "USER"`. */ targetUsername?: string | null; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const UserEventViewForOrg = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: UserEventTypeViewForOrg, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(UserEventViewForOrgLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), targetUsername: S.optional(S.NullOr(S.String)), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "UserEventViewForOrg", }) as any as S.Schema; /** Unique identifier of event type. */ export type ResourceEventTypeViewForOrg = | "TAGS_MODIFIED" | "GROUP_TAGS_MODIFIED"; export const ResourceEventTypeViewForOrg = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type ResourceEventViewForOrgLinksList = Array; export const ResourceEventViewForOrgLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Resource event reflects different activities about resources. */ export interface ResourceEventViewForOrg { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; eventTypeName: ResourceEventTypeViewForOrg; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: ResourceEventViewForOrgLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal digit string that identifies the resource associated with the event. */ resourceId?: string; /** Unique identifier of resource type. */ resourceType: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const ResourceEventViewForOrg = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: ResourceEventTypeViewForOrg, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(ResourceEventViewForOrgLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), resourceId: S.optional(S.String), resourceType: S.String, userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "ResourceEventViewForOrg", }) as any as S.Schema; /** Unique identifier of event type. */ export type AtlasResourcePolicyAuditForOrgEventTypeName = | "RESOURCE_POLICY_CREATED" | "RESOURCE_POLICY_MODIFIED" | "RESOURCE_POLICY_DELETED" | "RESOURCE_POLICY_VIOLATED"; export const AtlasResourcePolicyAuditForOrgEventTypeName = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type AtlasResourcePolicyAuditForOrgLinksList = Array; export const AtlasResourcePolicyAuditForOrgLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Atlas resource policy audits indicate organization level changes to resource policies. */ export interface AtlasResourcePolicyAuditForOrg { /** Unique 24-hexadecimal digit string that identifies the API Key that triggered the event. If this resource returns this parameter, it doesn't return the `userId` parameter. */ apiKeyId?: string; /** Date and time when this event occurred. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created: string; delegatePrincipal?: Principal; /** Unique identifier of event type. */ eventTypeName: AtlasResourcePolicyAuditForOrgEventTypeName; /** Unique 24-hexadecimal digit string that identifies the project in which the event occurred. The `eventId` identifies the specific event. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the event. */ id: string; /** Flag that indicates whether a MongoDB employee triggered the specified event. */ isGlobalAdmin?: boolean; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: AtlasResourcePolicyAuditForOrgLinksList; /** Unique 24-hexadecimal digit string that identifies the organization to which these events apply. */ orgId?: string; /** Public part of the API key that triggered the event. If this resource returns this parameter, it doesn't return the **username** parameter. */ publicKey?: string; raw?: Raw; /** IPv4 or IPv6 address from which the user triggered this event. */ remoteAddress?: string; /** Unique 24-hexadecimal character string that identifies the resource policy. */ resourcePolicyId?: string; /** Unique 24-hexadecimal digit string that identifies the console user who triggered the event. If this resource returns this parameter, it doesn't return the `apiKeyId` parameter. */ userId?: string; /** Email address for the user who triggered this event. If this resource returns this parameter, it doesn't return the `publicApiKey` parameter. */ username?: string; } export const AtlasResourcePolicyAuditForOrg = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKeyId: S.optional(S.String), created: S.String, delegatePrincipal: S.optional(Principal), eventTypeName: AtlasResourcePolicyAuditForOrgEventTypeName, groupId: S.optional(S.String), id: S.String, isGlobalAdmin: S.optional(S.Boolean), links: S.optional(AtlasResourcePolicyAuditForOrgLinksList), orgId: S.optional(S.String), publicKey: S.optional(S.String), raw: S.optional(Raw), remoteAddress: S.optional(S.String), resourcePolicyId: S.optional(S.String), userId: S.optional(S.String), username: S.optional(S.String), }), ).annotate({ identifier: "AtlasResourcePolicyAuditForOrg", }) as any as S.Schema; export type EventViewForOrg = | DefaultEventViewForOrg | AlertAudit | AlertConfigAudit | ApiUserEventViewForOrg | ServiceAccountOrgEvents | BillingEventViewForOrg | NDSAuditViewForOrg | OrgEventViewForOrg | TeamEvent | UserEventViewForOrg | ResourceEventViewForOrg | AtlasResourcePolicyAuditForOrg; export const EventViewForOrg = S.Unknown as any as S.Schema; export type GetOrgEventResponse = EventViewForOrg; export const GetOrgEventResponse = /*@__PURE__*/ S.suspend(() => EventViewForOrg.pipe(T.RawResponseRoot()), ).annotate({ identifier: "GetOrgEventResponse", }) as any as S.Schema; export interface GetOrgFederationSettingsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgFederationSettingsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/federationSettings", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgFederationSettingsRequest", }) as any as S.Schema; /** List of domains associated with the organization's identity provider. */ export type OrgFederationSettingsFederatedDomainsList = Array; export const OrgFederationSettingsFederatedDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** String enum that indicates whether the identity provider is active. */ export type OrgFederationSettingsIdentityProviderStatus = "ACTIVE" | "INACTIVE"; export const OrgFederationSettingsIdentityProviderStatus = S.String; /** Details that define how to connect one MongoDB Cloud organization to one federated authentication service. */ export interface OrgFederationSettings { /** List of domains associated with the organization's identity provider. */ federatedDomains: OrgFederationSettingsFederatedDomainsList; /** Flag that indicates whether this organization has role mappings configured. */ hasRoleMappings?: boolean; /** Unique 24-hexadecimal digit string that identifies this federation. */ id?: string; /** Legacy 20-hexadecimal digit string that identifies the identity provider connected to this organization. */ identityProviderId?: string; /** String enum that indicates whether the identity provider is active. */ identityProviderStatus?: OrgFederationSettingsIdentityProviderStatus; } export const OrgFederationSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ federatedDomains: OrgFederationSettingsFederatedDomainsList, hasRoleMappings: S.optional(S.Boolean), id: S.optional(S.String), identityProviderId: S.optional(S.String), identityProviderStatus: S.optional( OrgFederationSettingsIdentityProviderStatus, ), }), ).annotate({ identifier: "OrgFederationSettings", }) as any as S.Schema; export interface GetOrgGroupsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label of the project to use to filter the returned list. Performs a case-insensitive search for a project within the organization which is prefixed by the specified name. */ name?: string; } export const GetOrgGroupsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/groups", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgGroupsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedAtlasGroupViewLinksList = Array; export const PaginatedAtlasGroupViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedAtlasGroupViewResultsList = Array; export const PaginatedAtlasGroupViewResultsList = /*@__PURE__*/ S.Array( Group, ) as any as S.Schema; export interface PaginatedAtlasGroupView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedAtlasGroupViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedAtlasGroupViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedAtlasGroupView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedAtlasGroupViewLinksList), results: PaginatedAtlasGroupViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedAtlasGroupView", }) as any as S.Schema; export interface GetOrgInvoiceRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the invoice submitted to the specified organization. Charges typically post the next day. */ invoiceId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgInvoiceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), invoiceId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgInvoiceRequest", }) as any as S.Schema; /** Code identifying the cloud provider this line item's usage is attributed to. Values map as follows: AWS is Amazon Web Services, GCP is Google Cloud, AZURE is Microsoft Azure, and ATLAS is other Atlas usage not tied to a specific cloud provider. */ export type InvoiceLineItemCloudProvider = "AWS" | "GCP" | "AZURE" | "ATLAS"; export const InvoiceLineItemCloudProvider = S.String; /** A map of key-value pairs corresponding to the tags associated with the line item resource. */ export type InvoiceLineItemTagsValueList = Array; export const InvoiceLineItemTagsValueList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** A map of key-value pairs corresponding to the tags associated with the line item resource. */ export type InvoiceLineItemTagsMap = { [key: string]: InvoiceLineItemTagsValueList | undefined; }; export const InvoiceLineItemTagsMap = /*@__PURE__*/ S.Record( S.String, InvoiceLineItemTagsValueList, ) as any as S.Schema; /** One service included in this invoice. */ export interface InvoiceLineItem { /** Code identifying the cloud provider this line item's usage is attributed to. Values map as follows: AWS is Amazon Web Services, GCP is Google Cloud, AZURE is Microsoft Azure, and ATLAS is other Atlas usage not tied to a specific cloud provider. */ cloudProvider?: InvoiceLineItemCloudProvider; /** Human-readable label that identifies the cluster that incurred the charge. */ clusterName?: string; /** Date and time when MongoDB Cloud created this line item. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Sum by which MongoDB discounted this line item. MongoDB Cloud expresses this value in cents (100ths of one US Dollar). The resource returns this parameter when a discount applies. */ discountCents?: number; /** Date and time when when MongoDB Cloud finished charging for this line item. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ endDate?: string; /** Unique 24-hexadecimal digit string that identifies the project associated to this line item. */ groupId?: string; /** Human-readable label that identifies the project. */ groupName?: string; /** Comment that applies to this line item. */ note?: string; /** Percentage by which MongoDB discounted this line item. The resource returns this parameter when a discount applies. */ percentDiscount?: number; /** Number of units included for the line item. These can be expressions of storage (GB), time (hours), or other units. */ quantity?: number; /** Human-readable description of the service that this line item provided. This Stock Keeping Unit (SKU) could be the instance type, a support charge, advanced security, or another service. */ sku?: string; /** Date and time when MongoDB Cloud began charging for this line item. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ startDate?: string; /** Human-readable label that identifies the Atlas App Services application associated with this line item. */ stitchAppName?: string; /** A map of key-value pairs corresponding to the tags associated with the line item resource. */ tags?: InvoiceLineItemTagsMap; /** Lower bound for usage amount range in current SKU tier. **NOTE**: `lineItems[n].tierLowerBound` appears only if your `lineItems[n].sku` is tiered. */ tierLowerBound?: number; /** Upper bound for usage amount range in current SKU tier. **NOTE**: `lineItems[n].tierUpperBound` appears only if your `lineItems[n].sku` is tiered. */ tierUpperBound?: number; /** Sum of the cost set for this line item. MongoDB Cloud expresses this value in cents (100ths of one US Dollar) and calculates this value as `unitPriceDollars` * `quantity` * 100. */ totalPriceCents?: number; /** Element used to express what **quantity** this line item measures. This value can be elements of time, storage capacity, and the like. */ unit?: string; /** Value per **unit** for this line item expressed in US Dollars. */ unitPriceDollars?: number; } export const InvoiceLineItem = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(InvoiceLineItemCloudProvider), clusterName: S.optional(S.String), created: S.optional(S.String), discountCents: S.optional(S.Number), endDate: S.optional(S.String), groupId: S.optional(S.String), groupName: S.optional(S.String), note: S.optional(S.String), percentDiscount: S.optional(S.Number), quantity: S.optional(S.Number), sku: S.optional(S.String), startDate: S.optional(S.String), stitchAppName: S.optional(S.String), tags: S.optional(InvoiceLineItemTagsMap), tierLowerBound: S.optional(S.Number), tierUpperBound: S.optional(S.Number), totalPriceCents: S.optional(S.Number), unit: S.optional(S.String), unitPriceDollars: S.optional(S.Number), }), ).annotate({ identifier: "InvoiceLineItem", }) as any as S.Schema; /** List that contains individual services included in this invoice. */ export type BillingInvoiceLineItemsList = Array; export const BillingInvoiceLineItemsList = /*@__PURE__*/ S.Array( InvoiceLineItem, ) as any as S.Schema; /** List that contains the invoices for organizations linked to the paying organization. */ export type BillingInvoiceLinkedInvoicesList = Array; export const BillingInvoiceLinkedInvoicesList = /*@__PURE__*/ S.Array( S.suspend(() => BillingInvoice), ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type BillingInvoiceLinksList = Array; export const BillingInvoiceLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Phase of payment processing for the associated invoice when you made this request. These phases include: - `CANCELLED`: Customer or MongoDB cancelled the payment. - `ERROR`: Issue arose when attempting to complete payment. - `FAILED`: MongoDB tried to charge the credit card without success. - `FAILED_AUTHENTICATION`: Strong Customer Authentication has failed. Confirm that your payment method is authenticated. - `FORGIVEN`: Customer initiated payment which MongoDB later forgave. - `INVOICED`: MongoDB issued an invoice that included this line item. - `NEW`: Customer provided a method of payment, but MongoDB hasn't tried to charge the credit card. - `PAID`: Customer submitted a successful payment. - `PARTIAL_PAID`: Customer paid for part of this line item. */ export type BillingPaymentStatusName = | "NEW" | "FORGIVEN" | "FAILED" | "PAID" | "PARTIAL_PAID" | "CANCELLED" | "INVOICED" | "FAILED_AUTHENTICATION" | "PROCESSING" | "PENDING_REVERSAL" | "REFUNDED"; export const BillingPaymentStatusName = S.String; /** Funds transferred to MongoDB to cover the specified service in this invoice. */ export interface BillingPayment { /** Sum of services that the specified organization consumed in the period covered in this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ amountBilledCents?: number; /** Sum that the specified organization paid toward the associated invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ amountPaidCents?: number; /** Date and time when the customer made this payment attempt. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** The currency in which payment was paid. This parameter expresses its value in 3-letter ISO 4217 currency code. */ currency?: string; /** Unique 24-hexadecimal digit string that identifies this payment toward the associated invoice. */ id?: string; /** Sum of sales tax applied to this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ salesTaxCents?: number; /** Phase of payment processing for the associated invoice when you made this request. These phases include: - `CANCELLED`: Customer or MongoDB cancelled the payment. - `ERROR`: Issue arose when attempting to complete payment. - `FAILED`: MongoDB tried to charge the credit card without success. - `FAILED_AUTHENTICATION`: Strong Customer Authentication has failed. Confirm that your payment method is authenticated. - `FORGIVEN`: Customer initiated payment which MongoDB later forgave. - `INVOICED`: MongoDB issued an invoice that included this line item. - `NEW`: Customer provided a method of payment, but MongoDB hasn't tried to charge the credit card. - `PAID`: Customer submitted a successful payment. - `PARTIAL_PAID`: Customer paid for part of this line item. */ statusName?: BillingPaymentStatusName; /** Sum of all positive invoice line items contained in this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ subtotalCents?: number; /** The unit price applied to `amountBilledCents` to compute total payment amount. This value is represented as a decimal string. */ unitPrice?: string; /** Date and time when the customer made an update to this payment attempt. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const BillingPayment = /*@__PURE__*/ S.suspend(() => S.Struct({ amountBilledCents: S.optional(S.Number), amountPaidCents: S.optional(S.Number), created: S.optional(S.String), currency: S.optional(S.String), id: S.optional(S.String), salesTaxCents: S.optional(S.Number), statusName: S.optional(BillingPaymentStatusName), subtotalCents: S.optional(S.Number), unitPrice: S.optional(S.String), updated: S.optional(S.String), }), ).annotate({ identifier: "BillingPayment" }) as any as S.Schema; /** List that contains funds transferred to MongoDB to cover the specified service noted in this invoice. */ export type BillingInvoicePaymentsList = Array; export const BillingInvoicePaymentsList = /*@__PURE__*/ S.Array( BillingPayment, ) as any as S.Schema; /** One payment that MongoDB returned to the organization for this invoice. */ export interface BillingRefund { /** Sum of the funds returned to the specified organization expressed in cents (100th of US Dollar). */ amountCents?: number; /** Date and time when MongoDB Cloud created this refund. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Unique 24-hexadecimal digit string that identifies the payment that the organization had made. */ paymentId?: string; /** Justification that MongoDB accepted to return funds to the organization. */ reason?: string; } export const BillingRefund = /*@__PURE__*/ S.suspend(() => S.Struct({ amountCents: S.optional(S.Number), created: S.optional(S.String), paymentId: S.optional(S.String), reason: S.optional(S.String), }), ).annotate({ identifier: "BillingRefund" }) as any as S.Schema; /** List that contains payments that MongoDB returned to the organization for this invoice. */ export type BillingInvoiceRefundsList = Array; export const BillingInvoiceRefundsList = /*@__PURE__*/ S.Array( BillingRefund, ) as any as S.Schema; /** Phase of payment processing in which this invoice exists when you made this request. Accepted phases include: - `CLOSED`: MongoDB finalized all charges in the billing cycle but has yet to charge the customer. - `FAILED`: MongoDB attempted to charge the provided credit card but charge for that amount failed. - `FORGIVEN`: Customer initiated payment which MongoDB later forgave. - `FREE`: All charges totalled zero so the customer won't be charged. - `INVOICED`: MongoDB handled these charges using elastic invoicing. - `PAID`: MongoDB succeeded in charging the provided credit card. - `PENDING`: Invoice includes charges for the current billing cycle. - `PREPAID`: Customer has a pre-paid plan so they won't be charged. */ export type BillingInvoiceStatusName = | "PENDING" | "CLOSED" | "FORGIVEN" | "FAILED" | "PAID" | "FREE" | "PREPAID" | "INVOICED"; export const BillingInvoiceStatusName = S.String; export interface BillingInvoice { /** Sum of services that the specified organization consumed in the period covered in this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ amountBilledCents?: number; /** Sum that the specified organization paid toward this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ amountPaidCents?: number; /** Date and time when MongoDB Cloud created this invoice. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Sum that MongoDB credited the specified organization toward this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ creditsCents?: number; /** Date and time when MongoDB Cloud finished the billing period that this invoice covers. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ endDate?: string; /** Unique 24-hexadecimal digit string that identifies the invoice submitted to the specified organization. Charges typically post the next day. */ id?: string; /** List that contains individual services included in this invoice. */ lineItems?: BillingInvoiceLineItemsList; /** List that contains the invoices for organizations linked to the paying organization. */ linkedInvoices?: BillingInvoiceLinkedInvoicesList; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: BillingInvoiceLinksList; /** Unique 24-hexadecimal digit string that identifies the organization charged for services consumed from MongoDB Cloud. */ orgId?: string; /** List that contains funds transferred to MongoDB to cover the specified service noted in this invoice. */ payments?: BillingInvoicePaymentsList; /** List that contains payments that MongoDB returned to the organization for this invoice. */ refunds?: BillingInvoiceRefundsList; /** Sum of sales tax applied to this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ salesTaxCents?: number; /** Date and time when MongoDB Cloud began the billing period that this invoice covers. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ startDate?: string; /** Sum that the specified organization owed to MongoDB when MongoDB issued this invoice. This parameter expresses its value in US Dollars. */ startingBalanceCents?: number; /** Phase of payment processing in which this invoice exists when you made this request. Accepted phases include: - `CLOSED`: MongoDB finalized all charges in the billing cycle but has yet to charge the customer. - `FAILED`: MongoDB attempted to charge the provided credit card but charge for that amount failed. - `FORGIVEN`: Customer initiated payment which MongoDB later forgave. - `FREE`: All charges totalled zero so the customer won't be charged. - `INVOICED`: MongoDB handled these charges using elastic invoicing. - `PAID`: MongoDB succeeded in charging the provided credit card. - `PENDING`: Invoice includes charges for the current billing cycle. - `PREPAID`: Customer has a pre-paid plan so they won't be charged. */ statusName?: BillingInvoiceStatusName; /** Sum of all positive invoice line items contained in this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ subtotalCents?: number; /** Date and time when MongoDB Cloud last updated the value of this payment. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const BillingInvoice = /*@__PURE__*/ S.suspend(() => S.Struct({ amountBilledCents: S.optional(S.Number), amountPaidCents: S.optional(S.Number), created: S.optional(S.String), creditsCents: S.optional(S.Number), endDate: S.optional(S.String), id: S.optional(S.String), lineItems: S.optional(BillingInvoiceLineItemsList), linkedInvoices: S.optional(BillingInvoiceLinkedInvoicesList), links: S.optional(BillingInvoiceLinksList), orgId: S.optional(S.String), payments: S.optional(BillingInvoicePaymentsList), refunds: S.optional(BillingInvoiceRefundsList), salesTaxCents: S.optional(S.Number), startDate: S.optional(S.String), startingBalanceCents: S.optional(S.Number), statusName: S.optional(BillingInvoiceStatusName), subtotalCents: S.optional(S.Number), updated: S.optional(S.String), }), ).annotate({ identifier: "BillingInvoice" }) as any as S.Schema; export interface GetOrgInvoiceCsvRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the invoice submitted to the specified organization. Charges typically post the next day. */ invoiceId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgInvoiceCsvRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), invoiceId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/csv", code: 200, accept: "application/vnd.atlas.2023-01-01+csv", }), ), ).annotate({ identifier: "GetOrgInvoiceCsvRequest", }) as any as S.Schema; export interface GetOrgInvoiceCsvResponse {} export const GetOrgInvoiceCsvResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "GetOrgInvoiceCsvResponse", }) as any as S.Schema; export interface GetOrgInvoiceReportRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique string that identifies the invoice the report was generated for. */ invoiceId: string; /** Unique string that identifies the report to retrieve. */ reportId: string; } export const GetOrgInvoiceReportRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), invoiceId: S.String.pipe(T.Label()), reportId: S.String.pipe(T.Label()), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/reports/{reportId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetOrgInvoiceReportRequest", }) as any as S.Schema; export interface GetOrgMcpConfigRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgMcpConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/mcpConfigs/{mcpConfigId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetOrgMcpConfigRequest", }) as any as S.Schema; export interface GetOrgMcpConfigSecretRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** Unique 24-hexadecimal digit string that identifies the secret. */ secretId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgMcpConfigSecretRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), secretId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/mcpConfigs/{mcpConfigId}/secrets/{secretId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetOrgMcpConfigSecretRequest", }) as any as S.Schema; export interface GetOrgNonCompliantResourcesRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgNonCompliantResourcesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/nonCompliantResources", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GetOrgNonCompliantResourcesRequest", }) as any as S.Schema; export interface ApiAtlasPolicyMetadataView { /** Unique 24-hexadecimal character string that identifies the policy. */ policyId?: string; } export const ApiAtlasPolicyMetadataView = /*@__PURE__*/ S.suspend(() => S.Struct({ policyId: S.optional(S.String), }), ).annotate({ identifier: "ApiAtlasPolicyMetadataView", }) as any as S.Schema; /** List of policies that are in conflict with the current state of the resource. */ export type ApiAtlasResourcePolicyMetadataViewPoliciesCausingNonComplianceList = Array; export const ApiAtlasResourcePolicyMetadataViewPoliciesCausingNonComplianceList = /*@__PURE__*/ S.Array( ApiAtlasPolicyMetadataView, ) as any as S.Schema; export interface ApiAtlasResourcePolicyMetadataView { /** List of policies that are in conflict with the current state of the resource. */ policiesCausingNonCompliance?: ApiAtlasResourcePolicyMetadataViewPoliciesCausingNonComplianceList; /** Unique 24-hexadecimal character string that identifies the atlas resource policy. */ resourcePolicyId?: string; /** Human-readable label that describes the atlas resource policy. */ resourcePolicyName?: string; } export const ApiAtlasResourcePolicyMetadataView = /*@__PURE__*/ S.suspend(() => S.Struct({ policiesCausingNonCompliance: S.optional( ApiAtlasResourcePolicyMetadataViewPoliciesCausingNonComplianceList, ), resourcePolicyId: S.optional(S.String), resourcePolicyName: S.optional(S.String), }), ).annotate({ identifier: "ApiAtlasResourcePolicyMetadataView", }) as any as S.Schema; /** List of resource policies causing the resource to be considered non-compliant. */ export type ApiAtlasNonCompliantResourceViewResourcePoliciesCausingNonComplianceList = Array; export const ApiAtlasNonCompliantResourceViewResourcePoliciesCausingNonComplianceList = /*@__PURE__*/ S.Array( ApiAtlasResourcePolicyMetadataView, ) as any as S.Schema; /** Human-readable label that displays the type of a resource. */ export type ApiAtlasNonCompliantResourceViewResourceType = | "DEPRECATED_PROJECT" | "DEPRECATED_CLUSTER" | "PROJECT" | "CLUSTER"; export const ApiAtlasNonCompliantResourceViewResourceType = S.String; export interface ApiAtlasNonCompliantResourceView { /** Unique 24-hexadecimal character string that identifies the organization the resource belongs to. */ orgId?: string; /** Unique 24-hexadecimal character string that identifies the non-compliant resource. */ resourceId?: string; /** Unique human readable string that identifies the non-compliant resource. */ resourceName?: string; /** List of resource policies causing the resource to be considered non-compliant. */ resourcePoliciesCausingNonCompliance?: ApiAtlasNonCompliantResourceViewResourcePoliciesCausingNonComplianceList; /** Human-readable label that displays the type of a resource. */ resourceType?: ApiAtlasNonCompliantResourceViewResourceType; } export const ApiAtlasNonCompliantResourceView = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.optional(S.String), resourceId: S.optional(S.String), resourceName: S.optional(S.String), resourcePoliciesCausingNonCompliance: S.optional( ApiAtlasNonCompliantResourceViewResourcePoliciesCausingNonComplianceList, ), resourceType: S.optional(ApiAtlasNonCompliantResourceViewResourceType), }), ).annotate({ identifier: "ApiAtlasNonCompliantResourceView", }) as any as S.Schema; export type GetOrgNonCompliantResourcesResponseBodyList = Array; export const GetOrgNonCompliantResourcesResponseBodyList = /*@__PURE__*/ S.Array( ApiAtlasNonCompliantResourceView, ) as any as S.Schema; export type GetOrgNonCompliantResourcesResponse = GetOrgNonCompliantResourcesResponseBodyList; export const GetOrgNonCompliantResourcesResponse = /*@__PURE__*/ S.suspend(() => GetOrgNonCompliantResourcesResponseBodyList.pipe(T.RawResponseRoot()), ).annotate({ identifier: "GetOrgNonCompliantResourcesResponse", }) as any as S.Schema; export interface GetOrgResourcePolicyRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies an atlas resource policy. */ resourcePolicyId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgResourcePolicyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), resourcePolicyId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/resourcePolicies/{resourcePolicyId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GetOrgResourcePolicyRequest", }) as any as S.Schema; export interface GetOrgServiceAccountRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GetOrgServiceAccountRequest", }) as any as S.Schema; export interface GetOrgServiceAccountGroupsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The Client ID of the Service Account. */ clientId: string; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const GetOrgServiceAccountGroupsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/groups", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GetOrgServiceAccountGroupsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedServiceAccountGroupLinksList = Array; export const PaginatedServiceAccountGroupLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** A list of project roles assigned to the Service Account in this project. */ export type ServiceAccountGroupRolesList = Array; export const ServiceAccountGroupRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ServiceAccountGroup { /** Unique 24-hexadecimal digit string that identifies your project. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId?: string; /** A list of project roles assigned to the Service Account in this project. */ roles?: ServiceAccountGroupRolesList; } export const ServiceAccountGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.optional(S.String), roles: S.optional(ServiceAccountGroupRolesList), }), ).annotate({ identifier: "ServiceAccountGroup", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedServiceAccountGroupResultsList = Array; export const PaginatedServiceAccountGroupResultsList = /*@__PURE__*/ S.Array( ServiceAccountGroup, ) as any as S.Schema; /** A list of projects associated with the Service Account. */ export interface PaginatedServiceAccountGroup { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedServiceAccountGroupLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedServiceAccountGroupResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedServiceAccountGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedServiceAccountGroupLinksList), results: PaginatedServiceAccountGroupResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedServiceAccountGroup", }) as any as S.Schema; export interface GetOrgSettingsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgSettingsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/settings", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgSettingsRequest", }) as any as S.Schema; /** Defines the session timeout settings for managing user sessions at the organization level. When set to null, the field's value is unset, and the default timeout settings are applied. */ export interface CustomSessionTimeouts { /** Specifies the absolute session timeout duration in seconds. When set to null, the field's value is unset, and the default value of 43,200 seconds (12 hours) is applied. Accepted values range between a minimum of 3,600 seconds (1 hour) and a maximum of 43,200 seconds (12 hours). */ absoluteSessionTimeoutInSeconds?: number; /** Specifies the idle session timeout duration in seconds. When set to null, the field's value is unset, and the default behavior depends on the context: no timeout for Atlas Commercial, and 600 seconds (10 minutes) for Atlas for Government. Accepted values start at a minimum of 300 seconds (5 minutes). For Atlas Commercial, the maximum value cannot exceed the configured absolute session timeout. For Atlas for Government, the maximum value is capped at 600 seconds (10 minutes). */ idleSessionTimeoutInSeconds?: number; } export const CustomSessionTimeouts = /*@__PURE__*/ S.suspend(() => S.Struct({ absoluteSessionTimeoutInSeconds: S.optional(S.Number), idleSessionTimeoutInSeconds: S.optional(S.Number), }), ).annotate({ identifier: "CustomSessionTimeouts", }) as any as S.Schema; /** Collection of settings that configures the organization. */ export interface OrganizationSettings { /** Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. */ apiAccessListRequired?: boolean; customSessionTimeouts?: CustomSessionTimeouts; /** Flag that indicates whether this organization has access to generative AI features. This setting only applies to Atlas Commercial and is enabled by default. Once this setting is turned on, Project Owners may be able to enable or disable individual AI features at the project level. */ genAIFeaturesEnabled?: boolean; /** Number that represents the maximum period before expiry in hours for new Atlas Admin API Service Account secrets within the specified organization. */ maxServiceAccountSecretValidityInHours?: number; /** Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. */ multiFactorAuthRequired?: boolean; /** String that specifies a distribution list email address for the specified organization to receive proactive notifications about its infrastructure. The operations contact is used for notifications only and is not authorized to make decisions or approvals. Passing an explicit null clears the existing operations contact (if any). An empty string is invalid and is rejected with a validation error. */ operationsContact?: string | null; /** Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure and cluster logs for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. */ restrictEmployeeAccess?: boolean; /** String that specifies a single email address for the specified organization to receive security-related notifications. Specifying a security contact does not grant them authorization or access to Atlas for security decisions or approvals. An empty string is valid and clears the existing security contact (if any). */ securityContact?: string; /** Flag that indicates whether a group's Atlas Stream Processing workspaces in this organization can create connections to other group's clusters in the same organization. */ streamsCrossGroupEnabled?: boolean; } export const OrganizationSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ apiAccessListRequired: S.optional(S.Boolean), customSessionTimeouts: S.optional(CustomSessionTimeouts), genAIFeaturesEnabled: S.optional(S.Boolean), maxServiceAccountSecretValidityInHours: S.optional(S.Number), multiFactorAuthRequired: S.optional(S.Boolean), operationsContact: S.optional(S.NullOr(S.String)), restrictEmployeeAccess: S.optional(S.Boolean), securityContact: S.optional(S.String), streamsCrossGroupEnabled: S.optional(S.Boolean), }), ).annotate({ identifier: "OrganizationSettings", }) as any as S.Schema; export interface GetOrgTeamRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the team whose information you want to return. */ teamId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgTeamRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), teamId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/teams/{teamId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgTeamRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type TeamResponseLinksList = Array; export const TeamResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface TeamResponse { /** Unique 24-hexadecimal digit string that identifies this team. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: TeamResponseLinksList; /** Human-readable label that identifies the team. */ name?: string; } export const TeamResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.String), links: S.optional(TeamResponseLinksList), name: S.optional(S.String), }), ).annotate({ identifier: "TeamResponse" }) as any as S.Schema; export interface GetOrgTeamByNameRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Name of the team whose information you want to return. */ teamName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetOrgTeamByNameRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), teamName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/teams/byName/{teamName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetOrgTeamByNameRequest", }) as any as S.Schema; export type GetOrgUserRequestOrgMembershipStatusesItem = | "PENDING" | "ACTIVE" | "INVITATION_EXPIRED" | "INVITATION_REJECTED"; export const GetOrgUserRequestOrgMembershipStatusesItem = S.String; export type GetOrgUserRequestOrgMembershipStatusesList = Array< GetOrgUserRequestOrgMembershipStatusesItem | (string & {}) >; export const GetOrgUserRequestOrgMembershipStatusesList = /*@__PURE__*/ S.Array( GetOrgUserRequestOrgMembershipStatusesItem, ) as any as S.Schema; export interface GetOrgUserRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the pending or active user in the organization. If you need to lookup a user's `userId` or verify a user's status in the organization, use the Return All MongoDB Cloud Users in One Organization resource and filter by `username`. */ userId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Organization membership status to filter users by. You can supply this parameter multiple times. Allowed values: `ACTIVE`, `PENDING`, `INVITATION_EXPIRED`, `INVITATION_REJECTED`. If you exclude this parameter, this resource returns ACTIVE and PENDING users. Not supported in deprecated versions. */ orgMembershipStatuses?: GetOrgUserRequestOrgMembershipStatusesList; } export const GetOrgUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), userId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), orgMembershipStatuses: S.optional( GetOrgUserRequestOrgMembershipStatusesList.pipe(T.Query()), ), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/users/{userId}", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "GetOrgUserRequest", }) as any as S.Schema; export interface GetRateLimitRequest { /** The ID of the rate limit endpoint set. */ endpointSetId: string; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Unique 24-hexadecimal digit string that identifies the Atlas Project to request rate limits for. When this parameter is provided, the limits returned are applicable to the specified project. The requesting user must have the Project Read Only role for the specified project. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the Atlas Organization to request rate limits for. When this parameter is provided, the limits returned are applicable to the specified organization. The requesting user must have the Organization Read Only role for the specified organization. */ orgId?: string; /** A string that identifies the Atlas user to request rate limits for. The ID can for example be the Service Account Client ID or the API Public Key. When this parameter is provided, the limits returned are applicable to the specified user. The requesting user must be the same as the specified user. */ userId?: string; /** An IP address to request rate limits for. When this parameter is provided, the limits returned are applicable to the specified IP address. The requesting user must have the same IP address as the one provided in the request. */ ipAddress?: string; } export const GetRateLimitRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ endpointSetId: S.String.pipe(T.Label()), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), groupId: S.optional(S.String.pipe(T.Query())), orgId: S.optional(S.String.pipe(T.Query())), userId: S.optional(S.String.pipe(T.Query())), ipAddress: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/rateLimits/{endpointSetId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetRateLimitRequest", }) as any as S.Schema; /** The rate limit capacity for the endpoint set. */ export interface RateLimitEndpointSetCapacity { /** The default request capacity of the endpoint set. Returned if there is a capacity override set for the requested entity. */ defaultValue?: number | null; /** The applied request capacity of the endpoint set. */ value?: number; } export const RateLimitEndpointSetCapacity = /*@__PURE__*/ S.suspend(() => S.Struct({ defaultValue: S.optional(S.NullOr(S.Number)), value: S.optional(S.Number), }), ).annotate({ identifier: "RateLimitEndpointSetCapacity", }) as any as S.Schema; /** The HTTP method of the endpoint. */ export type RateLimitEndpointSetEndpointMethod = | "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; export const RateLimitEndpointSetEndpointMethod = S.String; export interface RateLimitEndpointSetEndpoint { /** The HTTP method of the endpoint. */ method?: RateLimitEndpointSetEndpointMethod; /** The URL path of the endpoint. */ path?: string; } export const RateLimitEndpointSetEndpoint = /*@__PURE__*/ S.suspend(() => S.Struct({ method: S.optional(RateLimitEndpointSetEndpointMethod), path: S.optional(S.String), }), ).annotate({ identifier: "RateLimitEndpointSetEndpoint", }) as any as S.Schema; /** A list of endpoints associated with the specified endpoint set. */ export type RateLimitEndpointSetResponseEndpointsList = Array; export const RateLimitEndpointSetResponseEndpointsList = /*@__PURE__*/ S.Array( RateLimitEndpointSetEndpoint, ) as any as S.Schema; /** The rate limit refill duration for the endpoint set. */ export interface RateLimitEndpointSetRefillDurationSeconds { /** The default rate limit refill duration, in seconds, of the endpoint set. Returned if there is a rate limit refill duration override set for the requested entity. */ defaultValue?: number | null; /** The applied rate limit refill duration of the endpoint set. */ value?: number; } export const RateLimitEndpointSetRefillDurationSeconds = /*@__PURE__*/ S.suspend(() => S.Struct({ defaultValue: S.optional(S.NullOr(S.Number)), value: S.optional(S.Number), }), ).annotate({ identifier: "RateLimitEndpointSetRefillDurationSeconds", }) as any as S.Schema; /** The rate limit refill rate for the endpoint set. */ export interface RateLimitEndpointSetRefillRate { /** The default rate limit refill rate of the endpoint set. Returned if there is a rate limit refill rate override set for the requested entity. */ defaultValue?: number | null; /** The applied rate limit refill rate of the endpoint set. */ value?: number; } export const RateLimitEndpointSetRefillRate = /*@__PURE__*/ S.suspend(() => S.Struct({ defaultValue: S.optional(S.NullOr(S.Number)), value: S.optional(S.Number), }), ).annotate({ identifier: "RateLimitEndpointSetRefillRate", }) as any as S.Schema; /** The scope of the endpoint set. */ export type RateLimitEndpointSetResponseScope = | "IP" | "GROUP" | "ORGANIZATION" | "USER"; export const RateLimitEndpointSetResponseScope = S.String; export interface RateLimitEndpointSetResponse { capacity?: RateLimitEndpointSetCapacity; /** The ID of the endpoint set. */ endpointSetId?: string; /** The endpoint set name. */ endpointSetName?: string; /** A list of endpoints associated with the specified endpoint set. */ endpoints?: RateLimitEndpointSetResponseEndpointsList; refillDurationSeconds?: RateLimitEndpointSetRefillDurationSeconds; refillRate?: RateLimitEndpointSetRefillRate; /** The scope of the endpoint set. */ scope?: RateLimitEndpointSetResponseScope; } export const RateLimitEndpointSetResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ capacity: S.optional(RateLimitEndpointSetCapacity), endpointSetId: S.optional(S.String), endpointSetName: S.optional(S.String), endpoints: S.optional(RateLimitEndpointSetResponseEndpointsList), refillDurationSeconds: S.optional( RateLimitEndpointSetRefillDurationSeconds, ), refillRate: S.optional(RateLimitEndpointSetRefillRate), scope: S.optional(RateLimitEndpointSetResponseScope), }), ).annotate({ identifier: "RateLimitEndpointSetResponse", }) as any as S.Schema; export interface GetSkuRequest { /** Unique identifier of the SKU to retrieve. */ skuId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetSkuRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ skuId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/skus/{skuId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "GetSkuRequest" }) as any as S.Schema; export interface SkuResponse { /** Human-readable short summary of what this SKU represents. */ description?: string; /** Unique string that identifies the SKU. */ id?: string; } export const SkuResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ description: S.optional(S.String), id: S.optional(S.String), }), ).annotate({ identifier: "SkuResponse" }) as any as S.Schema; export interface GetSystemStatusRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const GetSystemStatusRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "GetSystemStatusRequest", }) as any as S.Schema; export interface AccessListItemView { /** Range of IP addresses in Classless Inter-Domain Routing (CIDR) notation that found in this project's access list. */ cidrBlock?: string | null; /** IP address included in the API access list. */ ipAddress: string | null; } export const AccessListItemView = /*@__PURE__*/ S.suspend(() => S.Struct({ cidrBlock: S.optional(S.NullOr(S.String)), ipAddress: S.NullOr(S.String), }), ).annotate({ identifier: "AccessListItemView", }) as any as S.Schema; /** List of network addresses granted access to this API using this API key. */ export type ApiKeyAccessListList = Array; export const ApiKeyAccessListList = /*@__PURE__*/ S.Array( AccessListItemView, ) as any as S.Schema; /** List that contains roles that the API key needs to have. All roles you provide must be valid for the specified project or organization. Each request must include a minimum of one valid role. The resource returns all project and organization roles assigned to the Cloud user. */ export type ApiKeyRolesList = Array; export const ApiKeyRolesList = /*@__PURE__*/ S.Array( CloudAccessRoleAssignment, ) as any as S.Schema; /** Details contained in one API key. */ export interface ApiKey { /** List of network addresses granted access to this API using this API key. */ accessList: ApiKeyAccessListList; /** Unique 24-hexadecimal digit string that identifies this organization API key. */ id: string; /** Public API key value set for the specified organization API key. */ publicKey: string; /** List that contains roles that the API key needs to have. All roles you provide must be valid for the specified project or organization. Each request must include a minimum of one valid role. The resource returns all project and organization roles assigned to the Cloud user. */ roles: ApiKeyRolesList; } export const ApiKey = /*@__PURE__*/ S.suspend(() => S.Struct({ accessList: ApiKeyAccessListList, id: S.String, publicKey: S.String, roles: ApiKeyRolesList, }), ).annotate({ identifier: "ApiKey" }) as any as S.Schema; /** Human-readable label that identifies the service from which you requested this response. */ export type SystemStatusAppName = "MongoDB Atlas"; export const SystemStatusAppName = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type SystemStatusLinksList = Array; export const SystemStatusLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Details about the MongoDB Cloud user that this request is authenticated as. */ export interface AuthenticatedUser { /** Email address that represents the username of the MongoDB Cloud user. */ username?: string; } export const AuthenticatedUser = /*@__PURE__*/ S.suspend(() => S.Struct({ username: S.optional(S.String), }), ).annotate({ identifier: "AuthenticatedUser", }) as any as S.Schema; export interface SystemStatus { apiKey?: ApiKey | null; /** Human-readable label that identifies the service from which you requested this response. */ appName: SystemStatusAppName; /** Unique 40-hexadecimal digit hash that identifies the latest git commit merged for this application. */ build: string; /** IPv4 or IPv6 address from which you requested this response. Use this value to confirm which address IP access lists evaluate for your requests. */ ipAddress: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: SystemStatusLinksList; /** Flag that indicates whether someone enabled throttling on this service. */ throttling: boolean; user?: AuthenticatedUser | null; } export const SystemStatus = /*@__PURE__*/ S.suspend(() => S.Struct({ apiKey: S.optional(S.NullOr(ApiKey)), appName: SystemStatusAppName, build: S.String, ipAddress: S.String, links: S.optional(SystemStatusLinksList), throttling: S.Boolean, user: S.optional(S.NullOr(AuthenticatedUser)), }), ).annotate({ identifier: "SystemStatus" }) as any as S.Schema; /** Level of access to grant to MongoDB Employees. */ export type GrantGroupClusterMongoDbEmployeeAccessRequestGrantType = | "CLUSTER_DATABASE_LOGS" | "CLUSTER_INFRASTRUCTURE" | "CLUSTER_INFRASTRUCTURE_AND_APP_SERVICES_SYNC_DATA"; export const GrantGroupClusterMongoDbEmployeeAccessRequestGrantType = S.String; export interface GrantGroupClusterMongoDbEmployeeAccessRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Expiration date for the employee access grant. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expirationTime: string; /** Level of access to grant to MongoDB Employees. */ grantType: | GrantGroupClusterMongoDbEmployeeAccessRequestGrantType | (string & {}); } export const GrantGroupClusterMongoDbEmployeeAccessRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), expirationTime: S.String, grantType: GrantGroupClusterMongoDbEmployeeAccessRequestGrantType, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}:grantMongoDBEmployeeAccess", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "GrantGroupClusterMongoDbEmployeeAccessRequest", }) as any as S.Schema; export interface GrantGroupClusterMongoDbEmployeeAccessResponse {} export const GrantGroupClusterMongoDbEmployeeAccessResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "GrantGroupClusterMongoDbEmployeeAccessResponse", }) as any as S.Schema; /** The Project permissions for the Service Account in the specified Project. */ export type InviteGroupServiceAccountRequestRolesList = Array; export const InviteGroupServiceAccountRequestRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface InviteGroupServiceAccountRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The Project permissions for the Service Account in the specified Project. */ roles: InviteGroupServiceAccountRequestRolesList; } export const InviteGroupServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), roles: InviteGroupServiceAccountRequestRolesList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}:invite", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "InviteGroupServiceAccountRequest", }) as any as S.Schema; export interface ListAlertConfigMatcherFieldNamesRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListAlertConfigMatcherFieldNamesRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/alertConfigs/matchers/fieldNames", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListAlertConfigMatcherFieldNamesRequest", }) as any as S.Schema; export type MatcherFieldViewCase0 = "APPLICATION_ID"; export const MatcherFieldViewCase0 = S.String; export type MatcherFieldViewCase1 = "CLUSTER_NAME"; export const MatcherFieldViewCase1 = S.String; export type MatcherFieldViewCase2 = | "TYPE_NAME" | "HOSTNAME" | "PORT" | "HOSTNAME_AND_PORT" | "REPLICA_SET_NAME" | "ATLAS_NODE_TYPE"; export const MatcherFieldViewCase2 = S.String; export type MatcherFieldViewCase3 = | "REPLICA_SET_NAME" | "SHARD_NAME" | "CLUSTER_NAME"; export const MatcherFieldViewCase3 = S.String; export type MatcherFieldViewCase4 = "INSTANCE_NAME" | "PROCESSOR_NAME"; export const MatcherFieldViewCase4 = S.String; export type MatcherFieldViewCase5 = "RULE_ID"; export const MatcherFieldViewCase5 = S.String; export type MatcherFieldViewCase6 = "SOFTWARE_TYPE"; export const MatcherFieldViewCase6 = S.String; export type MatcherFieldViewCase7 = "CLUSTER_NAME"; export const MatcherFieldViewCase7 = S.String; export type MatcherFieldView = | MatcherFieldViewCase0 | MatcherFieldViewCase1 | MatcherFieldViewCase2 | MatcherFieldViewCase3 | MatcherFieldViewCase4 | MatcherFieldViewCase5 | MatcherFieldViewCase6 | MatcherFieldViewCase7; export const MatcherFieldView = S.Unknown as any as S.Schema; export type ListAlertConfigMatcherFieldNamesResponseBodyList = Array; export const ListAlertConfigMatcherFieldNamesResponseBodyList = /*@__PURE__*/ S.Array( MatcherFieldView, ) as any as S.Schema; export type ListAlertConfigMatcherFieldNamesResponse = ListAlertConfigMatcherFieldNamesResponseBodyList; export const ListAlertConfigMatcherFieldNamesResponse = /*@__PURE__*/ S.suspend( () => ListAlertConfigMatcherFieldNamesResponseBodyList.pipe(T.RawResponseRoot()), ).annotate({ identifier: "ListAlertConfigMatcherFieldNamesResponse", }) as any as S.Schema; export interface ListClusterDetailsRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListClusterDetailsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/clusters", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListClusterDetailsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedOrgGroupViewLinksList = Array; export const PaginatedOrgGroupViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Term that expresses how many nodes of the cluster can be accessed when MongoDB Cloud receives this request. This parameter returns `available` when all nodes are accessible, `warning` only when some nodes in the cluster can be accessed, `unavailable` when the cluster can't be accessed, or `dead` when the cluster has been deactivated. */ export type CloudClusterAvailability = | "available" | "dead" | "unavailable" | "warning"; export const CloudClusterAvailability = S.String; /** Human-readable label that indicates the cluster type. */ export type CloudClusterType = "REPLICA_SET" | "SHARDED_CLUSTER"; export const CloudClusterType = S.String; /** List that contains the versions of MongoDB that each node in the cluster runs. */ export type CloudClusterVersionsList = Array; export const CloudClusterVersionsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Settings that describe the clusters in each project that the API key is authorized to view. */ export interface CloudCluster { /** Whole number that indicates the quantity of alerts open on the cluster. */ alertCount?: number; /** Flag that indicates whether authentication is required to access the nodes in this cluster. */ authEnabled?: boolean; /** Term that expresses how many nodes of the cluster can be accessed when MongoDB Cloud receives this request. This parameter returns `available` when all nodes are accessible, `warning` only when some nodes in the cluster can be accessed, `unavailable` when the cluster can't be accessed, or `dead` when the cluster has been deactivated. */ availability?: CloudClusterAvailability; /** Flag that indicates whether the cluster can perform backups. If set to `true`, the cluster can perform backups. You must set this value to `true` for NVMe clusters. Backup uses Cloud Backups for dedicated clusters and Shared Cluster Backups for tenant clusters. If set to `false`, the cluster doesn't use MongoDB Cloud backups. */ backupEnabled?: boolean; /** Unique 24-hexadecimal character string that identifies the cluster. Each `clusterId` is used only once across all MongoDB Cloud deployments. */ clusterId?: string; /** Total size of the data stored on each node in the cluster. The resource expresses this value in bytes. */ dataSizeBytes?: number; /** Human-readable label that identifies the cluster. */ name?: string; /** Whole number that indicates the quantity of nodes that comprise the cluster. */ nodeCount?: number; /** Flag that indicates whether TLS authentication is required to access the nodes in this cluster. */ sslEnabled?: boolean; /** Human-readable label that indicates the cluster type. */ type?: CloudClusterType; /** List that contains the versions of MongoDB that each node in the cluster runs. */ versions?: CloudClusterVersionsList; } export const CloudCluster = /*@__PURE__*/ S.suspend(() => S.Struct({ alertCount: S.optional(S.Number), authEnabled: S.optional(S.Boolean), availability: S.optional(CloudClusterAvailability), backupEnabled: S.optional(S.Boolean), clusterId: S.optional(S.String), dataSizeBytes: S.optional(S.Number), name: S.optional(S.String), nodeCount: S.optional(S.Number), sslEnabled: S.optional(S.Boolean), type: S.optional(CloudClusterType), versions: S.optional(CloudClusterVersionsList), }), ).annotate({ identifier: "CloudCluster" }) as any as S.Schema; /** Settings that describe the clusters in each project that the API key is authorized to view. */ export type OrgGroupClustersList = Array; export const OrgGroupClustersList = /*@__PURE__*/ S.Array( CloudCluster, ) as any as S.Schema; /** List of human-readable labels that categorize the specified project. MongoDB Cloud returns an empty array. */ export type OrgGroupTagsList = Array; export const OrgGroupTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OrgGroup { /** Settings that describe the clusters in each project that the API key is authorized to view. */ clusters?: OrgGroupClustersList; /** Unique 24-hexadecimal character string that identifies the project. */ groupId?: string; /** Human-readable label that identifies the project. */ groupName?: string; /** Unique 24-hexadecimal character string that identifies the organization that contains the project. */ orgId?: string; /** Human-readable label that identifies the organization that contains the project. */ orgName?: string; /** Human-readable label that indicates the plan type. */ planType?: string; /** List of human-readable labels that categorize the specified project. MongoDB Cloud returns an empty array. */ tags?: OrgGroupTagsList; } export const OrgGroup = /*@__PURE__*/ S.suspend(() => S.Struct({ clusters: S.optional(OrgGroupClustersList), groupId: S.optional(S.String), groupName: S.optional(S.String), orgId: S.optional(S.String), orgName: S.optional(S.String), planType: S.optional(S.String), tags: S.optional(OrgGroupTagsList), }), ).annotate({ identifier: "OrgGroup" }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedOrgGroupViewResultsList = Array; export const PaginatedOrgGroupViewResultsList = /*@__PURE__*/ S.Array( OrgGroup, ) as any as S.Schema; export interface PaginatedOrgGroupView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedOrgGroupViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedOrgGroupViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedOrgGroupView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedOrgGroupViewLinksList), results: PaginatedOrgGroupViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedOrgGroupView", }) as any as S.Schema; export interface ListControlPlaneIpAddressesRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const ListControlPlaneIpAddressesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/unauth/controlPlaneIPAddresses", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "ListControlPlaneIpAddressesRequest", }) as any as S.Schema; /** Control plane IP addresses in AWS. Each key identifies an Amazon Web Services (AWS) region. Each value identifies control plane IP addresses in the AWS region. */ export type InboundControlPlaneCloudProviderIPAddressesAwsValueList = Array; export const InboundControlPlaneCloudProviderIPAddressesAwsValueList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Control plane IP addresses in AWS. Each key identifies an Amazon Web Services (AWS) region. Each value identifies control plane IP addresses in the AWS region. */ export type InboundControlPlaneCloudProviderIPAddressesAwsMap = { [key: string]: | InboundControlPlaneCloudProviderIPAddressesAwsValueList | undefined; }; export const InboundControlPlaneCloudProviderIPAddressesAwsMap = /*@__PURE__*/ S.Record( S.String, InboundControlPlaneCloudProviderIPAddressesAwsValueList, ) as any as S.Schema; /** Control plane IP addresses in Azure. Each key identifies an Azure region. Each value identifies control plane IP addresses in the Azure region. */ export type InboundControlPlaneCloudProviderIPAddressesAzureValueList = Array; export const InboundControlPlaneCloudProviderIPAddressesAzureValueList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Control plane IP addresses in Azure. Each key identifies an Azure region. Each value identifies control plane IP addresses in the Azure region. */ export type InboundControlPlaneCloudProviderIPAddressesAzureMap = { [key: string]: | InboundControlPlaneCloudProviderIPAddressesAzureValueList | undefined; }; export const InboundControlPlaneCloudProviderIPAddressesAzureMap = /*@__PURE__*/ S.Record( S.String, InboundControlPlaneCloudProviderIPAddressesAzureValueList, ) as any as S.Schema; /** Control plane IP addresses in GCP. Each key identifies a Google Cloud (GCP) region. Each value identifies control plane IP addresses in the GCP region. */ export type InboundControlPlaneCloudProviderIPAddressesGcpValueList = Array; export const InboundControlPlaneCloudProviderIPAddressesGcpValueList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Control plane IP addresses in GCP. Each key identifies a Google Cloud (GCP) region. Each value identifies control plane IP addresses in the GCP region. */ export type InboundControlPlaneCloudProviderIPAddressesGcpMap = { [key: string]: | InboundControlPlaneCloudProviderIPAddressesGcpValueList | undefined; }; export const InboundControlPlaneCloudProviderIPAddressesGcpMap = /*@__PURE__*/ S.Record( S.String, InboundControlPlaneCloudProviderIPAddressesGcpValueList, ) as any as S.Schema; /** List of inbound IP addresses to the Atlas control plane, categorized by cloud provider. If your application allows outbound HTTP requests only to specific IP addresses, you must allow access to the following IP addresses so that your API requests can reach the Atlas control plane. */ export interface InboundControlPlaneCloudProviderIPAddresses { /** Control plane IP addresses in AWS. Each key identifies an Amazon Web Services (AWS) region. Each value identifies control plane IP addresses in the AWS region. */ aws?: InboundControlPlaneCloudProviderIPAddressesAwsMap; /** Control plane IP addresses in Azure. Each key identifies an Azure region. Each value identifies control plane IP addresses in the Azure region. */ azure?: InboundControlPlaneCloudProviderIPAddressesAzureMap; /** Control plane IP addresses in GCP. Each key identifies a Google Cloud (GCP) region. Each value identifies control plane IP addresses in the GCP region. */ gcp?: InboundControlPlaneCloudProviderIPAddressesGcpMap; } export const InboundControlPlaneCloudProviderIPAddresses = /*@__PURE__*/ S.suspend(() => S.Struct({ aws: S.optional(InboundControlPlaneCloudProviderIPAddressesAwsMap), azure: S.optional(InboundControlPlaneCloudProviderIPAddressesAzureMap), gcp: S.optional(InboundControlPlaneCloudProviderIPAddressesGcpMap), }), ).annotate({ identifier: "InboundControlPlaneCloudProviderIPAddresses", }) as any as S.Schema; /** Control plane IP addresses in AWS. Each key identifies an Amazon Web Services (AWS) region. Each value identifies control plane IP addresses in the AWS region. */ export type OutboundControlPlaneCloudProviderIPAddressesAwsValueList = Array; export const OutboundControlPlaneCloudProviderIPAddressesAwsValueList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Control plane IP addresses in AWS. Each key identifies an Amazon Web Services (AWS) region. Each value identifies control plane IP addresses in the AWS region. */ export type OutboundControlPlaneCloudProviderIPAddressesAwsMap = { [key: string]: | OutboundControlPlaneCloudProviderIPAddressesAwsValueList | undefined; }; export const OutboundControlPlaneCloudProviderIPAddressesAwsMap = /*@__PURE__*/ S.Record( S.String, OutboundControlPlaneCloudProviderIPAddressesAwsValueList, ) as any as S.Schema; /** Control plane IP addresses in Azure. Each key identifies an Azure region. Each value identifies control plane IP addresses in the Azure region. */ export type OutboundControlPlaneCloudProviderIPAddressesAzureValueList = Array; export const OutboundControlPlaneCloudProviderIPAddressesAzureValueList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Control plane IP addresses in Azure. Each key identifies an Azure region. Each value identifies control plane IP addresses in the Azure region. */ export type OutboundControlPlaneCloudProviderIPAddressesAzureMap = { [key: string]: | OutboundControlPlaneCloudProviderIPAddressesAzureValueList | undefined; }; export const OutboundControlPlaneCloudProviderIPAddressesAzureMap = /*@__PURE__*/ S.Record( S.String, OutboundControlPlaneCloudProviderIPAddressesAzureValueList, ) as any as S.Schema; /** Control plane IP addresses in GCP. Each key identifies a Google Cloud (GCP) region. Each value identifies control plane IP addresses in the GCP region. */ export type OutboundControlPlaneCloudProviderIPAddressesGcpValueList = Array; export const OutboundControlPlaneCloudProviderIPAddressesGcpValueList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Control plane IP addresses in GCP. Each key identifies a Google Cloud (GCP) region. Each value identifies control plane IP addresses in the GCP region. */ export type OutboundControlPlaneCloudProviderIPAddressesGcpMap = { [key: string]: | OutboundControlPlaneCloudProviderIPAddressesGcpValueList | undefined; }; export const OutboundControlPlaneCloudProviderIPAddressesGcpMap = /*@__PURE__*/ S.Record( S.String, OutboundControlPlaneCloudProviderIPAddressesGcpValueList, ) as any as S.Schema; /** List of outbound IP addresses from the Atlas control plane, categorized by cloud provider. If your network allows inbound HTTP requests only from specific IP addresses, you must allow access from the following IP addresses so that Atlas can communicate with your webhooks and KMS. */ export interface OutboundControlPlaneCloudProviderIPAddresses { /** Control plane IP addresses in AWS. Each key identifies an Amazon Web Services (AWS) region. Each value identifies control plane IP addresses in the AWS region. */ aws?: OutboundControlPlaneCloudProviderIPAddressesAwsMap; /** Control plane IP addresses in Azure. Each key identifies an Azure region. Each value identifies control plane IP addresses in the Azure region. */ azure?: OutboundControlPlaneCloudProviderIPAddressesAzureMap; /** Control plane IP addresses in GCP. Each key identifies a Google Cloud (GCP) region. Each value identifies control plane IP addresses in the GCP region. */ gcp?: OutboundControlPlaneCloudProviderIPAddressesGcpMap; } export const OutboundControlPlaneCloudProviderIPAddresses = /*@__PURE__*/ S.suspend(() => S.Struct({ aws: S.optional(OutboundControlPlaneCloudProviderIPAddressesAwsMap), azure: S.optional(OutboundControlPlaneCloudProviderIPAddressesAzureMap), gcp: S.optional(OutboundControlPlaneCloudProviderIPAddressesGcpMap), }), ).annotate({ identifier: "OutboundControlPlaneCloudProviderIPAddresses", }) as any as S.Schema; /** IP addresses for a specific gateway, organized by direction and cloud provider. */ export interface GatewayIpAddresses { inbound?: InboundControlPlaneCloudProviderIPAddresses; outbound?: OutboundControlPlaneCloudProviderIPAddresses; } export const GatewayIpAddresses = /*@__PURE__*/ S.suspend(() => S.Struct({ inbound: S.optional(InboundControlPlaneCloudProviderIPAddresses), outbound: S.optional(OutboundControlPlaneCloudProviderIPAddresses), }), ).annotate({ identifier: "GatewayIpAddresses", }) as any as S.Schema; /** Represents a service-specific gateway, such as the Atlas Gateway, with its IP addresses. */ export interface Gateway { ips?: GatewayIpAddresses; /** Name of the service that this gateway represents. */ name?: string; } export const Gateway = /*@__PURE__*/ S.suspend(() => S.Struct({ ips: S.optional(GatewayIpAddresses), name: S.optional(S.String), }), ).annotate({ identifier: "Gateway" }) as any as S.Schema; /** List of gateways, each representing a group of service-specific IP addresses that customers can add to their allow lists independently. Includes the Atlas Gateway (data plane) group when present. */ export type ControlPlaneIPAddressesGatewaysList = Array; export const ControlPlaneIPAddressesGatewaysList = /*@__PURE__*/ S.Array( Gateway, ) as any as S.Schema; /** List of IP addresses in the Atlas control plane. */ export interface ControlPlaneIPAddresses { /** List of gateways, each representing a group of service-specific IP addresses that customers can add to their allow lists independently. Includes the Atlas Gateway (data plane) group when present. */ gateways?: ControlPlaneIPAddressesGatewaysList; inbound?: InboundControlPlaneCloudProviderIPAddresses; outbound?: OutboundControlPlaneCloudProviderIPAddresses; } export const ControlPlaneIPAddresses = /*@__PURE__*/ S.suspend(() => S.Struct({ gateways: S.optional(ControlPlaneIPAddressesGatewaysList), inbound: S.optional(InboundControlPlaneCloudProviderIPAddresses), outbound: S.optional(OutboundControlPlaneCloudProviderIPAddresses), }), ).annotate({ identifier: "ControlPlaneIPAddresses", }) as any as S.Schema; export interface ListEventTypesRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListEventTypesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/eventTypes", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListEventTypesRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedEventTypeDetailsResponseLinksList = Array; export const PaginatedEventTypeDetailsResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** A singular type of event. */ export interface EventTypeDetails { /** Whether or not this event type can be configured as an alert via the API. */ alertable?: boolean; /** Description of the event type. */ description?: string; /** Enum representation of the event type. */ eventType?: string; } export const EventTypeDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ alertable: S.optional(S.Boolean), description: S.optional(S.String), eventType: S.optional(S.String), }), ).annotate({ identifier: "EventTypeDetails", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedEventTypeDetailsResponseResultsList = Array; export const PaginatedEventTypeDetailsResponseResultsList = /*@__PURE__*/ S.Array( EventTypeDetails, ) as any as S.Schema; export interface PaginatedEventTypeDetailsResponse { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedEventTypeDetailsResponseLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedEventTypeDetailsResponseResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedEventTypeDetailsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedEventTypeDetailsResponseLinksList), results: PaginatedEventTypeDetailsResponseResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedEventTypeDetailsResponse", }) as any as S.Schema; export interface ListFederationSettingConnectedOrgConfigRoleMappingsRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const ListFederationSettingConnectedOrgConfigRoleMappingsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListFederationSettingConnectedOrgConfigRoleMappingsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedRoleMappingViewLinksList = Array; export const PaginatedRoleMappingViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedRoleMappingViewResultsList = Array; export const PaginatedRoleMappingViewResultsList = /*@__PURE__*/ S.Array( AuthFederationRoleMapping, ) as any as S.Schema; /** List role mappings from the specified organization in the specified federation. */ export interface PaginatedRoleMappingView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedRoleMappingViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedRoleMappingViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedRoleMappingView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedRoleMappingViewLinksList), results: PaginatedRoleMappingViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedRoleMappingView", }) as any as S.Schema; export interface ListFederationSettingConnectedOrgConfigsRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; } export const ListFederationSettingConnectedOrgConfigsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListFederationSettingConnectedOrgConfigsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedConnectedOrgConfigsViewLinksList = Array; export const PaginatedConnectedOrgConfigsViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedConnectedOrgConfigsViewResultsList = Array; export const PaginatedConnectedOrgConfigsViewResultsList = /*@__PURE__*/ S.Array( ConnectedOrgConfig, ) as any as S.Schema; export interface PaginatedConnectedOrgConfigsView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedConnectedOrgConfigsViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedConnectedOrgConfigsViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedConnectedOrgConfigsView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedConnectedOrgConfigsViewLinksList), results: PaginatedConnectedOrgConfigsViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedConnectedOrgConfigsView", }) as any as S.Schema; export type ListFederationSettingIdentityProvidersRequestProtocolItem = | "SAML" | "OIDC"; export const ListFederationSettingIdentityProvidersRequestProtocolItem = S.String; export type ListFederationSettingIdentityProvidersRequestProtocolList = Array< ListFederationSettingIdentityProvidersRequestProtocolItem | (string & {}) >; export const ListFederationSettingIdentityProvidersRequestProtocolList = /*@__PURE__*/ S.Array( ListFederationSettingIdentityProvidersRequestProtocolItem, ) as any as S.Schema; export type ListFederationSettingIdentityProvidersRequestIdpTypeItem = | "WORKFORCE" | "WORKLOAD"; export const ListFederationSettingIdentityProvidersRequestIdpTypeItem = S.String; export type ListFederationSettingIdentityProvidersRequestIdpTypeList = Array< ListFederationSettingIdentityProvidersRequestIdpTypeItem | (string & {}) >; export const ListFederationSettingIdentityProvidersRequestIdpTypeList = /*@__PURE__*/ S.Array( ListFederationSettingIdentityProvidersRequestIdpTypeItem, ) as any as S.Schema; export interface ListFederationSettingIdentityProvidersRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** The protocols of the target identity providers. */ protocol?: ListFederationSettingIdentityProvidersRequestProtocolList; /** The types of the target identity providers. */ idpType?: ListFederationSettingIdentityProvidersRequestIdpTypeList; } export const ListFederationSettingIdentityProvidersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), protocol: S.optional( ListFederationSettingIdentityProvidersRequestProtocolList.pipe( T.Query(), ), ), idpType: S.optional( ListFederationSettingIdentityProvidersRequestIdpTypeList.pipe( T.Query(), ), ), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListFederationSettingIdentityProvidersRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedFederationIdentityProviderLinksList = Array; export const PaginatedFederationIdentityProviderLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedFederationIdentityProviderResultsList = Array; export const PaginatedFederationIdentityProviderResultsList = /*@__PURE__*/ S.Array( FederationIdentityProvider, ) as any as S.Schema; export interface PaginatedFederationIdentityProvider { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedFederationIdentityProviderLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedFederationIdentityProviderResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedFederationIdentityProvider = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedFederationIdentityProviderLinksList), results: PaginatedFederationIdentityProviderResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedFederationIdentityProvider", }) as any as S.Schema; export interface ListGroupAccessListEntriesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupAccessListEntriesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/accessList", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupAccessListEntriesRequest", }) as any as S.Schema; export interface ListGroupAiModelApiKeysRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupAiModelApiKeysRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiKeys", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupAiModelApiKeysRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedAtlasAiModelApiKeysResponseLinksList = Array; export const PaginatedAtlasAiModelApiKeysResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedAtlasAiModelApiKeysResponseResultsList = Array; export const PaginatedAtlasAiModelApiKeysResponseResultsList = /*@__PURE__*/ S.Array( AiModelApiKeyResponse, ) as any as S.Schema; /** List response for AI Model API keys at the organization and project level. */ export interface PaginatedAtlasAiModelApiKeysResponse { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedAtlasAiModelApiKeysResponseLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedAtlasAiModelApiKeysResponseResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedAtlasAiModelApiKeysResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedAtlasAiModelApiKeysResponseLinksList), results: PaginatedAtlasAiModelApiKeysResponseResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedAtlasAiModelApiKeysResponse", }) as any as S.Schema; export interface ListGroupAlertConfigsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupAlertConfigsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/alertConfigs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupAlertConfigsRequest", }) as any as S.Schema; export type ListGroupAlertsRequestStatus = "OPEN" | "TRACKING" | "CLOSED"; export const ListGroupAlertsRequestStatus = S.String; export interface ListGroupAlertsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Status of the alerts to return. Omit this parameter to return all alerts in all statuses. TRACKING indicates the alert condition exists but has not persisted for the minimum notification delay. OPEN indicates the alert condition currently exists. CLOSED indicates the alert condition has been resolved. */ status?: ListGroupAlertsRequestStatus | (string & {}); } export const ListGroupAlertsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), status: S.optional(ListGroupAlertsRequestStatus.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/alerts", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupAlertsRequest", }) as any as S.Schema; export interface ListGroupApiKeysRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupApiKeysRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/apiKeys", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupApiKeysRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiApiUserViewLinksList = Array; export const PaginatedApiApiUserViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiApiUserViewResultsList = Array; export const PaginatedApiApiUserViewResultsList = /*@__PURE__*/ S.Array( ApiKeyUserDetails, ) as any as S.Schema; export interface PaginatedApiApiUserView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiApiUserViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiApiUserViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiApiUserView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiApiUserViewLinksList), results: PaginatedApiApiUserViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiApiUserView", }) as any as S.Schema; export interface ListGroupBackupExportBucketsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupBackupExportBucketsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/backup/exportBuckets", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "ListGroupBackupExportBucketsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedBackupSnapshotExportBucketsViewLinksList = Array; export const PaginatedBackupSnapshotExportBucketsViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedBackupSnapshotExportBucketsViewResultsList = Array; export const PaginatedBackupSnapshotExportBucketsViewResultsList = /*@__PURE__*/ S.Array( DiskBackupSnapshotExportBucketResponse, ) as any as S.Schema; export interface PaginatedBackupSnapshotExportBucketsView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedBackupSnapshotExportBucketsViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedBackupSnapshotExportBucketsViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedBackupSnapshotExportBucketsView = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedBackupSnapshotExportBucketsViewLinksList), results: PaginatedBackupSnapshotExportBucketsViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedBackupSnapshotExportBucketsView", }) as any as S.Schema; export type ListGroupBackupPrivateEndpointsRequestCloudProvider = "AWS"; export const ListGroupBackupPrivateEndpointsRequestCloudProvider = S.String; export interface ListGroupBackupPrivateEndpointsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cloud provider for the private endpoints to return. */ cloudProvider: | ListGroupBackupPrivateEndpointsRequestCloudProvider | (string & {}); /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; } export const ListGroupBackupPrivateEndpointsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: ListGroupBackupPrivateEndpointsRequestCloudProvider.pipe( T.Label(), ), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "ListGroupBackupPrivateEndpointsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasObjectStoragePrivateEndpointResponseViewLinksList = Array; export const PaginatedApiAtlasObjectStoragePrivateEndpointResponseViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasObjectStoragePrivateEndpointResponseViewResultsList = Array; export const PaginatedApiAtlasObjectStoragePrivateEndpointResponseViewResultsList = /*@__PURE__*/ S.Array( ObjectStoragePrivateEndpointResponse, ) as any as S.Schema; export interface PaginatedApiAtlasObjectStoragePrivateEndpointResponseView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasObjectStoragePrivateEndpointResponseViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasObjectStoragePrivateEndpointResponseViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasObjectStoragePrivateEndpointResponseView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional( PaginatedApiAtlasObjectStoragePrivateEndpointResponseViewLinksList, ), results: PaginatedApiAtlasObjectStoragePrivateEndpointResponseViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasObjectStoragePrivateEndpointResponseView", }) as any as S.Schema; export interface ListGroupCloudProviderAccessRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupCloudProviderAccessRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/cloudProviderAccess", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupCloudProviderAccessRequest", }) as any as S.Schema; /** List that contains the Amazon Web Services (AWS) IAM roles registered and authorized with MongoDB Cloud. */ export type CloudProviderAccessRolesAwsIamRolesList = Array; export const CloudProviderAccessRolesAwsIamRolesList = /*@__PURE__*/ S.Array( CloudProviderAccessAWSIAMRole, ) as any as S.Schema; /** List that contains the Azure Service Principals registered with MongoDB Cloud. */ export type CloudProviderAccessRolesAzureServicePrincipalsList = Array; export const CloudProviderAccessRolesAzureServicePrincipalsList = /*@__PURE__*/ S.Array( CloudProviderAccessAzureServicePrincipal, ) as any as S.Schema; /** List that contains the Google Service Accounts registered and authorized with MongoDB Cloud. */ export type CloudProviderAccessRolesGcpServiceAccountsList = Array; export const CloudProviderAccessRolesGcpServiceAccountsList = /*@__PURE__*/ S.Array( CloudProviderAccessGCPServiceAccount, ) as any as S.Schema; export interface CloudProviderAccessRoles { /** List that contains the Amazon Web Services (AWS) IAM roles registered and authorized with MongoDB Cloud. */ awsIamRoles?: CloudProviderAccessRolesAwsIamRolesList; /** List that contains the Azure Service Principals registered with MongoDB Cloud. */ azureServicePrincipals?: CloudProviderAccessRolesAzureServicePrincipalsList; /** List that contains the Google Service Accounts registered and authorized with MongoDB Cloud. */ gcpServiceAccounts?: CloudProviderAccessRolesGcpServiceAccountsList; } export const CloudProviderAccessRoles = /*@__PURE__*/ S.suspend(() => S.Struct({ awsIamRoles: S.optional(CloudProviderAccessRolesAwsIamRolesList), azureServicePrincipals: S.optional( CloudProviderAccessRolesAzureServicePrincipalsList, ), gcpServiceAccounts: S.optional( CloudProviderAccessRolesGcpServiceAccountsList, ), }), ).annotate({ identifier: "CloudProviderAccessRoles", }) as any as S.Schema; export interface ListGroupClusterBackupExportsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; } export const ListGroupClusterBackupExportsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupClusterBackupExportsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasDiskBackupExportJobViewLinksList = Array; export const PaginatedApiAtlasDiskBackupExportJobViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasDiskBackupExportJobViewResultsList = Array; export const PaginatedApiAtlasDiskBackupExportJobViewResultsList = /*@__PURE__*/ S.Array( DiskBackupExportJob, ) as any as S.Schema; export interface PaginatedApiAtlasDiskBackupExportJobView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasDiskBackupExportJobViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasDiskBackupExportJobViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasDiskBackupExportJobView = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedApiAtlasDiskBackupExportJobViewLinksList), results: PaginatedApiAtlasDiskBackupExportJobViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasDiskBackupExportJobView", }) as any as S.Schema; export interface ListGroupClusterBackupRestoreJobsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster with the restore jobs you want to return. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterBackupRestoreJobsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupClusterBackupRestoreJobsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedCloudBackupRestoreJobViewLinksList = Array; export const PaginatedCloudBackupRestoreJobViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedCloudBackupRestoreJobViewResultsList = Array; export const PaginatedCloudBackupRestoreJobViewResultsList = /*@__PURE__*/ S.Array( DiskBackupSnapshotRestoreJob, ) as any as S.Schema; export interface PaginatedCloudBackupRestoreJobView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedCloudBackupRestoreJobViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedCloudBackupRestoreJobViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedCloudBackupRestoreJobView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedCloudBackupRestoreJobViewLinksList), results: PaginatedCloudBackupRestoreJobViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedCloudBackupRestoreJobView", }) as any as S.Schema; export interface ListGroupClusterBackupSnapshotDatabaseCollectionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Human-readable label that identifies the database. */ databaseName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterBackupSnapshotDatabaseCollectionsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}/databases/{databaseName}/collections", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupClusterBackupSnapshotDatabaseCollectionsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasDiskBackupCollectionViewLinksList = Array; export const PaginatedApiAtlasDiskBackupCollectionViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasDiskBackupCollectionViewResultsList = Array; export const PaginatedApiAtlasDiskBackupCollectionViewResultsList = /*@__PURE__*/ S.Array( DiskBackupCollectionResponse, ) as any as S.Schema; export interface PaginatedApiAtlasDiskBackupCollectionView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasDiskBackupCollectionViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasDiskBackupCollectionViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasDiskBackupCollectionView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiAtlasDiskBackupCollectionViewLinksList), results: PaginatedApiAtlasDiskBackupCollectionViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasDiskBackupCollectionView", }) as any as S.Schema; export interface ListGroupClusterBackupSnapshotDatabasesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterBackupSnapshotDatabasesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}/databases", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupClusterBackupSnapshotDatabasesRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasDiskBackupDatabaseViewLinksList = Array; export const PaginatedApiAtlasDiskBackupDatabaseViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasDiskBackupDatabaseViewResultsList = Array; export const PaginatedApiAtlasDiskBackupDatabaseViewResultsList = /*@__PURE__*/ S.Array( DiskBackupDatabaseResponse, ) as any as S.Schema; export interface PaginatedApiAtlasDiskBackupDatabaseView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasDiskBackupDatabaseViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasDiskBackupDatabaseViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasDiskBackupDatabaseView = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedApiAtlasDiskBackupDatabaseViewLinksList), results: PaginatedApiAtlasDiskBackupDatabaseViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasDiskBackupDatabaseView", }) as any as S.Schema; export interface ListGroupClusterBackupSnapshotsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Desired point in time, expressed as the number of seconds that have elapsed since the UNIX epoch. If specified, returns the closest snapshot created before that point in time. Mutually exclusive with `oplogTs` and `oplogInc`. */ pointInTimeUtcSeconds?: number; /** Oplog timestamp that represents the desired point in time. This is the first part of an Oplog timestamp. Must be used with `oplogInc`. Mutually exclusive with `pointInTimeUtcSeconds`. */ oplogTs?: number; /** Oplog operation number that represents the desired point in time. This is the second part of an Oplog timestamp. Must be used with `oplogTs`. Mutually exclusive with `pointInTimeUtcSeconds`. */ oplogInc?: number; } export const ListGroupClusterBackupSnapshotsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), pointInTimeUtcSeconds: S.optional(S.Number.pipe(T.Query())), oplogTs: S.optional(S.Number.pipe(T.Query())), oplogInc: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupClusterBackupSnapshotsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedCloudBackupReplicaSetViewLinksList = Array; export const PaginatedCloudBackupReplicaSetViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedCloudBackupReplicaSetViewResultsList = Array; export const PaginatedCloudBackupReplicaSetViewResultsList = /*@__PURE__*/ S.Array( DiskBackupReplicaSet, ) as any as S.Schema; export interface PaginatedCloudBackupReplicaSetView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedCloudBackupReplicaSetViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedCloudBackupReplicaSetViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedCloudBackupReplicaSetView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedCloudBackupReplicaSetViewLinksList), results: PaginatedCloudBackupReplicaSetViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedCloudBackupReplicaSetView", }) as any as S.Schema; export interface ListGroupClusterBackupSnapshotShardedClustersRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterBackupSnapshotShardedClustersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/shardedClusters", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupClusterBackupSnapshotShardedClustersRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedCloudBackupShardedClusterSnapshotViewLinksList = Array; export const PaginatedCloudBackupShardedClusterSnapshotViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedCloudBackupShardedClusterSnapshotViewResultsList = Array; export const PaginatedCloudBackupShardedClusterSnapshotViewResultsList = /*@__PURE__*/ S.Array( DiskBackupShardedClusterSnapshot, ) as any as S.Schema; export interface PaginatedCloudBackupShardedClusterSnapshotView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedCloudBackupShardedClusterSnapshotViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedCloudBackupShardedClusterSnapshotViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedCloudBackupShardedClusterSnapshotView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional( PaginatedCloudBackupShardedClusterSnapshotViewLinksList, ), results: PaginatedCloudBackupShardedClusterSnapshotViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedCloudBackupShardedClusterSnapshotView", }) as any as S.Schema; /** Current state of this collection within the restore job. */ export type ListGroupClusterCollectionRestoreJobCollectionsRequestState = | "NOT_STARTED" | "IN_PROGRESS" | "FINALIZING" | "NOT_FOUND" | "UNSUPPORTED" | "SUCCESSFUL" | "ROLLBACK" | "NOT_RESTORED" | "FAILED"; export const ListGroupClusterCollectionRestoreJobCollectionsRequestState = S.String; export interface ListGroupClusterCollectionRestoreJobCollectionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster with the collection restore job you want to return. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the collection restore job. */ jobId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Collection-level state to filter by. */ state?: | ListGroupClusterCollectionRestoreJobCollectionsRequestState | (string & {}); /** Source namespace to filter by (e.g. `db.collection`). */ sourceNamespace?: string; /** Target namespace to filter by (e.g. `db.collection`). */ targetNamespace?: string; } export const ListGroupClusterCollectionRestoreJobCollectionsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), jobId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), state: S.optional( ListGroupClusterCollectionRestoreJobCollectionsRequestState.pipe( T.Query(), ), ), sourceNamespace: S.optional(S.String.pipe(T.Query())), targetNamespace: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collectionRestoreJobs/{jobId}/collections", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupClusterCollectionRestoreJobCollectionsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasCollectionRestoreCollectionStateViewLinksList = Array; export const PaginatedApiAtlasCollectionRestoreCollectionStateViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasCollectionRestoreCollectionStateViewResultsList = Array; export const PaginatedApiAtlasCollectionRestoreCollectionStateViewResultsList = /*@__PURE__*/ S.Array( ApiAtlasCollectionRestoreCollectionStateResponse, ) as any as S.Schema; export interface PaginatedApiAtlasCollectionRestoreCollectionStateView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasCollectionRestoreCollectionStateViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasCollectionRestoreCollectionStateViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasCollectionRestoreCollectionStateView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional( PaginatedApiAtlasCollectionRestoreCollectionStateViewLinksList, ), results: PaginatedApiAtlasCollectionRestoreCollectionStateViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasCollectionRestoreCollectionStateView", }) as any as S.Schema; export interface ListGroupClusterCollectionRestoreJobsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster with the collection restore jobs you want to return. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterCollectionRestoreJobsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collectionRestoreJobs", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupClusterCollectionRestoreJobsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasCollectionRestoreJobViewLinksList = Array; export const PaginatedApiAtlasCollectionRestoreJobViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasCollectionRestoreJobViewResultsList = Array; export const PaginatedApiAtlasCollectionRestoreJobViewResultsList = /*@__PURE__*/ S.Array( ApiAtlasCollectionRestoreJobResponse, ) as any as S.Schema; export interface PaginatedApiAtlasCollectionRestoreJobView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasCollectionRestoreJobViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasCollectionRestoreJobViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasCollectionRestoreJobView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiAtlasCollectionRestoreJobViewLinksList), results: PaginatedApiAtlasCollectionRestoreJobViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasCollectionRestoreJobView", }) as any as S.Schema; export type ListGroupClusterCollStatMeasurementsRequestClusterView = | "PRIMARY" | "SECONDARY" | "INDIVIDUAL_PROCESS"; export const ListGroupClusterCollStatMeasurementsRequestClusterView = S.String; /** Metric requested for the given cluster */ export type ListGroupClusterCollStatMeasurementsRequestMetricsItem = | "READS_OPS" | "READS_LATENCY" | "AVERAGE_READS_LATENCY" | "READS_P50_VALUE" | "READS_P95_VALUE" | "READS_P99_VALUE" | "WRITES_OPS" | "WRITES_LATENCY" | "AVERAGE_WRITES_LATENCY" | "WRITES_P50_VALUE" | "WRITES_P95_VALUE" | "WRITES_P99_VALUE" | "COMMANDS_OPS" | "COMMANDS_LATENCY" | "AVERAGE_COMMANDS_LATENCY" | "COMMANDS_P50_VALUE" | "COMMANDS_P95_VALUE" | "COMMANDS_P99_VALUE" | "TOTAL_OPS" | "TOTAL_LATENCY" | "AVERAGE_TOTAL_OPS_LATENCY" | "TOTAL_OPS_P50_VALUE" | "TOTAL_OPS_P95_VALUE" | "TOTAL_OPS_P99_VALUE"; export const ListGroupClusterCollStatMeasurementsRequestMetricsItem = S.String; export type ListGroupClusterCollStatMeasurementsRequestMetricsList = Array< ListGroupClusterCollStatMeasurementsRequestMetricsItem | (string & {}) >; export const ListGroupClusterCollStatMeasurementsRequestMetricsList = /*@__PURE__*/ S.Array( ListGroupClusterCollStatMeasurementsRequestMetricsItem, ) as any as S.Schema; export interface ListGroupClusterCollStatMeasurementsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster to retrieve metrics for. */ clusterName: string; /** Human-readable label that identifies the cluster topology to retrieve metrics for. */ clusterView: | ListGroupClusterCollStatMeasurementsRequestClusterView | (string & {}); /** Human-readable label that identifies the database. */ databaseName: string; /** Human-readable label that identifies the collection. */ collectionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** List that contains the metrics that you want to retrieve for the associated data series. If you don't set this parameter, this resource returns data series for all Coll Stats Latency metrics. */ metrics?: ListGroupClusterCollStatMeasurementsRequestMetricsList; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; } export const ListGroupClusterCollStatMeasurementsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), clusterView: ListGroupClusterCollStatMeasurementsRequestClusterView.pipe( T.Label(), ), databaseName: S.String.pipe(T.Label()), collectionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), metrics: S.optional( ListGroupClusterCollStatMeasurementsRequestMetricsList.pipe(T.Query()), ), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), period: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/{clusterView}/{databaseName}/{collectionName}/collStats/measurements", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "ListGroupClusterCollStatMeasurementsRequest", }) as any as S.Schema; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ export type MeasurementsCollStatsLatencyClusterGranularity = | "PT1M" | "PT5M" | "PT1H" | "P1D"; export const MeasurementsCollStatsLatencyClusterGranularity = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type MeasurementsCollStatsLatencyClusterLinksList = Array; export const MeasurementsCollStatsLatencyClusterLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List that contains measurements and their data points. */ export type MeasurementsCollStatsLatencyClusterMeasurementsList = Array; export const MeasurementsCollStatsLatencyClusterMeasurementsList = /*@__PURE__*/ S.Array( MetricsMeasurement, ) as any as S.Schema; export interface MeasurementsCollStatsLatencyCluster { /** Unique identifier for Clusters. */ clusterId?: string; /** Cluster topology view. */ clusterView?: string; /** Human-readable label that identifies the collection. */ collectionName?: string; /** Human-readable label that identifies the database that the specified MongoDB process serves. */ databaseName?: string; /** Date and time that specifies when to stop retrieving measurements. If you set **end**, you must set **start**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ end?: string; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ granularity?: MeasurementsCollStatsLatencyClusterGranularity; /** Unique 24-hexadecimal digit string that identifies the project. The project contains MongoDB processes that you want to return. The MongoDB process can be either the `mongod` or `mongos`. */ groupId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: MeasurementsCollStatsLatencyClusterLinksList; /** List that contains measurements and their data points. */ measurements?: MeasurementsCollStatsLatencyClusterMeasurementsList; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId?: string; /** Date and time that specifies when to start retrieving measurements. If you set **start**, you must set **end**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ start?: string; } export const MeasurementsCollStatsLatencyCluster = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterId: S.optional(S.String), clusterView: S.optional(S.String), collectionName: S.optional(S.String), databaseName: S.optional(S.String), end: S.optional(S.String), granularity: S.optional(MeasurementsCollStatsLatencyClusterGranularity), groupId: S.optional(S.String), links: S.optional(MeasurementsCollStatsLatencyClusterLinksList), measurements: S.optional( MeasurementsCollStatsLatencyClusterMeasurementsList, ), processId: S.optional(S.String), start: S.optional(S.String), }), ).annotate({ identifier: "MeasurementsCollStatsLatencyCluster", }) as any as S.Schema; export interface ListGroupClusterCollStatPinnedNamespacesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster to retrieve pinned namespaces for. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const ListGroupClusterCollStatPinnedNamespacesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collStats/pinned", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "ListGroupClusterCollStatPinnedNamespacesRequest", }) as any as S.Schema; /** List of all pinned namespaces. */ export type PinnedNamespacesPinnedNamespacesList = Array; export const PinnedNamespacesPinnedNamespacesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Pinned namespaces view for cluster. */ export interface PinnedNamespaces { /** Unique 24-hexadecimal digit string that identifies the request cluster. */ clusterId?: string; /** Unique 24-hexadecimal digit string that identifies the request project. */ groupId?: string; /** List of all pinned namespaces. */ pinnedNamespaces: PinnedNamespacesPinnedNamespacesList; } export const PinnedNamespaces = /*@__PURE__*/ S.suspend(() => S.Struct({ clusterId: S.optional(S.String), groupId: S.optional(S.String), pinnedNamespaces: PinnedNamespacesPinnedNamespacesList, }), ).annotate({ identifier: "PinnedNamespaces", }) as any as S.Schema; export interface ListGroupClusterOnlineArchivesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster that contains the collection for which you want to return the online archives. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterOnlineArchivesRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupClusterOnlineArchivesRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedOnlineArchiveViewLinksList = Array; export const PaginatedOnlineArchiveViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedOnlineArchiveViewResultsList = Array; export const PaginatedOnlineArchiveViewResultsList = /*@__PURE__*/ S.Array( BackupOnlineArchive, ) as any as S.Schema; export interface PaginatedOnlineArchiveView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedOnlineArchiveViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedOnlineArchiveViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedOnlineArchiveView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedOnlineArchiveViewLinksList), results: PaginatedOnlineArchiveViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedOnlineArchiveView", }) as any as S.Schema; export interface ListGroupClusterOverloadSimulationsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster on which the overload protection simulations are running. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterOverloadSimulationsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/overloadSimulations", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupClusterOverloadSimulationsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedOverloadProtectionSimulationResponseLinksList = Array; export const PaginatedOverloadProtectionSimulationResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedOverloadProtectionSimulationResponseResultsList = Array; export const PaginatedOverloadProtectionSimulationResponseResultsList = /*@__PURE__*/ S.Array( OverloadProtectionSimulationResponse, ) as any as S.Schema; /** List of overload protection simulations for a cluster. */ export interface PaginatedOverloadProtectionSimulationResponse { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedOverloadProtectionSimulationResponseLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedOverloadProtectionSimulationResponseResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedOverloadProtectionSimulationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedOverloadProtectionSimulationResponseLinksList), results: PaginatedOverloadProtectionSimulationResponseResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedOverloadProtectionSimulationResponse", }) as any as S.Schema; export interface ListGroupClusterPerformanceAdvisorDropIndexSuggestionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const ListGroupClusterPerformanceAdvisorDropIndexSuggestionsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/dropIndexSuggestions", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ListGroupClusterPerformanceAdvisorDropIndexSuggestionsRequest", }) as any as S.Schema; /** List that contains documents that specify a key in the index and its sort order. */ export type DropIndexSuggestionsIndexIndexList = Array; export const DropIndexSuggestionsIndexIndexList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; /** List that contains strings that specifies the shards where the index is found. */ export type DropIndexSuggestionsIndexShardsList = Array; export const DropIndexSuggestionsIndexShardsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DropIndexSuggestionsIndex { /** Usage count (since last restart) of index. */ accessCount?: number; /** List that contains documents that specify a key in the index and its sort order. */ index?: DropIndexSuggestionsIndexIndexList; /** Name of index. */ name?: string; /** Human-readable label that identifies the namespace on the specified host. The resource expresses this parameter value as `.`. */ namespace?: string; /** List that contains strings that specifies the shards where the index is found. */ shards?: DropIndexSuggestionsIndexShardsList; /** Date of most recent usage of index. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ since?: string; /** Size of index. */ sizeBytes?: number; } export const DropIndexSuggestionsIndex = /*@__PURE__*/ S.suspend(() => S.Struct({ accessCount: S.optional(S.Number), index: S.optional(DropIndexSuggestionsIndexIndexList), name: S.optional(S.String), namespace: S.optional(S.String), shards: S.optional(DropIndexSuggestionsIndexShardsList), since: S.optional(S.String), sizeBytes: S.optional(S.Number), }), ).annotate({ identifier: "DropIndexSuggestionsIndex", }) as any as S.Schema; /** List that contains the documents with information about the hidden indexes that the Performance Advisor suggests to remove. */ export type DropIndexSuggestionsResponseHiddenIndexesList = Array; export const DropIndexSuggestionsResponseHiddenIndexesList = /*@__PURE__*/ S.Array( DropIndexSuggestionsIndex, ) as any as S.Schema; /** List that contains the documents with information about the redundant indexes that the Performance Advisor suggests to remove. */ export type DropIndexSuggestionsResponseRedundantIndexesList = Array; export const DropIndexSuggestionsResponseRedundantIndexesList = /*@__PURE__*/ S.Array( DropIndexSuggestionsIndex, ) as any as S.Schema; /** List that contains the documents with information about the unused indexes that the Performance Advisor suggests to remove. */ export type DropIndexSuggestionsResponseUnusedIndexesList = Array; export const DropIndexSuggestionsResponseUnusedIndexesList = /*@__PURE__*/ S.Array( DropIndexSuggestionsIndex, ) as any as S.Schema; /** Response that contains Performance Advisor drop index suggestions. */ export interface DropIndexSuggestionsResponse { /** List that contains the documents with information about the hidden indexes that the Performance Advisor suggests to remove. */ hiddenIndexes?: DropIndexSuggestionsResponseHiddenIndexesList; /** List that contains the documents with information about the redundant indexes that the Performance Advisor suggests to remove. */ redundantIndexes?: DropIndexSuggestionsResponseRedundantIndexesList; /** List that contains the documents with information about the unused indexes that the Performance Advisor suggests to remove. */ unusedIndexes?: DropIndexSuggestionsResponseUnusedIndexesList; } export const DropIndexSuggestionsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ hiddenIndexes: S.optional(DropIndexSuggestionsResponseHiddenIndexesList), redundantIndexes: S.optional( DropIndexSuggestionsResponseRedundantIndexesList, ), unusedIndexes: S.optional(DropIndexSuggestionsResponseUnusedIndexesList), }), ).annotate({ identifier: "DropIndexSuggestionsResponse", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type EnvelopedDropIndexSuggestionsResponseLinksList = Array; export const EnvelopedDropIndexSuggestionsResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** URLs of resources created by this request. */ export type EnvelopedDropIndexSuggestionsResponseLocationsList = Array; export const EnvelopedDropIndexSuggestionsResponseLocationsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Response envelope that wraps the response payload in `content` and includes response metadata such as `status` and `locations`. */ export interface EnvelopedDropIndexSuggestionsResponse { content: DropIndexSuggestionsResponse; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: EnvelopedDropIndexSuggestionsResponseLinksList; /** URLs of resources created by this request. */ locations?: EnvelopedDropIndexSuggestionsResponseLocationsList; /** HTTP status code returned with this response. */ status: number; } export const EnvelopedDropIndexSuggestionsResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ content: DropIndexSuggestionsResponse, links: S.optional(EnvelopedDropIndexSuggestionsResponseLinksList), locations: S.optional(EnvelopedDropIndexSuggestionsResponseLocationsList), status: S.Number, }), ).annotate({ identifier: "EnvelopedDropIndexSuggestionsResponse", }) as any as S.Schema; export interface ListGroupClusterPerformanceAdvisorSchemaAdviceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const ListGroupClusterPerformanceAdvisorSchemaAdviceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/schemaAdvice", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ListGroupClusterPerformanceAdvisorSchemaAdviceRequest", }) as any as S.Schema; /** Type of trigger. */ export type SchemaAdvisorTriggerDetailsTriggerType = | "PERCENT_QUERIES_USE_LOOKUP" | "NUMBER_OF_QUERIES_USE_LOOKUP" | "DOCS_CONTAIN_UNBOUNDED_ARRAY" | "NUMBER_OF_NAMESPACES" | "DOC_SIZE_TOO_LARGE" | "NUM_INDEXES" | "QUERIES_CONTAIN_CASE_INSENSITIVE_REGEX"; export const SchemaAdvisorTriggerDetailsTriggerType = S.String; export interface SchemaAdvisorTriggerDetails { /** Description of the trigger type. */ description?: string; /** Type of trigger. */ triggerType?: SchemaAdvisorTriggerDetailsTriggerType; } export const SchemaAdvisorTriggerDetails = /*@__PURE__*/ S.suspend(() => S.Struct({ description: S.optional(S.String), triggerType: S.optional(SchemaAdvisorTriggerDetailsTriggerType), }), ).annotate({ identifier: "SchemaAdvisorTriggerDetails", }) as any as S.Schema; /** List of triggers that specify why the collection activated the recommendation. */ export type SchemaAdvisorNamespaceTriggersTriggersList = Array; export const SchemaAdvisorNamespaceTriggersTriggersList = /*@__PURE__*/ S.Array( SchemaAdvisorTriggerDetails, ) as any as S.Schema; export interface SchemaAdvisorNamespaceTriggers { /** Namespace of the affected collection. Will be null for `REDUCE_NUMBER_OF_NAMESPACE` recommendation. */ namespace?: string | null; /** List of triggers that specify why the collection activated the recommendation. */ triggers?: SchemaAdvisorNamespaceTriggersTriggersList; } export const SchemaAdvisorNamespaceTriggers = /*@__PURE__*/ S.suspend(() => S.Struct({ namespace: S.optional(S.NullOr(S.String)), triggers: S.optional(SchemaAdvisorNamespaceTriggersTriggersList), }), ).annotate({ identifier: "SchemaAdvisorNamespaceTriggers", }) as any as S.Schema; /** List that contains the namespaces and information on why those namespaces triggered the recommendation. */ export type SchemaAdvisorItemRecommendationAffectedNamespacesList = Array; export const SchemaAdvisorItemRecommendationAffectedNamespacesList = /*@__PURE__*/ S.Array( SchemaAdvisorNamespaceTriggers, ) as any as S.Schema; /** Type of recommendation. */ export type SchemaAdvisorItemRecommendationRecommendation = | "REDUCE_LOOKUP_OPS" | "AVOID_UNBOUNDED_ARRAY" | "REDUCE_DOCUMENT_SIZE" | "REMOVE_UNNECESSARY_INDEXES" | "REDUCE_NUMBER_OF_NAMESPACES" | "OPTIMIZE_CASE_INSENSITIVE_REGEX_QUERIES" | "OPTIMIZE_TEXT_QUERIES"; export const SchemaAdvisorItemRecommendationRecommendation = S.String; export interface SchemaAdvisorItemRecommendation { /** List that contains the namespaces and information on why those namespaces triggered the recommendation. */ affectedNamespaces?: SchemaAdvisorItemRecommendationAffectedNamespacesList; /** Description of the specified recommendation. */ description?: string; /** Type of recommendation. */ recommendation?: SchemaAdvisorItemRecommendationRecommendation; } export const SchemaAdvisorItemRecommendation = /*@__PURE__*/ S.suspend(() => S.Struct({ affectedNamespaces: S.optional( SchemaAdvisorItemRecommendationAffectedNamespacesList, ), description: S.optional(S.String), recommendation: S.optional(SchemaAdvisorItemRecommendationRecommendation), }), ).annotate({ identifier: "SchemaAdvisorItemRecommendation", }) as any as S.Schema; /** List that contains the documents with information about the schema advice that Performance Advisor suggests. */ export type SchemaAdvisorResponseRecommendationsList = Array; export const SchemaAdvisorResponseRecommendationsList = /*@__PURE__*/ S.Array( SchemaAdvisorItemRecommendation, ) as any as S.Schema; /** Response that contains Performance Advisor schema suggestions. */ export interface SchemaAdvisorResponse { /** List that contains the documents with information about the schema advice that Performance Advisor suggests. */ recommendations?: SchemaAdvisorResponseRecommendationsList; } export const SchemaAdvisorResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ recommendations: S.optional(SchemaAdvisorResponseRecommendationsList), }), ).annotate({ identifier: "SchemaAdvisorResponse", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type EnvelopedSchemaAdvisorResponseLinksList = Array; export const EnvelopedSchemaAdvisorResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** URLs of resources created by this request. */ export type EnvelopedSchemaAdvisorResponseLocationsList = Array; export const EnvelopedSchemaAdvisorResponseLocationsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Response envelope that wraps the response payload in `content` and includes response metadata such as `status` and `locations`. */ export interface EnvelopedSchemaAdvisorResponse { content: SchemaAdvisorResponse; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: EnvelopedSchemaAdvisorResponseLinksList; /** URLs of resources created by this request. */ locations?: EnvelopedSchemaAdvisorResponseLocationsList; /** HTTP status code returned with this response. */ status: number; } export const EnvelopedSchemaAdvisorResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ content: SchemaAdvisorResponse, links: S.optional(EnvelopedSchemaAdvisorResponseLinksList), locations: S.optional(EnvelopedSchemaAdvisorResponseLocationsList), status: S.Number, }), ).annotate({ identifier: "EnvelopedSchemaAdvisorResponse", }) as any as S.Schema; export type ListGroupClusterPerformanceAdvisorSuggestedIndexesRequestProcessIdsList = Array; export const ListGroupClusterPerformanceAdvisorSuggestedIndexesRequestProcessIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type ListGroupClusterPerformanceAdvisorSuggestedIndexesRequestNamespacesList = Array; export const ListGroupClusterPerformanceAdvisorSuggestedIndexesRequestNamespacesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ListGroupClusterPerformanceAdvisorSuggestedIndexesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Process IDs from which to retrieve suggested indexes. A `processId` is a combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. To include multiple `processIds`, pass the parameter multiple times delimited with an ampersand (`&`) between each `processId`. */ processIds?: ListGroupClusterPerformanceAdvisorSuggestedIndexesRequestProcessIdsList; /** Namespaces from which to retrieve suggested indexes. A namespace consists of one database and one collection resource written as `.`: `.`. To include multiple namespaces, pass the parameter multiple times delimited with an ampersand (`&`) between each namespace. Omit this parameter to return results for all namespaces. */ namespaces?: ListGroupClusterPerformanceAdvisorSuggestedIndexesRequestNamespacesList; /** Date and time from which the query retrieves the suggested indexes. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). - If you don't specify the **until** parameter, the endpoint returns data covering from the **since** value and the current time. - If you specify neither the **since** nor the **until** parameters, the endpoint returns data from the previous 24 hours. */ since?: number; /** Date and time up until which the query retrieves the suggested indexes. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). - If you specify the **until** parameter, you must specify the **since** parameter. - If you specify neither the **since** nor the **until** parameters, the endpoint returns data from the previous 24 hours. */ until?: number; } export const ListGroupClusterPerformanceAdvisorSuggestedIndexesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), processIds: S.optional( ListGroupClusterPerformanceAdvisorSuggestedIndexesRequestProcessIdsList.pipe( T.Query(), ), ), namespaces: S.optional( ListGroupClusterPerformanceAdvisorSuggestedIndexesRequestNamespacesList.pipe( T.Query(), ), ), since: S.optional(S.Number.pipe(T.Query())), until: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/suggestedIndexes", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ListGroupClusterPerformanceAdvisorSuggestedIndexesRequest", }) as any as S.Schema; /** List that contains the search criteria that the query uses. To use the values in key-value pairs in these predicates requires **Project Data Access Read Only** permissions or greater. Otherwise, MongoDB Cloud redacts these values. */ export type PerformanceAdvisorOperationViewPredicatesList = Array; export const PerformanceAdvisorOperationViewPredicatesList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; /** Details that this resource returned about the specified query. */ export interface PerformanceAdvisorOpStats { /** Length of time expressed during which the query finds suggested indexes among the managed namespaces in the cluster. This parameter expresses its value in milliseconds. This parameter relates to the **duration** query parameter. */ ms?: number; /** Number of results that the query returns. */ nReturned?: number; /** Number of documents that the query read. */ nScanned?: number; /** Date and time from which the query retrieves the suggested indexes. This parameter expresses its value in the number of seconds that have elapsed since the UNIX epoch. This parameter relates to the **since** query parameter. */ ts?: number; } export const PerformanceAdvisorOpStats = /*@__PURE__*/ S.suspend(() => S.Struct({ ms: S.optional(S.Number), nReturned: S.optional(S.Number), nScanned: S.optional(S.Number), ts: S.optional(S.Number), }), ).annotate({ identifier: "PerformanceAdvisorOpStats", }) as any as S.Schema; export interface PerformanceAdvisorOperationView { /** List that contains the search criteria that the query uses. To use the values in key-value pairs in these predicates requires **Project Data Access Read Only** permissions or greater. Otherwise, MongoDB Cloud redacts these values. */ predicates?: PerformanceAdvisorOperationViewPredicatesList; stats?: PerformanceAdvisorOpStats; } export const PerformanceAdvisorOperationView = /*@__PURE__*/ S.suspend(() => S.Struct({ predicates: S.optional(PerformanceAdvisorOperationViewPredicatesList), stats: S.optional(PerformanceAdvisorOpStats), }), ).annotate({ identifier: "PerformanceAdvisorOperationView", }) as any as S.Schema; /** List that contains specific about individual queries. */ export type PerformanceAdvisorShapeOperationsList = Array; export const PerformanceAdvisorShapeOperationsList = /*@__PURE__*/ S.Array( PerformanceAdvisorOperationView, ) as any as S.Schema; export interface PerformanceAdvisorShape { /** Average duration in milliseconds for the queries examined that match this shape. */ avgMs?: number; /** Number of queries examined that match this shape. */ count?: number; /** Unique 24-hexadecimal digit string that identifies this shape. This string exists only for the duration of this API request. */ id?: string; /** Average number of documents read for every document that the query returns. */ inefficiencyScore?: number; /** Human-readable label that identifies the namespace on the specified host. The resource expresses this parameter value as `.`. */ namespace?: string; /** List that contains specific about individual queries. */ operations?: PerformanceAdvisorShapeOperationsList; } export const PerformanceAdvisorShape = /*@__PURE__*/ S.suspend(() => S.Struct({ avgMs: S.optional(S.Number), count: S.optional(S.Number), id: S.optional(S.String), inefficiencyScore: S.optional(S.Number), namespace: S.optional(S.String), operations: S.optional(PerformanceAdvisorShapeOperationsList), }), ).annotate({ identifier: "PerformanceAdvisorShape", }) as any as S.Schema; /** List of query predicates, sorts, and projections that the Performance Advisor suggests. */ export type PerformanceAdvisorResponseShapesList = Array; export const PerformanceAdvisorResponseShapesList = /*@__PURE__*/ S.Array( PerformanceAdvisorShape, ) as any as S.Schema; /** List that contains unique 24-hexadecimal character string that identifies the query shapes in this response that the Performance Advisor suggests. */ export type PerformanceAdvisorIndexImpactList = Array; export const PerformanceAdvisorIndexImpactList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** One index key paired with its sort order. A value of `1` indicates an ascending sort order. A value of `-1` indicates a descending sort order. Keys in indexes with multiple keys appear in the same order that they appear in the index. */ export type PerformanceAdvisorIndexIndexItemValue = 1 | -1; export const PerformanceAdvisorIndexIndexItemValue = S.Number; /** One index key paired with its sort order. A value of `1` indicates an ascending sort order. A value of `-1` indicates a descending sort order. Keys in indexes with multiple keys appear in the same order that they appear in the index. */ export type PerformanceAdvisorIndexIndexItemMap = { [key: string]: PerformanceAdvisorIndexIndexItemValue | undefined; }; export const PerformanceAdvisorIndexIndexItemMap = /*@__PURE__*/ S.Record( S.String, PerformanceAdvisorIndexIndexItemValue, ) as any as S.Schema; /** List that contains documents that specify a key in the index and its sort order. */ export type PerformanceAdvisorIndexIndexList = Array; export const PerformanceAdvisorIndexIndexList = /*@__PURE__*/ S.Array( PerformanceAdvisorIndexIndexItemMap, ) as any as S.Schema; export interface PerformanceAdvisorIndex { /** The average size of an object in the collection of this index. */ avgObjSize?: number; /** Unique 24-hexadecimal digit string that identifies this index. */ id?: string; /** List that contains unique 24-hexadecimal character string that identifies the query shapes in this response that the Performance Advisor suggests. */ impact?: PerformanceAdvisorIndexImpactList; /** List that contains documents that specify a key in the index and its sort order. */ index?: PerformanceAdvisorIndexIndexList; /** Human-readable label that identifies the namespace on the specified host. The resource expresses this parameter value as `.`. */ namespace?: string; /** Estimated performance improvement that the suggested index provides. This value corresponds to **Impact** in the Performance Advisor user interface. */ weight?: number; } export const PerformanceAdvisorIndex = /*@__PURE__*/ S.suspend(() => S.Struct({ avgObjSize: S.optional(S.Number), id: S.optional(S.String), impact: S.optional(PerformanceAdvisorIndexImpactList), index: S.optional(PerformanceAdvisorIndexIndexList), namespace: S.optional(S.String), weight: S.optional(S.Number), }), ).annotate({ identifier: "PerformanceAdvisorIndex", }) as any as S.Schema; /** List that contains the documents with information about the indexes that the Performance Advisor suggests. */ export type PerformanceAdvisorResponseSuggestedIndexesList = Array; export const PerformanceAdvisorResponseSuggestedIndexesList = /*@__PURE__*/ S.Array( PerformanceAdvisorIndex, ) as any as S.Schema; /** Response that contains Performance Advisor suggested indexes and query shapes. */ export interface PerformanceAdvisorResponse { /** List of query predicates, sorts, and projections that the Performance Advisor suggests. */ shapes?: PerformanceAdvisorResponseShapesList; /** List that contains the documents with information about the indexes that the Performance Advisor suggests. */ suggestedIndexes?: PerformanceAdvisorResponseSuggestedIndexesList; } export const PerformanceAdvisorResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ shapes: S.optional(PerformanceAdvisorResponseShapesList), suggestedIndexes: S.optional( PerformanceAdvisorResponseSuggestedIndexesList, ), }), ).annotate({ identifier: "PerformanceAdvisorResponse", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type EnvelopedPerformanceAdvisorResponseLinksList = Array; export const EnvelopedPerformanceAdvisorResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** URLs of resources created by this request. */ export type EnvelopedPerformanceAdvisorResponseLocationsList = Array; export const EnvelopedPerformanceAdvisorResponseLocationsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Response envelope that wraps the response payload in `content` and includes response metadata such as `status` and `locations`. */ export interface EnvelopedPerformanceAdvisorResponse { content: PerformanceAdvisorResponse; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: EnvelopedPerformanceAdvisorResponseLinksList; /** URLs of resources created by this request. */ locations?: EnvelopedPerformanceAdvisorResponseLocationsList; /** HTTP status code returned with this response. */ status: number; } export const EnvelopedPerformanceAdvisorResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ content: PerformanceAdvisorResponse, links: S.optional(EnvelopedPerformanceAdvisorResponseLinksList), locations: S.optional(EnvelopedPerformanceAdvisorResponseLocationsList), status: S.Number, }), ).annotate({ identifier: "EnvelopedPerformanceAdvisorResponse", }) as any as S.Schema; export type ListGroupClusterProviderRegionsRequestProvidersList = Array; export const ListGroupClusterProviderRegionsRequestProvidersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ListGroupClusterProviderRegionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Cloud providers whose regions to retrieve. When you specify multiple providers, the response can return only tiers and regions that support multi-cloud clusters. */ providers?: ListGroupClusterProviderRegionsRequestProvidersList; /** Cluster tier for which to retrieve the regions. */ tier?: string; } export const ListGroupClusterProviderRegionsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), providers: S.optional( ListGroupClusterProviderRegionsRequestProvidersList.pipe(T.Query()), ), tier: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/provider/regions", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupClusterProviderRegionsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasProviderRegionsViewLinksList = Array; export const PaginatedApiAtlasProviderRegionsViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface AvailableCloudProviderRegion { /** Flag that indicates whether the cloud provider sets this region as its default. AWS defaults to `US_EAST_1`, GCP defaults to `CENTRAL_US`, and AZURE defaults to `US_WEST_2`. */ default?: boolean; /** Human-readable label that identifies the supported region. */ name?: string; } export const AvailableCloudProviderRegion = /*@__PURE__*/ S.suspend(() => S.Struct({ default: S.optional(S.Boolean), name: S.optional(S.String), }), ).annotate({ identifier: "AvailableCloudProviderRegion", }) as any as S.Schema; /** List of regions that this cloud provider supports for this instance size. */ export type ClusterCloudProviderInstanceSizeAvailableRegionsList = Array; export const ClusterCloudProviderInstanceSizeAvailableRegionsList = /*@__PURE__*/ S.Array( AvailableCloudProviderRegion, ) as any as S.Schema; export interface ClusterCloudProviderInstanceSize { /** List of regions that this cloud provider supports for this instance size. */ availableRegions?: ClusterCloudProviderInstanceSizeAvailableRegionsList; /** Human-readable label that identifies the instance size or cluster tier. */ name?: string; } export const ClusterCloudProviderInstanceSize = /*@__PURE__*/ S.suspend(() => S.Struct({ availableRegions: S.optional( ClusterCloudProviderInstanceSizeAvailableRegionsList, ), name: S.optional(S.String), }), ).annotate({ identifier: "ClusterCloudProviderInstanceSize", }) as any as S.Schema; /** List of instances sizes that this cloud provider supports. */ export type CloudProviderRegionsInstanceSizesList = Array; export const CloudProviderRegionsInstanceSizesList = /*@__PURE__*/ S.Array( ClusterCloudProviderInstanceSize, ) as any as S.Schema; /** Human-readable label that identifies the Cloud provider. */ export type CloudProviderRegionsProvider = "AWS" | "GCP" | "AZURE"; export const CloudProviderRegionsProvider = S.String; export interface CloudProviderRegions { /** List of instances sizes that this cloud provider supports. */ instanceSizes?: CloudProviderRegionsInstanceSizesList; /** Human-readable label that identifies the Cloud provider. */ provider?: CloudProviderRegionsProvider; } export const CloudProviderRegions = /*@__PURE__*/ S.suspend(() => S.Struct({ instanceSizes: S.optional(CloudProviderRegionsInstanceSizesList), provider: S.optional(CloudProviderRegionsProvider), }), ).annotate({ identifier: "CloudProviderRegions", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasProviderRegionsViewResultsList = Array; export const PaginatedApiAtlasProviderRegionsViewResultsList = /*@__PURE__*/ S.Array( CloudProviderRegions, ) as any as S.Schema; export interface PaginatedApiAtlasProviderRegionsView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasProviderRegionsViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasProviderRegionsViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasProviderRegionsView = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedApiAtlasProviderRegionsViewLinksList), results: PaginatedApiAtlasProviderRegionsViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasProviderRegionsView", }) as any as S.Schema; export type ListGroupClusterQueryShapeInsightSummariesRequestProcessIdsList = Array; export const ListGroupClusterQueryShapeInsightSummariesRequestProcessIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type ListGroupClusterQueryShapeInsightSummariesRequestNamespacesList = Array; export const ListGroupClusterQueryShapeInsightSummariesRequestNamespacesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type ListGroupClusterQueryShapeInsightSummariesRequestCommandsItem = | "find" | "distinct" | "aggregate"; export const ListGroupClusterQueryShapeInsightSummariesRequestCommandsItem = S.String; /** MongoDB commands from which to retrieve query statistics. To include multiple commands, pass the parameter multiple times delimited with an ampersand (`&`) between each command. Omit this parameter to return results for all supported commands. */ export type ListGroupClusterQueryShapeInsightSummariesRequestCommandsList = Array< | ListGroupClusterQueryShapeInsightSummariesRequestCommandsItem | (string & {}) >; export const ListGroupClusterQueryShapeInsightSummariesRequestCommandsList = /*@__PURE__*/ S.Array( ListGroupClusterQueryShapeInsightSummariesRequestCommandsItem, ) as any as S.Schema; export type ListGroupClusterQueryShapeInsightSummariesRequestSeriesItem = | "TOTAL_EXECUTION_TIME" | "AVG_EXECUTION_TIME" | "EXECUTION_COUNT" | "KEYS_EXAMINED" | "DOCS_EXAMINED" | "DOCS_RETURNED" | "TOTAL_TIME_TO_RESPONSE" | "BYTES_READ" | "CPU_TIME" | "KEYS_EXAMINED_RETURNED" | "DOCS_EXAMINED_RETURNED" | "LAST_EXECUTION_TIME" | "P50_EXECUTION_TIME" | "P90_EXECUTION_TIME" | "P99_EXECUTION_TIME"; export const ListGroupClusterQueryShapeInsightSummariesRequestSeriesItem = S.String; /** Query shape statistics data series to retrieve. A series represents a specific metric about query execution. To include multiple series, pass the parameter multiple times delimited with an ampersand (`&`) between each series. Omit this parameter to return results for all available series. The `P50_EXECUTION_TIME`, `P90_EXECUTION_TIME`, and `P99_EXECUTION_TIME` series are deprecated as the values they report may be inaccurate. They will be removed in a future release. */ export type ListGroupClusterQueryShapeInsightSummariesRequestSeriesList = Array< ListGroupClusterQueryShapeInsightSummariesRequestSeriesItem | (string & {}) >; export const ListGroupClusterQueryShapeInsightSummariesRequestSeriesList = /*@__PURE__*/ S.Array( ListGroupClusterQueryShapeInsightSummariesRequestSeriesItem, ) as any as S.Schema; /** A list of SHA256 hashes of desired query shapes, output by MongoDB commands like `$queryStats` and `$explain` or slow query logs. To include multiple series, pass the parameter multiple times delimited with an ampersand (`&`) between each series. Omit this parameter to return results for all available series. */ export type ListGroupClusterQueryShapeInsightSummariesRequestQueryShapeHashesList = Array; export const ListGroupClusterQueryShapeInsightSummariesRequestQueryShapeHashesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ListGroupClusterQueryShapeInsightSummariesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Date and time from which to retrieve query shape statistics. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). - If you don't specify the **until** parameter, the endpoint returns data covering from the **since** value and the current time. - If you specify neither the **since** nor the **until** parameters, the endpoint returns data from the previous 24 hours. */ since?: number; /** Date and time up until which to retrieve query shape statistics. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). - If you specify the **until** parameter, you must specify the **since** parameter. - If you specify neither the **since** nor the **until** parameters, the endpoint returns data from the previous 24 hours. */ until?: number; /** Process IDs from which to retrieve query shape statistics. A `processId` is a combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. To include multiple `processId`, pass the parameter multiple times delimited with an ampersand (`&`) between each `processId`. */ processIds?: ListGroupClusterQueryShapeInsightSummariesRequestProcessIdsList; /** Namespaces from which to retrieve query shape statistics. A namespace consists of one database and one collection resource written as `.`: `.`. To include multiple namespaces, pass the parameter multiple times delimited with an ampersand (`&`) between each namespace. Omit this parameter to return results for all namespaces. */ namespaces?: ListGroupClusterQueryShapeInsightSummariesRequestNamespacesList; /** Retrieve query shape statistics matching specified MongoDB commands. To include multiple commands, pass the parameter multiple times delimited with an ampersand (`&`) between each command. The currently supported parameters are find, distinct, and aggregate. Omit this parameter to return results for all supported commands. */ commands?: ListGroupClusterQueryShapeInsightSummariesRequestCommandsList; /** Maximum number of query statistic summaries to return. */ nSummaries?: number; /** Query shape statistics data series to retrieve. A series represents a specific metric about query execution. To include multiple series, pass the parameter multiple times delimited with an ampersand (`&`) between each series. Omit this parameter to return results for all available series. The `P50_EXECUTION_TIME`, `P90_EXECUTION_TIME`, and `P99_EXECUTION_TIME` series are deprecated as the values they report may be inaccurate. They will be removed in a future release. */ series?: ListGroupClusterQueryShapeInsightSummariesRequestSeriesList; /** A list of SHA256 hashes of desired query shapes, output by MongoDB commands like `$queryStats` and $explain or slow query logs. To include multiple series, pass the parameter multiple times delimited with an ampersand (`&`) between each series. Omit this parameter to return results for all available series. */ queryShapeHashes?: ListGroupClusterQueryShapeInsightSummariesRequestQueryShapeHashesList; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterQueryShapeInsightSummariesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), since: S.optional(S.Number.pipe(T.Query())), until: S.optional(S.Number.pipe(T.Query())), processIds: S.optional( ListGroupClusterQueryShapeInsightSummariesRequestProcessIdsList.pipe( T.Query(), ), ), namespaces: S.optional( ListGroupClusterQueryShapeInsightSummariesRequestNamespacesList.pipe( T.Query(), ), ), commands: S.optional( ListGroupClusterQueryShapeInsightSummariesRequestCommandsList.pipe( T.Query(), ), ), nSummaries: S.optional(S.Number.pipe(T.Query())), series: S.optional( ListGroupClusterQueryShapeInsightSummariesRequestSeriesList.pipe( T.Query(), ), ), queryShapeHashes: S.optional( ListGroupClusterQueryShapeInsightSummariesRequestQueryShapeHashesList.pipe( T.Query(), ), ), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapeInsights/summaries", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupClusterQueryShapeInsightSummariesRequest", }) as any as S.Schema; /** List of query shape statistic summaries from Query Shape Insights. */ export type QueryStatsSummaryListResponseSummariesList = Array; export const QueryStatsSummaryListResponseSummariesList = /*@__PURE__*/ S.Array( QueryStatsSummary, ) as any as S.Schema; export interface QueryStatsSummaryListResponse { /** List of query shape statistic summaries from Query Shape Insights. */ summaries?: QueryStatsSummaryListResponseSummariesList; } export const QueryStatsSummaryListResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ summaries: S.optional(QueryStatsSummaryListResponseSummariesList), }), ).annotate({ identifier: "QueryStatsSummaryListResponse", }) as any as S.Schema; export type ListGroupClusterQueryShapesRequestStatus = "REJECTED"; export const ListGroupClusterQueryShapesRequestStatus = S.String; export interface ListGroupClusterQueryShapesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** The status of query shapes to retrieve. Only REJECTED status is supported. If omitted, defaults to REJECTED. */ status?: ListGroupClusterQueryShapesRequestStatus | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterQueryShapesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), status: S.optional( ListGroupClusterQueryShapesRequestStatus.pipe(T.Query()), ), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapes", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupClusterQueryShapesRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedQueryShapesLinksList = Array; export const PaginatedQueryShapesLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedQueryShapesResultsList = Array; export const PaginatedQueryShapesResultsList = /*@__PURE__*/ S.Array( QueryShapeResponse, ) as any as S.Schema; /** Paginated collection of query shapes. This endpoint returns a maximum of 100 results. */ export interface PaginatedQueryShapes { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedQueryShapesLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedQueryShapesResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedQueryShapes = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedQueryShapesLinksList), results: PaginatedQueryShapesResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedQueryShapes", }) as any as S.Schema; export interface ListGroupClustersRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether to return Clusters with retain backups. */ includeDeletedWithRetainedBackups?: boolean; } export const ListGroupClustersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), includeDeletedWithRetainedBackups: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ListGroupClustersRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedClusterDescription20240805LinksList = Array; export const PaginatedClusterDescription20240805LinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedClusterDescription20240805ResultsList = Array; export const PaginatedClusterDescription20240805ResultsList = /*@__PURE__*/ S.Array( ClusterDescription20240805, ) as any as S.Schema; export interface PaginatedClusterDescription20240805 { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedClusterDescription20240805LinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedClusterDescription20240805ResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedClusterDescription20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedClusterDescription20240805LinksList), results: PaginatedClusterDescription20240805ResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedClusterDescription20240805", }) as any as S.Schema; export interface ListGroupClusterSearchIndexRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Name of the cluster that contains the collection with one or more Atlas Search indexes. */ clusterName: string; /** Label that identifies the database that contains the collection with one or more Atlas Search indexes. */ databaseName: string; /** Name of the collection that contains one or more Atlas Search indexes. */ collectionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterSearchIndexRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), collectionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "ListGroupClusterSearchIndexRequest", }) as any as S.Schema; /** List of Atlas Search indexes that MongoDB Cloud returns for this request. */ export type ListGroupClusterSearchIndexResponseBodyList = Array; export const ListGroupClusterSearchIndexResponseBodyList = /*@__PURE__*/ S.Array( SearchIndexResponse, ) as any as S.Schema; export type ListGroupClusterSearchIndexResponse = ListGroupClusterSearchIndexResponseBodyList; export const ListGroupClusterSearchIndexResponse = /*@__PURE__*/ S.suspend(() => ListGroupClusterSearchIndexResponseBodyList.pipe(T.RawResponseRoot()), ).annotate({ identifier: "ListGroupClusterSearchIndexResponse", }) as any as S.Schema; export interface ListGroupClusterSearchIndexesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Name of the cluster that contains the collection with one or more Atlas Search indexes. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupClusterSearchIndexesRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "ListGroupClusterSearchIndexesRequest", }) as any as S.Schema; /** List of Atlas Search indexes that MongoDB Cloud returns for this request. */ export type ListGroupClusterSearchIndexesResponseBodyList = Array; export const ListGroupClusterSearchIndexesResponseBodyList = /*@__PURE__*/ S.Array( SearchIndexResponse, ) as any as S.Schema; export type ListGroupClusterSearchIndexesResponse = ListGroupClusterSearchIndexesResponseBodyList; export const ListGroupClusterSearchIndexesResponse = /*@__PURE__*/ S.suspend( () => ListGroupClusterSearchIndexesResponseBodyList.pipe(T.RawResponseRoot()), ).annotate({ identifier: "ListGroupClusterSearchIndexesResponse", }) as any as S.Schema; export interface ListGroupCollStatMetricsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const ListGroupCollStatMetricsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/collStats/metrics", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "ListGroupCollStatMetricsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type CollStatsLatencyNamespaceMetricsLinksList = Array; export const CollStatsLatencyNamespaceMetricsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Human-readable label that identifies this metric. */ export type CollStatsLatencyNamespaceMetricMetricName = | "READS_OPS" | "READS_LATENCY" | "AVERAGE_READS_LATENCY" | "READS_P50_VALUE" | "READS_P95_VALUE" | "READS_P99_VALUE" | "WRITES_OPS" | "WRITES_LATENCY" | "AVERAGE_WRITES_LATENCY" | "WRITES_P50_VALUE" | "WRITES_P95_VALUE" | "WRITES_P99_VALUE" | "COMMANDS_OPS" | "COMMANDS_LATENCY" | "AVERAGE_COMMANDS_LATENCY" | "COMMANDS_P50_VALUE" | "COMMANDS_P95_VALUE" | "COMMANDS_P99_VALUE" | "TOTAL_OPS" | "TOTAL_LATENCY" | "AVERAGE_TOTAL_OPS_LATENCY" | "TOTAL_OPS_P50_VALUE" | "TOTAL_OPS_P95_VALUE" | "TOTAL_OPS_P99_VALUE"; export const CollStatsLatencyNamespaceMetricMetricName = S.String; /** Unit of measurement that applies to this metric. */ export type CollStatsLatencyNamespaceMetricUnits = "MILLISECONDS"; export const CollStatsLatencyNamespaceMetricUnits = S.String; /** Coll Stats Latency metric name and its unit of measurement. */ export interface CollStatsLatencyNamespaceMetric { /** Human-readable label that identifies this metric. */ metricName: CollStatsLatencyNamespaceMetricMetricName | null; /** Unit of measurement that applies to this metric. */ units: CollStatsLatencyNamespaceMetricUnits | null; } export const CollStatsLatencyNamespaceMetric = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.NullOr(CollStatsLatencyNamespaceMetricMetricName), units: S.NullOr(CollStatsLatencyNamespaceMetricUnits), }), ).annotate({ identifier: "CollStatsLatencyNamespaceMetric", }) as any as S.Schema; /** List of Coll Stats Latency metric names and their respective units. */ export type CollStatsLatencyNamespaceMetricsMetricsList = Array; export const CollStatsLatencyNamespaceMetricsMetricsList = /*@__PURE__*/ S.Array( CollStatsLatencyNamespaceMetric, ) as any as S.Schema; export interface CollStatsLatencyNamespaceMetrics { /** Unique 24-hexadecimal digit string that identifies the project. */ groupId: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: CollStatsLatencyNamespaceMetricsLinksList; /** List of Coll Stats Latency metric names and their respective units. */ metrics: CollStatsLatencyNamespaceMetricsMetricsList; } export const CollStatsLatencyNamespaceMetrics = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String, links: S.optional(CollStatsLatencyNamespaceMetricsLinksList), metrics: CollStatsLatencyNamespaceMetricsMetricsList, }), ).annotate({ identifier: "CollStatsLatencyNamespaceMetrics", }) as any as S.Schema; export interface ListGroupContainerAllRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupContainerAllRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/containers/all", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupContainerAllRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedCloudProviderContainerViewLinksList = Array; export const PaginatedCloudProviderContainerViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedCloudProviderContainerViewResultsList = Array; export const PaginatedCloudProviderContainerViewResultsList = /*@__PURE__*/ S.Array( CloudProviderContainer, ) as any as S.Schema; /** List of Network Peering Containers that Amazon Web Services serves. */ export interface PaginatedCloudProviderContainerView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedCloudProviderContainerViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedCloudProviderContainerViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedCloudProviderContainerView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedCloudProviderContainerViewLinksList), results: PaginatedCloudProviderContainerViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedCloudProviderContainerView", }) as any as S.Schema; export type ListGroupContainersRequestProviderName = "AWS" | "AZURE" | "GCP"; export const ListGroupContainersRequestProviderName = S.String; export interface ListGroupContainersRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Cloud service provider that serves the desired network peering containers. */ providerName: ListGroupContainersRequestProviderName | (string & {}); } export const ListGroupContainersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), providerName: ListGroupContainersRequestProviderName.pipe(T.Query()), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/containers", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupContainersRequest", }) as any as S.Schema; export interface ListGroupCustomDbRoleRolesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupCustomDbRoleRolesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/customDBRoles/roles", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupCustomDbRoleRolesRequest", }) as any as S.Schema; export type ListGroupCustomDbRoleRolesResponseBodyList = Array; export const ListGroupCustomDbRoleRolesResponseBodyList = /*@__PURE__*/ S.Array( UserCustomDBRole, ) as any as S.Schema; export type ListGroupCustomDbRoleRolesResponse = ListGroupCustomDbRoleRolesResponseBodyList; export const ListGroupCustomDbRoleRolesResponse = /*@__PURE__*/ S.suspend(() => ListGroupCustomDbRoleRolesResponseBodyList.pipe(T.RawResponseRoot()), ).annotate({ identifier: "ListGroupCustomDbRoleRolesResponse", }) as any as S.Schema; export interface ListGroupDatabaseUserCertsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that represents the MongoDB database user account whose certificates you want to return. */ username: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupDatabaseUserCertsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), username: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/databaseUsers/{username}/certs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupDatabaseUserCertsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedUserCertViewOutputLinksList = Array; export const PaginatedUserCertViewOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type UserCertOutputLinksList = Array; export const UserCertOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface UserCertOutput { /** Unique 24-hexadecimal character string that identifies this certificate. */ _id?: number; /** Date and time when MongoDB Cloud created this certificate. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** Unique 24-hexadecimal character string that identifies the project. */ groupId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: UserCertOutputLinksList; /** Date and time when this certificate expires. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ notAfter?: string; /** Subject Alternative Name associated with this certificate. This parameter expresses its value as a distinguished name as defined in RFC 2253. */ subject?: string; } export const UserCertOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.Number), createdAt: S.optional(S.String), groupId: S.optional(S.String), links: S.optional(UserCertOutputLinksList), notAfter: S.optional(S.String), subject: S.optional(S.String), }), ).annotate({ identifier: "UserCertOutput" }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedUserCertViewOutputResultsList = Array; export const PaginatedUserCertViewOutputResultsList = /*@__PURE__*/ S.Array( UserCertOutput, ) as any as S.Schema; export interface PaginatedUserCertViewOutput { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedUserCertViewOutputLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedUserCertViewOutputResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedUserCertViewOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedUserCertViewOutputLinksList), results: PaginatedUserCertViewOutputResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedUserCertViewOutput", }) as any as S.Schema; export interface ListGroupDatabaseUsersRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupDatabaseUsersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/databaseUsers", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupDatabaseUsersRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasDatabaseUserViewOutputLinksList = Array; export const PaginatedApiAtlasDatabaseUserViewOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasDatabaseUserViewOutputResultsList = Array; export const PaginatedApiAtlasDatabaseUserViewOutputResultsList = /*@__PURE__*/ S.Array( CloudDatabaseUserOutput, ) as any as S.Schema; /** List of MongoDB Database users granted access to databases in the specified project. */ export interface PaginatedApiAtlasDatabaseUserViewOutput { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasDatabaseUserViewOutputLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasDatabaseUserViewOutputResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasDatabaseUserViewOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedApiAtlasDatabaseUserViewOutputLinksList), results: PaginatedApiAtlasDatabaseUserViewOutputResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasDatabaseUserViewOutput", }) as any as S.Schema; export type ListGroupDataFederationRequestType = "USER" | "ONLINE_ARCHIVE"; export const ListGroupDataFederationRequestType = S.String; export interface ListGroupDataFederationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Type of Federated Database Instances to return. */ type?: ListGroupDataFederationRequestType | (string & {}); } export const ListGroupDataFederationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), type: S.optional(ListGroupDataFederationRequestType.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/dataFederation", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupDataFederationRequest", }) as any as S.Schema; export type ListGroupDataFederationResponseBodyList = Array; export const ListGroupDataFederationResponseBodyList = /*@__PURE__*/ S.Array( DataLakeTenantOutput, ) as any as S.Schema; export type ListGroupDataFederationResponse = ListGroupDataFederationResponseBodyList; export const ListGroupDataFederationResponse = /*@__PURE__*/ S.suspend(() => ListGroupDataFederationResponseBodyList.pipe(T.RawResponseRoot()), ).annotate({ identifier: "ListGroupDataFederationResponse", }) as any as S.Schema; export interface ListGroupDataFederationLimitsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the federated database instance for which you want to retrieve query limits. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupDataFederationLimitsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/limits", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupDataFederationLimitsRequest", }) as any as S.Schema; export type ListGroupDataFederationLimitsResponseBodyList = Array; export const ListGroupDataFederationLimitsResponseBodyList = /*@__PURE__*/ S.Array( DataFederationTenantQueryLimit, ) as any as S.Schema; export type ListGroupDataFederationLimitsResponse = ListGroupDataFederationLimitsResponseBodyList; export const ListGroupDataFederationLimitsResponse = /*@__PURE__*/ S.suspend( () => ListGroupDataFederationLimitsResponseBodyList.pipe(T.RawResponseRoot()), ).annotate({ identifier: "ListGroupDataFederationLimitsResponse", }) as any as S.Schema; export type ListGroupEncryptionAtRestPrivateEndpointsRequestCloudProvider = | "AZURE" | "AWS"; export const ListGroupEncryptionAtRestPrivateEndpointsRequestCloudProvider = S.String; export interface ListGroupEncryptionAtRestPrivateEndpointsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cloud provider for the private endpoints to return. */ cloudProvider: | ListGroupEncryptionAtRestPrivateEndpointsRequestCloudProvider | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; } export const ListGroupEncryptionAtRestPrivateEndpointsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: ListGroupEncryptionAtRestPrivateEndpointsRequestCloudProvider.pipe( T.Label(), ), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/encryptionAtRest/{cloudProvider}/privateEndpoints", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupEncryptionAtRestPrivateEndpointsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasEARPrivateEndpointViewLinksList = Array; export const PaginatedApiAtlasEARPrivateEndpointViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasEARPrivateEndpointViewResultsList = Array; export const PaginatedApiAtlasEARPrivateEndpointViewResultsList = /*@__PURE__*/ S.Array( EARPrivateEndpoint, ) as any as S.Schema; export interface PaginatedApiAtlasEARPrivateEndpointView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasEARPrivateEndpointViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasEARPrivateEndpointViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasEARPrivateEndpointView = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedApiAtlasEARPrivateEndpointViewLinksList), results: PaginatedApiAtlasEARPrivateEndpointViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasEARPrivateEndpointView", }) as any as S.Schema; export type ListGroupEventsRequestClusterNamesList = Array; export const ListGroupEventsRequestClusterNamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type ListGroupEventsRequestEventTypeList = Array; export const ListGroupEventsRequestEventTypeList = /*@__PURE__*/ S.Array( EventTypeForNdsGroup, ) as any as S.Schema; export type ListGroupEventsRequestExcludedEventTypeList = Array; export const ListGroupEventsRequestExcludedEventTypeList = /*@__PURE__*/ S.Array( EventTypeForNdsGroup, ) as any as S.Schema; export interface ListGroupEventsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the cluster. */ clusterNames?: ListGroupEventsRequestClusterNamesList; /** Category of incident recorded at this moment in time. **IMPORTANT**: The complete list of event type values changes frequently. */ eventType?: ListGroupEventsRequestEventTypeList; /** Category of event that you would like to exclude from query results, such as `CLUSTER_CREATED`. **IMPORTANT**: Event type names change frequently. Verify that you specify the event type correctly by checking the complete list of event types. */ excludedEventType?: ListGroupEventsRequestExcludedEventTypeList; /** Flag that indicates whether to include the raw document in the output. The raw document contains additional meta information about the event. */ includeRaw?: boolean; /** Date and time from when MongoDB Cloud stops returning events. This parameter uses the ISO 8601 timestamp format in UTC. */ maxDate?: string; /** Date and time from when MongoDB Cloud starts returning events. This parameter uses the ISO 8601 timestamp format in UTC. */ minDate?: string; } export const ListGroupEventsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), clusterNames: S.optional( ListGroupEventsRequestClusterNamesList.pipe(T.Query()), ), eventType: S.optional(ListGroupEventsRequestEventTypeList.pipe(T.Query())), excludedEventType: S.optional( ListGroupEventsRequestExcludedEventTypeList.pipe(T.Query()), ), includeRaw: S.optional(S.Boolean.pipe(T.Query())), maxDate: S.optional(S.String.pipe(T.Query())), minDate: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/events", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupEventsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type GroupPaginatedEventViewLinksList = Array; export const GroupPaginatedEventViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type GroupPaginatedEventViewResultsList = Array; export const GroupPaginatedEventViewResultsList = /*@__PURE__*/ S.Array( EventViewForNdsGroup, ) as any as S.Schema; export interface GroupPaginatedEventView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: GroupPaginatedEventViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: GroupPaginatedEventViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const GroupPaginatedEventView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(GroupPaginatedEventViewLinksList), results: GroupPaginatedEventViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "GroupPaginatedEventView", }) as any as S.Schema; export interface ListGroupFlexClusterBackupRestoreJobsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the flex cluster. */ name: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupFlexClusterBackupRestoreJobsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/restoreJobs", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "ListGroupFlexClusterBackupRestoreJobsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasFlexBackupRestoreJob20241113ViewLinksList = Array; export const PaginatedApiAtlasFlexBackupRestoreJob20241113ViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasFlexBackupRestoreJob20241113ViewResultsList = Array; export const PaginatedApiAtlasFlexBackupRestoreJob20241113ViewResultsList = /*@__PURE__*/ S.Array( FlexBackupRestoreJob20241113, ) as any as S.Schema; export interface PaginatedApiAtlasFlexBackupRestoreJob20241113View { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasFlexBackupRestoreJob20241113ViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasFlexBackupRestoreJob20241113ViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasFlexBackupRestoreJob20241113View = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional( PaginatedApiAtlasFlexBackupRestoreJob20241113ViewLinksList, ), results: PaginatedApiAtlasFlexBackupRestoreJob20241113ViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasFlexBackupRestoreJob20241113View", }) as any as S.Schema; export interface ListGroupFlexClusterBackupSnapshotsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the flex cluster. */ name: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; } export const ListGroupFlexClusterBackupSnapshotsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/snapshots", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "ListGroupFlexClusterBackupSnapshotsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiAtlasFlexBackupSnapshot20241113ViewLinksList = Array; export const PaginatedApiAtlasFlexBackupSnapshot20241113ViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiAtlasFlexBackupSnapshot20241113ViewResultsList = Array; export const PaginatedApiAtlasFlexBackupSnapshot20241113ViewResultsList = /*@__PURE__*/ S.Array( FlexBackupSnapshot20241113, ) as any as S.Schema; export interface PaginatedApiAtlasFlexBackupSnapshot20241113View { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiAtlasFlexBackupSnapshot20241113ViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiAtlasFlexBackupSnapshot20241113ViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiAtlasFlexBackupSnapshot20241113View = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional( PaginatedApiAtlasFlexBackupSnapshot20241113ViewLinksList, ), results: PaginatedApiAtlasFlexBackupSnapshot20241113ViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiAtlasFlexBackupSnapshot20241113View", }) as any as S.Schema; export interface ListGroupFlexClustersRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupFlexClustersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/flexClusters", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "ListGroupFlexClustersRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedFlexClusters20241113LinksList = Array; export const PaginatedFlexClusters20241113LinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedFlexClusters20241113ResultsList = Array; export const PaginatedFlexClusters20241113ResultsList = /*@__PURE__*/ S.Array( FlexClusterDescription20241113, ) as any as S.Schema; export interface PaginatedFlexClusters20241113 { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedFlexClusters20241113LinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedFlexClusters20241113ResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedFlexClusters20241113 = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedFlexClusters20241113LinksList), results: PaginatedFlexClusters20241113ResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedFlexClusters20241113", }) as any as S.Schema; export type ListGroupHostFtsMetricIndexMeasurementsRequestMetricsItem = | "INDEX_SIZE_ON_DISK" | "NUMBER_OF_DELETES" | "NUMBER_OF_ERROR_QUERIES" | "NUMBER_OF_GETMORE_COMMANDS" | "NUMBER_OF_INDEX_FIELDS" | "NUMBER_OF_INSERTS" | "NUMBER_OF_SUCCESS_QUERIES" | "NUMBER_OF_UPDATES" | "REPLICATION_LAG" | "TOTAL_NUMBER_OF_QUERIES"; export const ListGroupHostFtsMetricIndexMeasurementsRequestMetricsItem = S.String; /** List that contains the measurements that MongoDB Atlas reports for the associated data series. */ export type ListGroupHostFtsMetricIndexMeasurementsRequestMetricsList = Array< ListGroupHostFtsMetricIndexMeasurementsRequestMetricsItem | (string & {}) >; export const ListGroupHostFtsMetricIndexMeasurementsRequestMetricsList = /*@__PURE__*/ S.Array( ListGroupHostFtsMetricIndexMeasurementsRequestMetricsItem, ) as any as S.Schema; export interface ListGroupHostFtsMetricIndexMeasurementsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and IANA port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (mongod or mongos). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Human-readable label that identifies the database. */ databaseName: string; /** Human-readable label that identifies the collection. */ collectionName: string; /** Duration that specifies the interval at which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. */ granularity: string; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** List that contains the measurements that MongoDB Atlas reports for the associated data series. */ metrics: ListGroupHostFtsMetricIndexMeasurementsRequestMetricsList; } export const ListGroupHostFtsMetricIndexMeasurementsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), collectionName: S.String.pipe(T.Label()), granularity: S.String.pipe(T.Query()), period: S.optional(S.String.pipe(T.Query())), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), metrics: ListGroupHostFtsMetricIndexMeasurementsRequestMetricsList.pipe( T.Query(), ), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/hosts/{processId}/fts/metrics/indexes/{databaseName}/{collectionName}/measurements", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupHostFtsMetricIndexMeasurementsRequest", }) as any as S.Schema; export type ListGroupHostFtsMetricMeasurementsRequestMetricsItem = | "FTS_DISK_USAGE" | "FTS_PROCESS_CPU_KERNEL" | "FTS_PROCESS_CPU_USER" | "FTS_PROCESS_NORMALIZED_CPU_KERNEL" | "FTS_PROCESS_NORMALIZED_CPU_USER" | "FTS_PROCESS_RESIDENT_MEMORY" | "FTS_PROCESS_SHARED_MEMORY" | "FTS_PROCESS_VIRTUAL_MEMORY" | "JVM_CURRENT_MEMORY" | "JVM_MAX_MEMORY" | "PAGE_FAULTS"; export const ListGroupHostFtsMetricMeasurementsRequestMetricsItem = S.String; /** List that contains the metrics that you want MongoDB Atlas to report for the associated data series. If you don't set this parameter, this resource returns all hardware and status metrics for the associated data series. */ export type ListGroupHostFtsMetricMeasurementsRequestMetricsList = Array< ListGroupHostFtsMetricMeasurementsRequestMetricsItem | (string & {}) >; export const ListGroupHostFtsMetricMeasurementsRequestMetricsList = /*@__PURE__*/ S.Array( ListGroupHostFtsMetricMeasurementsRequestMetricsItem, ) as any as S.Schema; export interface ListGroupHostFtsMetricMeasurementsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and IANA port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (mongod or mongos). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Duration that specifies the interval at which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. */ granularity: string; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** List that contains the metrics that you want MongoDB Atlas to report for the associated data series. If you don't set this parameter, this resource returns all hardware and status metrics for the associated data series. */ metrics: ListGroupHostFtsMetricMeasurementsRequestMetricsList; } export const ListGroupHostFtsMetricMeasurementsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), granularity: S.String.pipe(T.Query()), period: S.optional(S.String.pipe(T.Query())), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), metrics: ListGroupHostFtsMetricMeasurementsRequestMetricsList.pipe( T.Query(), ), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/hosts/{processId}/fts/metrics/measurements", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupHostFtsMetricMeasurementsRequest", }) as any as S.Schema; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ export type MeasurementsNonIndexGranularity = "PT1M" | "PT5M" | "PT1H" | "P1D"; export const MeasurementsNonIndexGranularity = S.String; /** List that contains the Atlas Search hardware measurements. */ export type MeasurementsNonIndexHardwareMeasurementsList = Array; export const MeasurementsNonIndexHardwareMeasurementsList = /*@__PURE__*/ S.Array( MetricsMeasurement, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type MeasurementsNonIndexLinksList = Array; export const MeasurementsNonIndexLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List that contains the Atlas Search status measurements. */ export type MeasurementsNonIndexStatusMeasurementsList = Array; export const MeasurementsNonIndexStatusMeasurementsList = /*@__PURE__*/ S.Array( MetricsMeasurement, ) as any as S.Schema; export interface MeasurementsNonIndex { /** Date and time that specifies when to stop retrieving measurements. If you set **end**, you must set **start**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ end?: string; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ granularity?: MeasurementsNonIndexGranularity; /** Unique 24-hexadecimal digit string that identifies the project. The project contains MongoDB processes that you want to return. The MongoDB process can be either the `mongod` or `mongos`. */ groupId?: string; /** List that contains the Atlas Search hardware measurements. */ hardwareMeasurements?: MeasurementsNonIndexHardwareMeasurementsList; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: MeasurementsNonIndexLinksList; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId?: string; /** Date and time that specifies when to start retrieving measurements. If you set **start**, you must set **end**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ start?: string; /** List that contains the Atlas Search status measurements. */ statusMeasurements?: MeasurementsNonIndexStatusMeasurementsList; } export const MeasurementsNonIndex = /*@__PURE__*/ S.suspend(() => S.Struct({ end: S.optional(S.String), granularity: S.optional(MeasurementsNonIndexGranularity), groupId: S.optional(S.String), hardwareMeasurements: S.optional( MeasurementsNonIndexHardwareMeasurementsList, ), links: S.optional(MeasurementsNonIndexLinksList), processId: S.optional(S.String), start: S.optional(S.String), statusMeasurements: S.optional(MeasurementsNonIndexStatusMeasurementsList), }), ).annotate({ identifier: "MeasurementsNonIndex", }) as any as S.Schema; export interface ListGroupHostFtsMetricsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and IANA port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (mongod or mongos). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const ListGroupHostFtsMetricsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/hosts/{processId}/fts/metrics", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupHostFtsMetricsRequest", }) as any as S.Schema; /** Human-readable label that identifies this Atlas Search hardware, status, or index measurement. */ export type FTSMetricMetricName = | "INDEX_SIZE_ON_DISK" | "NUMBER_OF_DELETES" | "NUMBER_OF_ERROR_QUERIES" | "NUMBER_OF_GETMORE_COMMANDS" | "NUMBER_OF_INDEX_FIELDS" | "NUMBER_OF_INSERTS" | "NUMBER_OF_SUCCESS_QUERIES" | "NUMBER_OF_UPDATES" | "REPLICATION_LAG" | "TOTAL_NUMBER_OF_QUERIES" | "FTS_DISK_USAGE" | "FTS_PROCESS_CPU_KERNEL" | "FTS_PROCESS_CPU_USER" | "FTS_PROCESS_NORMALIZED_CPU_KERNEL" | "FTS_PROCESS_NORMALIZED_CPU_USER" | "FTS_PROCESS_RESIDENT_MEMORY" | "FTS_PROCESS_SHARED_MEMORY" | "FTS_PROCESS_VIRTUAL_MEMORY" | "JVM_CURRENT_MEMORY" | "JVM_MAX_MEMORY" | "PAGE_FAULTS"; export const FTSMetricMetricName = S.String; /** Unit of measurement that applies to this Atlas Search metric. */ export type FTSMetricUnits = | "BYTES" | "BYTES_PER_SECOND" | "GIGABYTES" | "GIGABYTES_PER_HOUR" | "KILOBYTES" | "MEGABYTES" | "MEGABYTES_PER_SECOND" | "MILLISECONDS" | "MILLISECONDS_LOGSCALE" | "PERCENT" | "SCALAR" | "SCALAR_PER_SECOND" | "SECONDS"; export const FTSMetricUnits = S.String; /** Measurement of one Atlas Search status when MongoDB Atlas received this request. */ export interface FTSMetric { /** Human-readable label that identifies this Atlas Search hardware, status, or index measurement. */ metricName: FTSMetricMetricName | null; /** Unit of measurement that applies to this Atlas Search metric. */ units: FTSMetricUnits | null; } export const FTSMetric = /*@__PURE__*/ S.suspend(() => S.Struct({ metricName: S.NullOr(FTSMetricMetricName), units: S.NullOr(FTSMetricUnits), }), ).annotate({ identifier: "FTSMetric" }) as any as S.Schema; /** List that contains all host compute, memory, and storage utilization dedicated to Atlas Search when MongoDB Atlas received this request. */ export type CloudSearchMetricsHardwareMetricsList = Array; export const CloudSearchMetricsHardwareMetricsList = /*@__PURE__*/ S.Array( FTSMetric, ) as any as S.Schema; /** List that contains all performance and utilization measurements that Atlas Search index performed by the time MongoDB Atlas received this request. */ export type CloudSearchMetricsIndexMetricsList = Array; export const CloudSearchMetricsIndexMetricsList = /*@__PURE__*/ S.Array( FTSMetric, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type CloudSearchMetricsLinksList = Array; export const CloudSearchMetricsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List that contains all available Atlas Search status metrics when MongoDB Atlas received this request. */ export type CloudSearchMetricsStatusMetricsList = Array; export const CloudSearchMetricsStatusMetricsList = /*@__PURE__*/ S.Array( FTSMetric, ) as any as S.Schema; export interface CloudSearchMetrics { /** Unique 24-hexadecimal digit string that identifies the project. */ groupId: string; /** List that contains all host compute, memory, and storage utilization dedicated to Atlas Search when MongoDB Atlas received this request. */ hardwareMetrics: CloudSearchMetricsHardwareMetricsList; /** List that contains all performance and utilization measurements that Atlas Search index performed by the time MongoDB Atlas received this request. */ indexMetrics: CloudSearchMetricsIndexMetricsList; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: CloudSearchMetricsLinksList; /** Hostname and port that identifies the process. */ processId: string; /** List that contains all available Atlas Search status metrics when MongoDB Atlas received this request. */ statusMetrics: CloudSearchMetricsStatusMetricsList; } export const CloudSearchMetrics = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String, hardwareMetrics: CloudSearchMetricsHardwareMetricsList, indexMetrics: CloudSearchMetricsIndexMetricsList, links: S.optional(CloudSearchMetricsLinksList), processId: S.String, statusMetrics: CloudSearchMetricsStatusMetricsList, }), ).annotate({ identifier: "CloudSearchMetrics", }) as any as S.Schema; export interface ListGroupIntegrationsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupIntegrationsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/integrations", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupIntegrationsRequest", }) as any as S.Schema; export interface ListGroupLimitsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupLimitsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/limits", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupLimitsRequest", }) as any as S.Schema; export type ListGroupLimitsResponseBodyList = Array; export const ListGroupLimitsResponseBodyList = /*@__PURE__*/ S.Array( DataFederationLimit, ) as any as S.Schema; export type ListGroupLimitsResponse = ListGroupLimitsResponseBodyList; export const ListGroupLimitsResponse = /*@__PURE__*/ S.suspend(() => ListGroupLimitsResponseBodyList.pipe(T.RawResponseRoot()), ).annotate({ identifier: "ListGroupLimitsResponse", }) as any as S.Schema; export interface ListGroupLogIntegrationsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Optional filter by integration type (e.g., `S3_LOG_EXPORT`). */ integrationType?: string; } export const ListGroupLogIntegrationsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), integrationType: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/logIntegrations", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupLogIntegrationsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedLogIntegrationResponseOutputLinksList = Array; export const PaginatedLogIntegrationResponseOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedLogIntegrationResponseOutputResultsList = Array; export const PaginatedLogIntegrationResponseOutputResultsList = /*@__PURE__*/ S.Array( LogIntegrationResponseOutput, ) as any as S.Schema; export interface PaginatedLogIntegrationResponseOutput { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedLogIntegrationResponseOutputLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedLogIntegrationResponseOutputResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedLogIntegrationResponseOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedLogIntegrationResponseOutputLinksList), results: PaginatedLogIntegrationResponseOutputResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedLogIntegrationResponseOutput", }) as any as S.Schema; export interface ListGroupMcpConfigsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupMcpConfigsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/mcpConfigs", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupMcpConfigsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedGroupMcpConfigViewLinksList = Array; export const PaginatedGroupMcpConfigViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedGroupMcpConfigViewResultsList = Array; export const PaginatedGroupMcpConfigViewResultsList = /*@__PURE__*/ S.Array( GroupMcpConfigResponse, ) as any as S.Schema; export interface PaginatedGroupMcpConfigView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedGroupMcpConfigViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedGroupMcpConfigViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedGroupMcpConfigView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedGroupMcpConfigViewLinksList), results: PaginatedGroupMcpConfigViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedGroupMcpConfigView", }) as any as S.Schema; export interface ListGroupMcpConfigSecretsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupMcpConfigSecretsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/mcpConfigs/{mcpConfigId}/secrets", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupMcpConfigSecretsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedMcpConfigSecretViewLinksList = Array; export const PaginatedMcpConfigSecretViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedMcpConfigSecretViewResultsList = Array; export const PaginatedMcpConfigSecretViewResultsList = /*@__PURE__*/ S.Array( ServiceAccountSecret, ) as any as S.Schema; export interface PaginatedMcpConfigSecretView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedMcpConfigSecretViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedMcpConfigSecretViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedMcpConfigSecretView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedMcpConfigSecretViewLinksList), results: PaginatedMcpConfigSecretViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedMcpConfigSecretView", }) as any as S.Schema; export interface ListGroupMetricIntegrationsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Optional filter by integration type (e.g., `OTEL`). */ integrationType?: string; /** Optional filter by provider type (e.g., `CUSTOM`). When specified, `integrationType` must also be specified. */ providerType?: string; } export const ListGroupMetricIntegrationsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), integrationType: S.optional(S.String.pipe(T.Query())), providerType: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/metricIntegrations", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupMetricIntegrationsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedMetricIntegrationResponseLinksList = Array; export const PaginatedMetricIntegrationResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedMetricIntegrationResponseResultsList = Array; export const PaginatedMetricIntegrationResponseResultsList = /*@__PURE__*/ S.Array( MetricIntegrationResponse, ) as any as S.Schema; export interface PaginatedMetricIntegrationResponse { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedMetricIntegrationResponseLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedMetricIntegrationResponseResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedMetricIntegrationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedMetricIntegrationResponseLinksList), results: PaginatedMetricIntegrationResponseResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedMetricIntegrationResponse", }) as any as S.Schema; export type ListGroupPeersRequestProviderName = "AWS" | "AZURE" | "GCP"; export const ListGroupPeersRequestProviderName = S.String; export interface ListGroupPeersRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Cloud service provider to use for this VPC peering connection. */ providerName?: ListGroupPeersRequestProviderName | (string & {}); } export const ListGroupPeersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), providerName: S.optional(ListGroupPeersRequestProviderName.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/peers", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupPeersRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedContainerPeerViewLinksList = Array; export const PaginatedContainerPeerViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedContainerPeerViewResultsList = Array; export const PaginatedContainerPeerViewResultsList = /*@__PURE__*/ S.Array( BaseNetworkPeeringConnectionSettings, ) as any as S.Schema; /** Group of Network Peering connection settings. */ export interface PaginatedContainerPeerView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedContainerPeerViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedContainerPeerViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedContainerPeerView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedContainerPeerViewLinksList), results: PaginatedContainerPeerViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedContainerPeerView", }) as any as S.Schema; export type ListGroupPrivateEndpointEndpointServiceRequestCloudProvider = | "AWS" | "AZURE" | "GCP"; export const ListGroupPrivateEndpointEndpointServiceRequestCloudProvider = S.String; export interface ListGroupPrivateEndpointEndpointServiceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Cloud service provider that manages this private endpoint service. */ cloudProvider: | ListGroupPrivateEndpointEndpointServiceRequestCloudProvider | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupPrivateEndpointEndpointServiceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: ListGroupPrivateEndpointEndpointServiceRequestCloudProvider.pipe( T.Label(), ), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupPrivateEndpointEndpointServiceRequest", }) as any as S.Schema; export type ListGroupPrivateEndpointEndpointServiceResponseBodyList = Array; export const ListGroupPrivateEndpointEndpointServiceResponseBodyList = /*@__PURE__*/ S.Array( EndpointService, ) as any as S.Schema; export type ListGroupPrivateEndpointEndpointServiceResponse = ListGroupPrivateEndpointEndpointServiceResponseBodyList; export const ListGroupPrivateEndpointEndpointServiceResponse = /*@__PURE__*/ S.suspend(() => ListGroupPrivateEndpointEndpointServiceResponseBodyList.pipe( T.RawResponseRoot(), ), ).annotate({ identifier: "ListGroupPrivateEndpointEndpointServiceResponse", }) as any as S.Schema; export interface ListGroupPrivateNetworkSettingEndpointIdsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupPrivateNetworkSettingEndpointIdsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/privateNetworkSettings/endpointIds", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupPrivateNetworkSettingEndpointIdsRequest", }) as any as S.Schema; /** Metric requested for the given process */ export type ListGroupProcessCollStatMeasurementsRequestMetricsItem = | "READS_OPS" | "READS_LATENCY" | "AVERAGE_READS_LATENCY" | "READS_P50_VALUE" | "READS_P95_VALUE" | "READS_P99_VALUE" | "WRITES_OPS" | "WRITES_LATENCY" | "AVERAGE_WRITES_LATENCY" | "WRITES_P50_VALUE" | "WRITES_P95_VALUE" | "WRITES_P99_VALUE" | "COMMANDS_OPS" | "COMMANDS_LATENCY" | "AVERAGE_COMMANDS_LATENCY" | "COMMANDS_P50_VALUE" | "COMMANDS_P95_VALUE" | "COMMANDS_P99_VALUE" | "TOTAL_OPS" | "TOTAL_LATENCY" | "AVERAGE_TOTAL_OPS_LATENCY" | "TOTAL_OPS_P50_VALUE" | "TOTAL_OPS_P95_VALUE" | "TOTAL_OPS_P99_VALUE"; export const ListGroupProcessCollStatMeasurementsRequestMetricsItem = S.String; export type ListGroupProcessCollStatMeasurementsRequestMetricsList = Array< ListGroupProcessCollStatMeasurementsRequestMetricsItem | (string & {}) >; export const ListGroupProcessCollStatMeasurementsRequestMetricsList = /*@__PURE__*/ S.Array( ListGroupProcessCollStatMeasurementsRequestMetricsItem, ) as any as S.Schema; export interface ListGroupProcessCollStatMeasurementsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and IANA port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (mongod or mongos). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Human-readable label that identifies the database. */ databaseName: string; /** Human-readable label that identifies the collection. */ collectionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** List that contains the metrics that you want to retrieve for the associated data series. If you don't set this parameter, this resource returns data series for all Coll Stats Latency metrics. */ metrics?: ListGroupProcessCollStatMeasurementsRequestMetricsList; /** Date and time when MongoDB Cloud begins reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ start?: string; /** Date and time when MongoDB Cloud stops reporting the metrics. This parameter expresses its value in the ISO 8601 timestamp format in UTC. Include this parameter when you do not set **period**. */ end?: string; /** Duration over which Atlas reports the metrics. This parameter expresses its value in the ISO 8601 duration format in UTC. Include this parameter when you do not set **start** and **end**. */ period?: string; } export const ListGroupProcessCollStatMeasurementsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), collectionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), metrics: S.optional( ListGroupProcessCollStatMeasurementsRequestMetricsList.pipe(T.Query()), ), start: S.optional(S.String.pipe(T.Query())), end: S.optional(S.String.pipe(T.Query())), period: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/{databaseName}/{collectionName}/collStats/measurements", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "ListGroupProcessCollStatMeasurementsRequest", }) as any as S.Schema; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ export type MeasurementsCollStatsLatencyHostGranularity = | "PT1M" | "PT5M" | "PT1H" | "P1D"; export const MeasurementsCollStatsLatencyHostGranularity = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type MeasurementsCollStatsLatencyHostLinksList = Array; export const MeasurementsCollStatsLatencyHostLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List that contains measurements and their data points. */ export type MeasurementsCollStatsLatencyHostMeasurementsList = Array; export const MeasurementsCollStatsLatencyHostMeasurementsList = /*@__PURE__*/ S.Array( MetricsMeasurement, ) as any as S.Schema; export interface MeasurementsCollStatsLatencyHost { /** Human-readable label that identifies the collection. */ collectionName?: string; /** Human-readable label that identifies the database that the specified MongoDB process serves. */ databaseName?: string; /** Date and time that specifies when to stop retrieving measurements. If you set **end**, you must set **start**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ end?: string; /** Duration that specifies the interval between measurement data points. The parameter expresses its value in ISO 8601 timestamp format in UTC. If you set this parameter, you must set either **period** or **start** and **end**. */ granularity?: MeasurementsCollStatsLatencyHostGranularity; /** Unique 24-hexadecimal digit string that identifies the project. The project contains MongoDB processes that you want to return. The MongoDB process can be either the `mongod` or `mongos`. */ groupId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: MeasurementsCollStatsLatencyHostLinksList; /** List that contains measurements and their data points. */ measurements?: MeasurementsCollStatsLatencyHostMeasurementsList; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId?: string; /** Date and time that specifies when to start retrieving measurements. If you set **start**, you must set **end**. You can't set this parameter and **period** in the same request. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ start?: string; } export const MeasurementsCollStatsLatencyHost = /*@__PURE__*/ S.suspend(() => S.Struct({ collectionName: S.optional(S.String), databaseName: S.optional(S.String), end: S.optional(S.String), granularity: S.optional(MeasurementsCollStatsLatencyHostGranularity), groupId: S.optional(S.String), links: S.optional(MeasurementsCollStatsLatencyHostLinksList), measurements: S.optional(MeasurementsCollStatsLatencyHostMeasurementsList), processId: S.optional(S.String), start: S.optional(S.String), }), ).annotate({ identifier: "MeasurementsCollStatsLatencyHost", }) as any as S.Schema; export interface ListGroupProcessDatabasesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupProcessDatabasesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/databases", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupProcessDatabasesRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedDatabaseViewLinksList = Array; export const PaginatedDatabaseViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedDatabaseViewResultsList = Array; export const PaginatedDatabaseViewResultsList = /*@__PURE__*/ S.Array( MesurementsDatabase, ) as any as S.Schema; export interface PaginatedDatabaseView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedDatabaseViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedDatabaseViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedDatabaseView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedDatabaseViewLinksList), results: PaginatedDatabaseViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedDatabaseView", }) as any as S.Schema; export interface ListGroupProcessDisksRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of hostname and Internet Assigned Numbers Authority (IANA) port that serves the MongoDB process. The host must be the hostname, fully qualified domain name (FQDN), or Internet Protocol address (IPv4 or IPv6) of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupProcessDisksRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/disks", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupProcessDisksRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedDiskPartitionViewLinksList = Array; export const PaginatedDiskPartitionViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedDiskPartitionViewResultsList = Array; export const PaginatedDiskPartitionViewResultsList = /*@__PURE__*/ S.Array( MeasurementDiskPartition, ) as any as S.Schema; export interface PaginatedDiskPartitionView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedDiskPartitionViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedDiskPartitionViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedDiskPartitionView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedDiskPartitionViewLinksList), results: PaginatedDiskPartitionViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedDiskPartitionView", }) as any as S.Schema; export interface ListGroupProcessesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupProcessesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupProcessesRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedHostViewAtlasLinksList = Array; export const PaginatedHostViewAtlasLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedHostViewAtlasResultsList = Array; export const PaginatedHostViewAtlasResultsList = /*@__PURE__*/ S.Array( ApiHostViewAtlas, ) as any as S.Schema; export interface PaginatedHostViewAtlas { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedHostViewAtlasLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedHostViewAtlasResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedHostViewAtlas = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedHostViewAtlasLinksList), results: PaginatedHostViewAtlasResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedHostViewAtlas", }) as any as S.Schema; export interface ListGroupProcessPerformanceAdvisorNamespacesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Length of time expressed during which the query finds suggested indexes among the managed namespaces in the cluster. This parameter expresses its value in milliseconds. - If you don't specify the **since** parameter, the endpoint returns data covering the duration before the current time. - If you specify neither the **duration** nor **since** parameters, the endpoint returns data from the previous 24 hours. */ duration?: number; /** Date and time from which the query retrieves the suggested indexes. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). - If you don't specify the **duration** parameter, the endpoint returns data covering from the **since** value and the current time. - If you specify neither the **duration** nor the **since** parameters, the endpoint returns data from the previous 24 hours. */ since?: number; } export const ListGroupProcessPerformanceAdvisorNamespacesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), duration: S.optional(S.Number.pipe(T.Query())), since: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/namespaces", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupProcessPerformanceAdvisorNamespacesRequest", }) as any as S.Schema; /** Human-readable label that identifies the type of namespace. */ export type NamespaceObjType = "collection"; export const NamespaceObjType = S.String; /** Human-readable label that identifies the namespace on the specified host. The resource expresses this parameter value as `.`. */ export interface NamespaceObj { /** Human-readable label that identifies the namespace on the specified host. The resource expresses this parameter value as `.`. */ namespace?: string; /** Human-readable label that identifies the type of namespace. */ type?: NamespaceObjType; } export const NamespaceObj = /*@__PURE__*/ S.suspend(() => S.Struct({ namespace: S.optional(S.String), type: S.optional(NamespaceObjType), }), ).annotate({ identifier: "NamespaceObj" }) as any as S.Schema; /** List that contains each combination of database, collection, and type on the specified host. */ export type NamespacesNamespacesList = Array; export const NamespacesNamespacesList = /*@__PURE__*/ S.Array( NamespaceObj, ) as any as S.Schema; export interface Namespaces { /** List that contains each combination of database, collection, and type on the specified host. */ namespaces?: NamespacesNamespacesList; } export const Namespaces = /*@__PURE__*/ S.suspend(() => S.Struct({ namespaces: S.optional(NamespacesNamespacesList), }), ).annotate({ identifier: "Namespaces" }) as any as S.Schema; export type ListGroupProcessPerformanceAdvisorSlowQueryLogsRequestNamespacesList = Array; export const ListGroupProcessPerformanceAdvisorSlowQueryLogsRequestNamespacesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ListGroupProcessPerformanceAdvisorSlowQueryLogsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Length of time expressed during which the query finds slow queries among the managed namespaces in the cluster. This parameter expresses its value in milliseconds. - If you don't specify the **since** parameter, the endpoint returns data covering the duration before the current time. - If you specify neither the **duration** nor **since** parameters, the endpoint returns data from the previous 24 hours. */ duration?: number; /** Namespaces from which to retrieve slow queries. A namespace consists of one database and one collection resource written as `.`: `.`. To include multiple namespaces, pass the parameter multiple times delimited with an ampersand (`&`) between each namespace. Omit this parameter to return results for all namespaces. */ namespaces?: ListGroupProcessPerformanceAdvisorSlowQueryLogsRequestNamespacesList; /** Maximum number of lines from the log to return. */ nLogs?: number; /** Date and time from which the query retrieves the slow queries. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). - If you don't specify the **duration** parameter, the endpoint returns data covering from the **since** value and the current time. - If you specify neither the **duration** nor the **since** parameters, the endpoint returns data from the previous 24 hours. */ since?: number; /** Whether or not to include metrics extracted from the slow query log as separate fields. */ includeMetrics?: boolean; /** Whether or not to include the replica state of the host when the slow query log was generated as a separate field. */ includeReplicaState?: boolean; /** Whether or not to include the operation type (read/write/command) extracted from the slow query log as a separate field. */ includeOpType?: boolean; } export const ListGroupProcessPerformanceAdvisorSlowQueryLogsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), duration: S.optional(S.Number.pipe(T.Query())), namespaces: S.optional( ListGroupProcessPerformanceAdvisorSlowQueryLogsRequestNamespacesList.pipe( T.Query(), ), ), nLogs: S.optional(S.Number.pipe(T.Query())), since: S.optional(S.Number.pipe(T.Query())), includeMetrics: S.optional(S.Boolean.pipe(T.Query())), includeReplicaState: S.optional(S.Boolean.pipe(T.Query())), includeOpType: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupProcessPerformanceAdvisorSlowQueryLogsRequest", }) as any as S.Schema; /** Metrics from a slow query log. */ export interface PerformanceAdvisorSlowQueryMetrics { /** The number of documents in the collection that MongoDB scanned in order to carry out the operation. */ docsExamined?: number; /** Ratio of documents examined to documents returned. */ docsExaminedReturnedRatio?: number; /** The number of documents returned by the operation. */ docsReturned?: number; /** This boolean will be true when the server can identify the query source as non-server. This field is only available for MDB 8.0+. */ fromUserConnection?: boolean; /** Flag that indicates whether the slow query used automated embedding, where MongoDB Cloud generates embeddings from raw text at query time instead of the client supplying a precomputed vector. */ hasAutoEmbedding?: boolean; /** Indicates if the query has index coverage. */ hasIndexCoverage?: boolean; /** Flag that indicates whether the slow query used the `$rerank` aggregation stage, which reorders results using Voyage AI reranking models. Always `false` for MongoDB deployments earlier than 8.3. */ hasRerank?: boolean; /** This boolean will be true when a query cannot use the ordering in the index to return the requested sorted results; i.e. MongoDB must sort the documents after it receives the documents from a cursor. */ hasSort?: boolean; /** The number of index keys that MongoDB scanned in order to carry out the operation. */ keysExamined?: number; /** Ratio of keys examined to documents returned. */ keysExaminedReturnedRatio?: number; /** The number of times the operation yielded to allow other operations to complete. */ numYields?: number; /** Total execution time of a query in milliseconds. */ operationExecutionTime?: number; /** The length in bytes of the operation's result document. */ responseLength?: number; /** The total inference tokens consumed by this operation, including tokens used by `$rerank`. Returned only for inference queries that consumed tokens; it is omitted otherwise, including for MongoDB deployments earlier than 8.3. */ tokensUsed?: number; } export const PerformanceAdvisorSlowQueryMetrics = /*@__PURE__*/ S.suspend(() => S.Struct({ docsExamined: S.optional(S.Number), docsExaminedReturnedRatio: S.optional(S.Number), docsReturned: S.optional(S.Number), fromUserConnection: S.optional(S.Boolean), hasAutoEmbedding: S.optional(S.Boolean), hasIndexCoverage: S.optional(S.Boolean), hasRerank: S.optional(S.Boolean), hasSort: S.optional(S.Boolean), keysExamined: S.optional(S.Number), keysExaminedReturnedRatio: S.optional(S.Number), numYields: S.optional(S.Number), operationExecutionTime: S.optional(S.Number), responseLength: S.optional(S.Number), tokensUsed: S.optional(S.Number), }), ).annotate({ identifier: "PerformanceAdvisorSlowQueryMetrics", }) as any as S.Schema; /** Details of one slow query that the Performance Advisor detected. */ export interface PerformanceAdvisorSlowQuery { /** Text of the MongoDB log related to this slow query. */ line?: string; metrics?: PerformanceAdvisorSlowQueryMetrics; /** Human-readable label that identifies the namespace on the specified host. The resource expresses this parameter value as `.`. */ namespace?: string; /** Operation type (read/write/command) associated with this slow query log. */ opType?: string; /** Replica state associated with this slow query log. */ replicaState?: string; } export const PerformanceAdvisorSlowQuery = /*@__PURE__*/ S.suspend(() => S.Struct({ line: S.optional(S.String), metrics: S.optional(PerformanceAdvisorSlowQueryMetrics), namespace: S.optional(S.String), opType: S.optional(S.String), replicaState: S.optional(S.String), }), ).annotate({ identifier: "PerformanceAdvisorSlowQuery", }) as any as S.Schema; /** List of operations that the Performance Advisor detected that took longer to execute than a specified threshold. */ export type PerformanceAdvisorSlowQueryListSlowQueriesList = Array; export const PerformanceAdvisorSlowQueryListSlowQueriesList = /*@__PURE__*/ S.Array( PerformanceAdvisorSlowQuery, ) as any as S.Schema; export interface PerformanceAdvisorSlowQueryList { /** List of operations that the Performance Advisor detected that took longer to execute than a specified threshold. */ slowQueries?: PerformanceAdvisorSlowQueryListSlowQueriesList; } export const PerformanceAdvisorSlowQueryList = /*@__PURE__*/ S.suspend(() => S.Struct({ slowQueries: S.optional(PerformanceAdvisorSlowQueryListSlowQueriesList), }), ).annotate({ identifier: "PerformanceAdvisorSlowQueryList", }) as any as S.Schema; export type ListGroupProcessPerformanceAdvisorSuggestedIndexesRequestNamespacesList = Array; export const ListGroupProcessPerformanceAdvisorSuggestedIndexesRequestNamespacesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ListGroupProcessPerformanceAdvisorSuggestedIndexesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. */ processId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Length of time expressed during which the query finds suggested indexes among the managed namespaces in the cluster. This parameter expresses its value in milliseconds. - If you don't specify the **since** parameter, the endpoint returns data covering the duration before the current time. - If you specify neither the **duration** nor **since** parameters, the endpoint returns data from the previous 24 hours. */ duration?: number; /** Namespaces from which to retrieve suggested indexes. A namespace consists of one database and one collection resource written as `.`: `.`. To include multiple namespaces, pass the parameter multiple times delimited with an ampersand (`&`) between each namespace. Omit this parameter to return results for all namespaces. */ namespaces?: ListGroupProcessPerformanceAdvisorSuggestedIndexesRequestNamespacesList; /** Maximum number of example queries that benefit from the suggested index. */ nExamples?: number; /** Number that indicates the maximum indexes to suggest. */ nIndexes?: number; /** Date and time from which the query retrieves the suggested indexes. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time). - If you don't specify the **duration** parameter, the endpoint returns data covering from the **since** value and the current time. - If you specify neither the **duration** nor the **since** parameters, the endpoint returns data from the previous 24 hours. */ since?: number; } export const ListGroupProcessPerformanceAdvisorSuggestedIndexesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), processId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), duration: S.optional(S.Number.pipe(T.Query())), namespaces: S.optional( ListGroupProcessPerformanceAdvisorSuggestedIndexesRequestNamespacesList.pipe( T.Query(), ), ), nExamples: S.optional(S.Number.pipe(T.Query())), nIndexes: S.optional(S.Number.pipe(T.Query())), since: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/suggestedIndexes", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupProcessPerformanceAdvisorSuggestedIndexesRequest", }) as any as S.Schema; export interface ListGroupsRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupsRequest", }) as any as S.Schema; export interface ListGroupServiceAccountAccessListRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupServiceAccountAccessListRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/accessList", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ListGroupServiceAccountAccessListRequest", }) as any as S.Schema; export interface ListGroupServiceAccountsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether system-managed Service Accounts (such as those used for MCP ingress/egress integrations) are included in the response. When false, only user-managed Service Accounts are returned. */ includeSystemManaged?: boolean; } export const ListGroupServiceAccountsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), includeSystemManaged: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ListGroupServiceAccountsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedGroupServiceAccountsLinksList = Array; export const PaginatedGroupServiceAccountsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedGroupServiceAccountsResultsList = Array; export const PaginatedGroupServiceAccountsResultsList = /*@__PURE__*/ S.Array( GroupServiceAccount, ) as any as S.Schema; /** A list of Project Service Accounts. */ export interface PaginatedGroupServiceAccounts { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedGroupServiceAccountsLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedGroupServiceAccountsResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedGroupServiceAccounts = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedGroupServiceAccountsLinksList), results: PaginatedGroupServiceAccountsResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedGroupServiceAccounts", }) as any as S.Schema; export interface ListGroupStreamActiveVpcPeeringConnectionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupStreamActiveVpcPeeringConnectionsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/activeVpcPeeringConnections", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "ListGroupStreamActiveVpcPeeringConnectionsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiStreamsVPCPeeringConnectionViewLinksList = Array; export const PaginatedApiStreamsVPCPeeringConnectionViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type VPCPeeringConnectionLinksList = Array; export const VPCPeeringConnectionLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** The local status of the VPC Peering Connection. */ export type VPCPeeringConnectionLocalStatus = | "NONE" | "SCAN_FAILED" | "UPDATE_FAILED" | "REQUEST_ACCEPT" | "ACCEPT_REQUESTED" | "REQUEST_REJECT" | "REJECT_REQUESTED" | "REQUEST_DELETE" | "DELETE_REQUESTED" | "ACTIVE"; export const VPCPeeringConnectionLocalStatus = S.String; /** Represents a VPC Peering connection on AWS. */ export interface VPCPeeringConnection { /** Internal VPC Peering Connection ID. */ _id?: string; /** The account ID responsible for accepting the request. */ accepterAccountId?: string; /** The CIDR block for the accepter VPC. */ accepterCidr?: string; /** The VPC ID accepting the request. */ accepterVpcId?: string; /** The status in the cloud provider for this connection. */ cloudStatus?: string; /** The time when the VPC Peering Connection request expires. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expirationTime?: string; /** The internal project ID. */ groupId?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: VPCPeeringConnectionLinksList; /** The local status of the VPC Peering Connection. */ localStatus?: VPCPeeringConnectionLocalStatus; /** Unique VPC Peering Connection name. */ name?: string; /** The account ID requesting the VPC Peering connection. */ requesterAccountId?: string; /** The CIDR block for the requesting VPC. */ requesterCidr?: string; /** The VPC ID requesting the VPC Peering connection. */ requesterVpcId?: string; /** A status message. */ statusMessage?: string; } export const VPCPeeringConnection = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.optional(S.String), accepterAccountId: S.optional(S.String), accepterCidr: S.optional(S.String), accepterVpcId: S.optional(S.String), cloudStatus: S.optional(S.String), expirationTime: S.optional(S.String), groupId: S.optional(S.String), links: S.optional(VPCPeeringConnectionLinksList), localStatus: S.optional(VPCPeeringConnectionLocalStatus), name: S.optional(S.String), requesterAccountId: S.optional(S.String), requesterCidr: S.optional(S.String), requesterVpcId: S.optional(S.String), statusMessage: S.optional(S.String), }), ).annotate({ identifier: "VPCPeeringConnection", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiStreamsVPCPeeringConnectionViewResultsList = Array; export const PaginatedApiStreamsVPCPeeringConnectionViewResultsList = /*@__PURE__*/ S.Array( VPCPeeringConnection, ) as any as S.Schema; export interface PaginatedApiStreamsVPCPeeringConnectionView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiStreamsVPCPeeringConnectionViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiStreamsVPCPeeringConnectionViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiStreamsVPCPeeringConnectionView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiStreamsVPCPeeringConnectionViewLinksList), results: PaginatedApiStreamsVPCPeeringConnectionViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiStreamsVPCPeeringConnectionView", }) as any as S.Schema; export interface ListGroupStreamConnectionFailoverConnectionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream connection. */ connectionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; } export const ListGroupStreamConnectionFailoverConnectionsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), connectionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}/failoverConnections", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListGroupStreamConnectionFailoverConnectionsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiStreamsFailoverConnectionOutputLinksList = Array; export const PaginatedApiStreamsFailoverConnectionOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiStreamsFailoverConnectionOutputResultsList = Array; export const PaginatedApiStreamsFailoverConnectionOutputResultsList = /*@__PURE__*/ S.Array( StreamsFailoverConnectionOutput, ) as any as S.Schema; export interface PaginatedApiStreamsFailoverConnectionOutput { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiStreamsFailoverConnectionOutputLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiStreamsFailoverConnectionOutputResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiStreamsFailoverConnectionOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiStreamsFailoverConnectionOutputLinksList), results: PaginatedApiStreamsFailoverConnectionOutputResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiStreamsFailoverConnectionOutput", }) as any as S.Schema; export interface ListGroupStreamConnectionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupStreamConnectionsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "ListGroupStreamConnectionsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiStreamsConnectionViewOutputLinksList = Array; export const PaginatedApiStreamsConnectionViewOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiStreamsConnectionViewOutputResultsList = Array; export const PaginatedApiStreamsConnectionViewOutputResultsList = /*@__PURE__*/ S.Array( StreamsConnectionOutput, ) as any as S.Schema; export interface PaginatedApiStreamsConnectionViewOutput { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiStreamsConnectionViewOutputLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiStreamsConnectionViewOutputResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiStreamsConnectionViewOutput = /*@__PURE__*/ S.suspend( () => S.Struct({ links: S.optional(PaginatedApiStreamsConnectionViewOutputLinksList), results: PaginatedApiStreamsConnectionViewOutputResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiStreamsConnectionViewOutput", }) as any as S.Schema; export interface ListGroupStreamPrivateLinkConnectionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupStreamPrivateLinkConnectionsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/privateLinkConnections", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "ListGroupStreamPrivateLinkConnectionsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiStreamsPrivateLinkViewLinksList = Array; export const PaginatedApiStreamsPrivateLinkViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiStreamsPrivateLinkViewResultsList = Array; export const PaginatedApiStreamsPrivateLinkViewResultsList = /*@__PURE__*/ S.Array( StreamsPrivateLinkConnection, ) as any as S.Schema; export interface PaginatedApiStreamsPrivateLinkView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiStreamsPrivateLinkViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiStreamsPrivateLinkViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiStreamsPrivateLinkView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiStreamsPrivateLinkViewLinksList), results: PaginatedApiStreamsPrivateLinkViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiStreamsPrivateLinkView", }) as any as S.Schema; export interface ListGroupStreamVpcPeeringConnectionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Account ID of the VPC Peering connection/s. */ requesterAccountId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupStreamVpcPeeringConnectionsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), requesterAccountId: S.String.pipe(T.Query()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams/vpcPeeringConnections", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "ListGroupStreamVpcPeeringConnectionsRequest", }) as any as S.Schema; export interface ListGroupStreamWorkspacesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListGroupStreamWorkspacesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/streams", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "ListGroupStreamWorkspacesRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiStreamsTenantViewOutputLinksList = Array; export const PaginatedApiStreamsTenantViewOutputLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiStreamsTenantViewOutputResultsList = Array; export const PaginatedApiStreamsTenantViewOutputResultsList = /*@__PURE__*/ S.Array( StreamsTenantOutput, ) as any as S.Schema; export interface PaginatedApiStreamsTenantViewOutput { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiStreamsTenantViewOutputLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiStreamsTenantViewOutputResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiStreamsTenantViewOutput = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiStreamsTenantViewOutputLinksList), results: PaginatedApiStreamsTenantViewOutputResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiStreamsTenantViewOutput", }) as any as S.Schema; export interface ListGroupTeamsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; } export const ListGroupTeamsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/teams", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListGroupTeamsRequest", }) as any as S.Schema; export type ListGroupUsersRequestOrgMembershipStatusesItem = | "PENDING" | "ACTIVE" | "INVITATION_EXPIRED" | "INVITATION_REJECTED"; export const ListGroupUsersRequestOrgMembershipStatusesItem = S.String; export type ListGroupUsersRequestOrgMembershipStatusesList = Array< ListGroupUsersRequestOrgMembershipStatusesItem | (string & {}) >; export const ListGroupUsersRequestOrgMembershipStatusesList = /*@__PURE__*/ S.Array( ListGroupUsersRequestOrgMembershipStatusesItem, ) as any as S.Schema; export interface ListGroupUsersRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the returned list should include users who belong to a team with a role in this project. You might not have assigned the individual users a role in this project. If `"flattenTeams" : false`, this resource returns only users with a role in the project. If `"flattenTeams" : true`, this resource returns both users with roles in the project and users who belong to teams with roles in the project. */ flattenTeams?: boolean; /** Flag that indicates whether the returned list should include users with implicit access to the project, the Organization Owner or Organization Read Only role. You might not have assigned the individual users a role in this project. If `"includeOrgUsers": false`, this resource returns only users with a role in the project. If `"includeOrgUsers": true`, this resource returns both users with roles in the project and users who have implicit access to the project through their organization role. */ includeOrgUsers?: boolean; /** Deprecated: Use `orgMembershipStatuses` instead. Organization membership status to filter users by. Allowed values: `ACTIVE`, `PENDING`, `INVITATION_EXPIRED`, `INVITATION_REJECTED`. If you exclude this parameter, this resource returns ACTIVE and PENDING users. Not supported in deprecated versions. */ orgMembershipStatus?: string; /** Organization membership status to filter users by. You can supply this parameter multiple times. Allowed values: `ACTIVE`, `PENDING`, `INVITATION_EXPIRED`, `INVITATION_REJECTED`. Replaces the deprecated `orgMembershipStatus` parameter. If you exclude this parameter, this resource returns ACTIVE and PENDING users. Cannot be combined with `orgMembershipStatus`. Not supported in deprecated versions. */ orgMembershipStatuses?: ListGroupUsersRequestOrgMembershipStatusesList; /** Email address to filter users by. Not supported in deprecated versions. */ username?: string; } export const ListGroupUsersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), flattenTeams: S.optional(S.Boolean.pipe(T.Query())), includeOrgUsers: S.optional(S.Boolean.pipe(T.Query())), orgMembershipStatus: S.optional(S.String.pipe(T.Query())), orgMembershipStatuses: S.optional( ListGroupUsersRequestOrgMembershipStatusesList.pipe(T.Query()), ), username: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/groups/{groupId}/users", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "ListGroupUsersRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedGroupUserViewLinksList = Array; export const PaginatedGroupUserViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedGroupUserViewResultsList = Array; export const PaginatedGroupUserViewResultsList = /*@__PURE__*/ S.Array( GroupUserResponse, ) as any as S.Schema; export interface PaginatedGroupUserView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedGroupUserViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedGroupUserViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedGroupUserView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedGroupUserViewLinksList), results: PaginatedGroupUserViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedGroupUserView", }) as any as S.Schema; export interface ListOrgAiModelApiKeysRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgAiModelApiKeysRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/aiModelApiKeys", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListOrgAiModelApiKeysRequest", }) as any as S.Schema; export interface ListOrgApiKeyAccessListEntriesRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key for which you want to return access list entries. */ apiUserId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgApiKeyAccessListEntriesRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}/accessList", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListOrgApiKeyAccessListEntriesRequest", }) as any as S.Schema; export interface ListOrgApiKeysRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgApiKeysRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/apiKeys", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListOrgApiKeysRequest", }) as any as S.Schema; export type ListOrgEventsRequestEventTypeList = Array; export const ListOrgEventsRequestEventTypeList = /*@__PURE__*/ S.Array( EventTypeForOrg, ) as any as S.Schema; export interface ListOrgEventsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Category of incident recorded at this moment in time. **IMPORTANT**: The complete list of event type values changes frequently. */ eventType?: ListOrgEventsRequestEventTypeList; /** Flag that indicates whether to include the raw document in the output. The raw document contains additional meta information about the event. */ includeRaw?: boolean; /** Date and time from when MongoDB Cloud stops returning events. This parameter uses the ISO 8601 timestamp format in UTC. */ maxDate?: string; /** Date and time from when MongoDB Cloud starts returning events. This parameter uses the ISO 8601 timestamp format in UTC. */ minDate?: string; } export const ListOrgEventsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), eventType: S.optional(ListOrgEventsRequestEventTypeList.pipe(T.Query())), includeRaw: S.optional(S.Boolean.pipe(T.Query())), maxDate: S.optional(S.String.pipe(T.Query())), minDate: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/events", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListOrgEventsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type OrgPaginatedEventViewLinksList = Array; export const OrgPaginatedEventViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type OrgPaginatedEventViewResultsList = Array; export const OrgPaginatedEventViewResultsList = /*@__PURE__*/ S.Array( EventViewForOrg, ) as any as S.Schema; export interface OrgPaginatedEventView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: OrgPaginatedEventViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: OrgPaginatedEventViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const OrgPaginatedEventView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(OrgPaginatedEventViewLinksList), results: OrgPaginatedEventViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "OrgPaginatedEventView", }) as any as S.Schema; export interface ListOrgInvoicePendingRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgInvoicePendingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/invoices/pending", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListOrgInvoicePendingRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiInvoiceViewLinksList = Array; export const PaginatedApiInvoiceViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiInvoiceViewResultsList = Array; export const PaginatedApiInvoiceViewResultsList = /*@__PURE__*/ S.Array( BillingInvoice, ) as any as S.Schema; export interface PaginatedApiInvoiceView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiInvoiceViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiInvoiceViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiInvoiceView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiInvoiceViewLinksList), results: PaginatedApiInvoiceViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiInvoiceView", }) as any as S.Schema; export interface ListOrgInvoiceReportsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique string that identifies the invoice to list reports for. */ invoiceId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgInvoiceReportsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), invoiceId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/reports", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListOrgInvoiceReportsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedInvoiceReportViewLinksList = Array; export const PaginatedInvoiceReportViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedInvoiceReportViewResultsList = Array; export const PaginatedInvoiceReportViewResultsList = /*@__PURE__*/ S.Array( InvoiceReportResponse, ) as any as S.Schema; export interface PaginatedInvoiceReportView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedInvoiceReportViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedInvoiceReportViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedInvoiceReportView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedInvoiceReportViewLinksList), results: PaginatedInvoiceReportViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedInvoiceReportView", }) as any as S.Schema; export type ListOrgInvoicesRequestStatusNamesItem = | "PENDING" | "CLOSED" | "FORGIVEN" | "FAILED" | "PAID" | "FREE" | "PREPAID" | "INVOICED"; export const ListOrgInvoicesRequestStatusNamesItem = S.String; export type ListOrgInvoicesRequestStatusNamesList = Array< ListOrgInvoicesRequestStatusNamesItem | (string & {}) >; export const ListOrgInvoicesRequestStatusNamesList = /*@__PURE__*/ S.Array( ListOrgInvoicesRequestStatusNamesItem, ) as any as S.Schema; export type ListOrgInvoicesRequestSortBy = "START_DATE" | "END_DATE"; export const ListOrgInvoicesRequestSortBy = S.String; export type ListOrgInvoicesRequestOrderBy = "desc" | "asc"; export const ListOrgInvoicesRequestOrderBy = S.String; export interface ListOrgInvoicesRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether to return linked invoices in the `linkedInvoices` field. */ viewLinkedInvoices?: boolean; /** Statuses of the invoice to be retrieved. Omit to return invoices of all statuses. */ statusNames?: ListOrgInvoicesRequestStatusNamesList; /** Retrieve the invoices the `startDates` of which are greater than or equal to the `fromDate`. If omit, the invoices return will go back to earliest `startDate`. */ fromDate?: string; /** Retrieve the invoices the `endDates` of which are smaller than or equal to the `toDate`. If omit, the invoices return will go further to latest `endDate`. */ toDate?: string; /** Field used to sort the returned invoices by. Use in combination with `orderBy` parameter to control the order of the result. */ sortBy?: ListOrgInvoicesRequestSortBy | (string & {}); /** Field used to order the returned invoices by. Use in combination of `sortBy` parameter to control the order of the result. */ orderBy?: ListOrgInvoicesRequestOrderBy | (string & {}); } export const ListOrgInvoicesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), viewLinkedInvoices: S.optional(S.Boolean.pipe(T.Query())), statusNames: S.optional( ListOrgInvoicesRequestStatusNamesList.pipe(T.Query()), ), fromDate: S.optional(S.String.pipe(T.Query())), toDate: S.optional(S.String.pipe(T.Query())), sortBy: S.optional(ListOrgInvoicesRequestSortBy.pipe(T.Query())), orderBy: S.optional(ListOrgInvoicesRequestOrderBy.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/invoices", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListOrgInvoicesRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiInvoiceMetadataViewLinksList = Array; export const PaginatedApiInvoiceMetadataViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List that contains the invoices for organizations linked to the paying organization. */ export type BillingInvoiceMetadataLinkedInvoicesList = Array; export const BillingInvoiceMetadataLinkedInvoicesList = /*@__PURE__*/ S.Array( S.suspend(() => BillingInvoiceMetadata), ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type BillingInvoiceMetadataLinksList = Array; export const BillingInvoiceMetadataLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Phase of payment processing in which this invoice exists when you made this request. Accepted phases include: - `CLOSED`: MongoDB finalized all charges in the billing cycle but has yet to charge the customer. - `FAILED`: MongoDB attempted to charge the provided credit card but charge for that amount failed. - `FORGIVEN`: Customer initiated payment which MongoDB later forgave. - `FREE`: All charges totalled zero so the customer won't be charged. - `INVOICED`: MongoDB handled these charges using elastic invoicing. - `PAID`: MongoDB succeeded in charging the provided credit card. - `PENDING`: Invoice includes charges for the current billing cycle. - `PREPAID`: Customer has a pre-paid plan so they won't be charged. */ export type BillingInvoiceMetadataStatusName = | "PENDING" | "CLOSED" | "FORGIVEN" | "FAILED" | "PAID" | "FREE" | "PREPAID" | "INVOICED"; export const BillingInvoiceMetadataStatusName = S.String; export interface BillingInvoiceMetadata { /** Sum of services that the specified organization consumed in the period covered in this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ amountBilledCents?: number; /** Sum that the specified organization paid toward this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ amountPaidCents?: number; /** Date and time when MongoDB Cloud created this invoice. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ created?: string; /** Sum that MongoDB credited the specified organization toward this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ creditsCents?: number; /** Date and time when MongoDB Cloud finished the billing period that this invoice covers. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ endDate?: string; /** Unique 24-hexadecimal digit string that identifies the invoice submitted to the specified organization. Charges typically post the next day. */ id?: string; /** List that contains the invoices for organizations linked to the paying organization. */ linkedInvoices?: BillingInvoiceMetadataLinkedInvoicesList; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: BillingInvoiceMetadataLinksList; /** Unique 24-hexadecimal digit string that identifies the organization charged for services consumed from MongoDB Cloud. */ orgId?: string; /** Sum of sales tax applied to this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ salesTaxCents?: number; /** Date and time when MongoDB Cloud began the billing period that this invoice covers. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ startDate?: string; /** Sum that the specified organization owed to MongoDB when MongoDB issued this invoice. This parameter expresses its value in US Dollars. */ startingBalanceCents?: number; /** Phase of payment processing in which this invoice exists when you made this request. Accepted phases include: - `CLOSED`: MongoDB finalized all charges in the billing cycle but has yet to charge the customer. - `FAILED`: MongoDB attempted to charge the provided credit card but charge for that amount failed. - `FORGIVEN`: Customer initiated payment which MongoDB later forgave. - `FREE`: All charges totalled zero so the customer won't be charged. - `INVOICED`: MongoDB handled these charges using elastic invoicing. - `PAID`: MongoDB succeeded in charging the provided credit card. - `PENDING`: Invoice includes charges for the current billing cycle. - `PREPAID`: Customer has a pre-paid plan so they won't be charged. */ statusName?: BillingInvoiceMetadataStatusName; /** Sum of all positive invoice line items contained in this invoice. This parameter expresses its value in cents (100ths of one US Dollar). */ subtotalCents?: number; /** Date and time when MongoDB Cloud last updated the value of this payment. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ updated?: string; } export const BillingInvoiceMetadata = /*@__PURE__*/ S.suspend(() => S.Struct({ amountBilledCents: S.optional(S.Number), amountPaidCents: S.optional(S.Number), created: S.optional(S.String), creditsCents: S.optional(S.Number), endDate: S.optional(S.String), id: S.optional(S.String), linkedInvoices: S.optional(BillingInvoiceMetadataLinkedInvoicesList), links: S.optional(BillingInvoiceMetadataLinksList), orgId: S.optional(S.String), salesTaxCents: S.optional(S.Number), startDate: S.optional(S.String), startingBalanceCents: S.optional(S.Number), statusName: S.optional(BillingInvoiceMetadataStatusName), subtotalCents: S.optional(S.Number), updated: S.optional(S.String), }), ).annotate({ identifier: "BillingInvoiceMetadata", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiInvoiceMetadataViewResultsList = Array; export const PaginatedApiInvoiceMetadataViewResultsList = /*@__PURE__*/ S.Array( BillingInvoiceMetadata, ) as any as S.Schema; export interface PaginatedApiInvoiceMetadataView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiInvoiceMetadataViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiInvoiceMetadataViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiInvoiceMetadataView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiInvoiceMetadataViewLinksList), results: PaginatedApiInvoiceMetadataViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiInvoiceMetadataView", }) as any as S.Schema; export interface ListOrgLiveMigrationAvailableProjectsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgLiveMigrationAvailableProjectsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/liveMigrations/availableProjects", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListOrgLiveMigrationAvailableProjectsRequest", }) as any as S.Schema; /** Deployments that can be migrated to MongoDB Atlas. */ export interface AvailableClustersDeployment { /** Version of MongoDB Agent that monitors/manages the cluster. */ agentVersion?: string; /** Unique 24-hexadecimal digit string that identifies the cluster. */ clusterId?: string; /** Size of this database on disk at the time of the request expressed in bytes. */ dbSizeBytes?: number; /** Version of MongoDB features that this cluster supports. */ featureCompatibilityVersion: string; /** Flag that indicates whether Automation manages this cluster. */ managed: boolean; /** Version of MongoDB that this cluster runs. */ mongoDBVersion: string; /** Human-readable label that identifies this cluster. */ name: string; /** Size of the Oplog on disk at the time of the request expressed in MB. */ oplogSizeMB?: number; /** Flag that indicates whether someone configured this cluster as a sharded cluster. - If `true`, this cluster serves as a sharded cluster. - If `false`, this cluster serves as a replica set. */ sharded: boolean; /** Number of shards that comprise this cluster. */ shardsSize?: number; /** Flag that indicates whether someone enabled TLS for this cluster. */ tlsEnabled: boolean; } export const AvailableClustersDeployment = /*@__PURE__*/ S.suspend(() => S.Struct({ agentVersion: S.optional(S.String), clusterId: S.optional(S.String), dbSizeBytes: S.optional(S.Number), featureCompatibilityVersion: S.String, managed: S.Boolean, mongoDBVersion: S.String, name: S.String, oplogSizeMB: S.optional(S.Number), sharded: S.Boolean, shardsSize: S.optional(S.Number), tlsEnabled: S.Boolean, }), ).annotate({ identifier: "AvailableClustersDeployment", }) as any as S.Schema; /** List of clusters that can be migrated to MongoDB Cloud. */ export type LiveImportAvailableProjectDeploymentsList = Array; export const LiveImportAvailableProjectDeploymentsList = /*@__PURE__*/ S.Array( AvailableClustersDeployment, ) as any as S.Schema; /** Hostname of MongoDB Agent list that you configured to perform a migration. */ export type LiveImportAvailableProjectMigrationHostsList = Array; export const LiveImportAvailableProjectMigrationHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LiveImportAvailableProject { /** List of clusters that can be migrated to MongoDB Cloud. */ deployments: LiveImportAvailableProjectDeploymentsList; /** Hostname of MongoDB Agent list that you configured to perform a migration. */ migrationHosts: LiveImportAvailableProjectMigrationHostsList; /** Human-readable label that identifies this project. */ name: string; /** Unique 24-hexadecimal digit string that identifies the project to be migrated. */ projectId: string; } export const LiveImportAvailableProject = /*@__PURE__*/ S.suspend(() => S.Struct({ deployments: LiveImportAvailableProjectDeploymentsList, migrationHosts: LiveImportAvailableProjectMigrationHostsList, name: S.String, projectId: S.String, }), ).annotate({ identifier: "LiveImportAvailableProject", }) as any as S.Schema; export type ListOrgLiveMigrationAvailableProjectsResponseBodyList = Array; export const ListOrgLiveMigrationAvailableProjectsResponseBodyList = /*@__PURE__*/ S.Array( LiveImportAvailableProject, ) as any as S.Schema; export type ListOrgLiveMigrationAvailableProjectsResponse = ListOrgLiveMigrationAvailableProjectsResponseBodyList; export const ListOrgLiveMigrationAvailableProjectsResponse = /*@__PURE__*/ S.suspend(() => ListOrgLiveMigrationAvailableProjectsResponseBodyList.pipe( T.RawResponseRoot(), ), ).annotate({ identifier: "ListOrgLiveMigrationAvailableProjectsResponse", }) as any as S.Schema; export interface ListOrgMcpConfigsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgMcpConfigsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/mcpConfigs", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListOrgMcpConfigsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedOrgMcpConfigViewLinksList = Array; export const PaginatedOrgMcpConfigViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedOrgMcpConfigViewResultsList = Array; export const PaginatedOrgMcpConfigViewResultsList = /*@__PURE__*/ S.Array( OrgMcpConfigResponse, ) as any as S.Schema; export interface PaginatedOrgMcpConfigView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedOrgMcpConfigViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedOrgMcpConfigViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedOrgMcpConfigView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedOrgMcpConfigViewLinksList), results: PaginatedOrgMcpConfigViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedOrgMcpConfigView", }) as any as S.Schema; export interface ListOrgMcpConfigSecretsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique identifier of the MCP configuration. */ mcpConfigId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgMcpConfigSecretsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/mcpConfigs/{mcpConfigId}/secrets", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListOrgMcpConfigSecretsRequest", }) as any as S.Schema; export interface ListOrgResourcePoliciesRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgResourcePoliciesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/resourcePolicies", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ListOrgResourcePoliciesRequest", }) as any as S.Schema; export type ListOrgResourcePoliciesResponseBodyList = Array; export const ListOrgResourcePoliciesResponseBodyList = /*@__PURE__*/ S.Array( ApiAtlasResourcePolicyView, ) as any as S.Schema; export type ListOrgResourcePoliciesResponse = ListOrgResourcePoliciesResponseBodyList; export const ListOrgResourcePoliciesResponse = /*@__PURE__*/ S.suspend(() => ListOrgResourcePoliciesResponseBodyList.pipe(T.RawResponseRoot()), ).annotate({ identifier: "ListOrgResourcePoliciesResponse", }) as any as S.Schema; export interface ListOrgsRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label of the organization to use to filter the returned list. Performs a case-insensitive search for an organization that starts with the specified name. */ name?: string; } export const ListOrgsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListOrgsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedOrganizationViewLinksList = Array; export const PaginatedOrganizationViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedOrganizationViewResultsList = Array; export const PaginatedOrganizationViewResultsList = /*@__PURE__*/ S.Array( AtlasOrganization, ) as any as S.Schema; export interface PaginatedOrganizationView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedOrganizationViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedOrganizationViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedOrganizationView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedOrganizationViewLinksList), results: PaginatedOrganizationViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedOrganizationView", }) as any as S.Schema; export interface ListOrgServiceAccountAccessListRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgServiceAccountAccessListRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ orgId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/accessList", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ListOrgServiceAccountAccessListRequest", }) as any as S.Schema; export interface ListOrgServiceAccountsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether system-managed Service Accounts (such as those used for MCP ingress/egress integrations) are included in the response. When false, only user-managed Service Accounts are returned. */ includeSystemManaged?: boolean; } export const ListOrgServiceAccountsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), includeSystemManaged: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ListOrgServiceAccountsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedOrgServiceAccountsLinksList = Array; export const PaginatedOrgServiceAccountsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedOrgServiceAccountsResultsList = Array; export const PaginatedOrgServiceAccountsResultsList = /*@__PURE__*/ S.Array( OrgServiceAccount, ) as any as S.Schema; /** A list of Organization Service Accounts. */ export interface PaginatedOrgServiceAccounts { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedOrgServiceAccountsLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedOrgServiceAccountsResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedOrgServiceAccounts = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedOrgServiceAccountsLinksList), results: PaginatedOrgServiceAccountsResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedOrgServiceAccounts", }) as any as S.Schema; export interface ListOrgTeamsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListOrgTeamsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/teams", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ListOrgTeamsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedTeamViewLinksList = Array; export const PaginatedTeamViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedTeamViewResultsList = Array; export const PaginatedTeamViewResultsList = /*@__PURE__*/ S.Array( TeamResponse, ) as any as S.Schema; export interface PaginatedTeamView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedTeamViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedTeamViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedTeamView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedTeamViewLinksList), results: PaginatedTeamViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedTeamView", }) as any as S.Schema; export type ListOrgTeamUsersRequestOrgMembershipStatusesItem = | "PENDING" | "ACTIVE" | "INVITATION_EXPIRED" | "INVITATION_REJECTED"; export const ListOrgTeamUsersRequestOrgMembershipStatusesItem = S.String; export type ListOrgTeamUsersRequestOrgMembershipStatusesList = Array< ListOrgTeamUsersRequestOrgMembershipStatusesItem | (string & {}) >; export const ListOrgTeamUsersRequestOrgMembershipStatusesList = /*@__PURE__*/ S.Array( ListOrgTeamUsersRequestOrgMembershipStatusesItem, ) as any as S.Schema; export interface ListOrgTeamUsersRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the team whose application users you want to return. */ teamId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Email address to filter users by. Not supported in deprecated versions. */ username?: string; /** Deprecated: Use `orgMembershipStatuses` instead. Organization membership status to filter users by. Allowed values: `ACTIVE`, `PENDING`, `INVITATION_EXPIRED`, `INVITATION_REJECTED`. If you exclude this parameter, this resource returns ACTIVE and PENDING users. Not supported in deprecated versions. */ orgMembershipStatus?: string; /** Organization membership status to filter users by. You can supply this parameter multiple times. Allowed values: `ACTIVE`, `PENDING`, `INVITATION_EXPIRED`, `INVITATION_REJECTED`. Replaces the deprecated `orgMembershipStatus` parameter. If you exclude this parameter, this resource returns ACTIVE and PENDING users. Cannot be combined with `orgMembershipStatus`. Not supported in deprecated versions. */ orgMembershipStatuses?: ListOrgTeamUsersRequestOrgMembershipStatusesList; /** Unique 24-hexadecimal digit string to filter users by. Not supported in deprecated versions. */ userId?: string; } export const ListOrgTeamUsersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), teamId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), username: S.optional(S.String.pipe(T.Query())), orgMembershipStatus: S.optional(S.String.pipe(T.Query())), orgMembershipStatuses: S.optional( ListOrgTeamUsersRequestOrgMembershipStatusesList.pipe(T.Query()), ), userId: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/teams/{teamId}/users", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "ListOrgTeamUsersRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedOrgUserViewLinksList = Array; export const PaginatedOrgUserViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedOrgUserViewResultsList = Array; export const PaginatedOrgUserViewResultsList = /*@__PURE__*/ S.Array( OrgUserResponse, ) as any as S.Schema; export interface PaginatedOrgUserView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedOrgUserViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedOrgUserViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedOrgUserView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedOrgUserViewLinksList), results: PaginatedOrgUserViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedOrgUserView", }) as any as S.Schema; export type ListOrgUsersRequestOrgMembershipStatusesItem = | "PENDING" | "ACTIVE" | "INVITATION_EXPIRED" | "INVITATION_REJECTED"; export const ListOrgUsersRequestOrgMembershipStatusesItem = S.String; export type ListOrgUsersRequestOrgMembershipStatusesList = Array< ListOrgUsersRequestOrgMembershipStatusesItem | (string & {}) >; export const ListOrgUsersRequestOrgMembershipStatusesList = /*@__PURE__*/ S.Array( ListOrgUsersRequestOrgMembershipStatusesItem, ) as any as S.Schema; export interface ListOrgUsersRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Email address to filter users by. Not supported in deprecated versions. */ username?: string; /** Deprecated: Use `orgMembershipStatuses` instead. Organization membership status to filter users by. Allowed values: `ACTIVE`, `PENDING`, `INVITATION_EXPIRED`, `INVITATION_REJECTED`. If you exclude this parameter, this resource returns ACTIVE and PENDING users. Not supported in deprecated versions. */ orgMembershipStatus?: string; /** Organization membership status to filter users by. You can supply this parameter multiple times. Allowed values: `ACTIVE`, `PENDING`, `INVITATION_EXPIRED`, `INVITATION_REJECTED`. Replaces the deprecated `orgMembershipStatus` parameter. If you exclude this parameter, this resource returns ACTIVE and PENDING users. Cannot be combined with `orgMembershipStatus`. Not supported in deprecated versions. */ orgMembershipStatuses?: ListOrgUsersRequestOrgMembershipStatusesList; } export const ListOrgUsersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), username: S.optional(S.String.pipe(T.Query())), orgMembershipStatus: S.optional(S.String.pipe(T.Query())), orgMembershipStatuses: S.optional( ListOrgUsersRequestOrgMembershipStatusesList.pipe(T.Query()), ), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/users", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "ListOrgUsersRequest", }) as any as S.Schema; export interface ListRateLimitsRequest { /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Unique 24-hexadecimal digit string that identifies the Atlas Project to request rate limits for. When this parameter is provided, only group scoped endpoint sets are returned and the limits returned are applicable to the specified project. The requesting user must have the Project Read Only role for the specified project. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the Atlas Organization to request rate limits for. When this parameter is provided, only organization scoped endpoint sets are returned and the limits returned are applicable to the specified organization. The requesting user must have the Organization Read Only role for the specified organization. */ orgId?: string; /** A string that identifies the Atlas user to request rate limits for. The ID can for example be the Service Account Client ID or the API Public Key. When this parameter is provided, only user scoped endpoint sets are returned and the limits returned are applicable to the specified user. The requesting user must be the same as the specified user. */ userId?: string; /** An IP address to request rate limits for. When this parameter is provided, only IP scoped endpoint sets are returned and the limits returned are applicable to the specified IP address. The requesting user must have the same IP address as the one provided in the request. */ ipAddress?: string; /** Filters the returned endpoint sets by the provided endpoint set name. Multiple names may be provided, for example `/rateLimits?name=Name1&name=Name2`. For names that use spaces, replace the space with its URL-encoded value (`%20`). */ name?: string; /** Filters the returned endpoint sets by the provided endpoint path. Multiple paths may be provided, for example `/rateLimits?endpointPath=%2Fapi%2Fatlas%2Fv2%2Fclusters&endpointPath=%2Fapi%2Fatlas%2Fv2%2Fgroups%2F%7BgroupId%7D%2F`. Replace `/`, `{` and `}` with their URL-encoded values (`%2F`, `%7B` and `%7D` respectively). */ endpointPath?: string; } export const ListRateLimitsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), groupId: S.optional(S.String.pipe(T.Query())), orgId: S.optional(S.String.pipe(T.Query())), userId: S.optional(S.String.pipe(T.Query())), ipAddress: S.optional(S.String.pipe(T.Query())), name: S.optional(S.String.pipe(T.Query())), endpointPath: S.optional(S.String.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/rateLimits", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListRateLimitsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedRateLimitEndpointSetsLinksList = Array; export const PaginatedRateLimitEndpointSetsLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedRateLimitEndpointSetsResultsList = Array; export const PaginatedRateLimitEndpointSetsResultsList = /*@__PURE__*/ S.Array( RateLimitEndpointSetResponse, ) as any as S.Schema; /** A list of rate limit endpoint sets. */ export interface PaginatedRateLimitEndpointSets { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedRateLimitEndpointSetsLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedRateLimitEndpointSetsResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedRateLimitEndpointSets = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedRateLimitEndpointSetsLinksList), results: PaginatedRateLimitEndpointSetsResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedRateLimitEndpointSets", }) as any as S.Schema; export interface ListSkusRequest { /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ListSkusRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/skus", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ListSkusRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedApiSKUViewLinksList = Array; export const PaginatedApiSKUViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedApiSKUViewResultsList = Array; export const PaginatedApiSKUViewResultsList = /*@__PURE__*/ S.Array( SkuResponse, ) as any as S.Schema; export interface PaginatedApiSKUView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedApiSKUViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedApiSKUViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedApiSKUView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedApiSKUViewLinksList), results: PaginatedApiSKUViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedApiSKUView", }) as any as S.Schema; export interface MigrateGroupRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Unique 24-hexadecimal digit string that identifies the organization to move the specified project to. */ destinationOrgId?: string; /** Unique string that identifies the private part of the API Key used to verify access to the destination organization. This parameter is required only when you authenticate with Programmatic API Keys. */ destinationOrgPrivateApiKey?: string; /** Unique string that identifies the public part of the API Key used to verify access to the destination organization. This parameter is required only when you authenticate with Programmatic API Keys. */ destinationOrgPublicApiKey?: string; } export const MigrateGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), destinationOrgId: S.optional(S.String), destinationOrgPrivateApiKey: S.optional(S.String), destinationOrgPublicApiKey: S.optional(S.String), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}:migrate", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "MigrateGroupRequest", }) as any as S.Schema; /** List of namespace strings (combination of database and collection) on the specified host or cluster. */ export type PinGroupClusterCollStatPinnedNamespacesRequestNamespacesList = Array; export const PinGroupClusterCollStatPinnedNamespacesRequestNamespacesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface PinGroupClusterCollStatPinnedNamespacesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster to pin namespaces to. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** List of namespace strings (combination of database and collection) on the specified host or cluster. */ namespaces?: PinGroupClusterCollStatPinnedNamespacesRequestNamespacesList; } export const PinGroupClusterCollStatPinnedNamespacesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), namespaces: S.optional( PinGroupClusterCollStatPinnedNamespacesRequestNamespacesList, ), }).pipe( T.Http({ method: "PUT", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collStats/pinned", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "PinGroupClusterCollStatPinnedNamespacesRequest", }) as any as S.Schema; export interface PinGroupClusterFeatureCompatibilityVersionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Expiration date of the fixed FCV. If not specified, the expiration date will default to 4 weeks from the date FCV was originally pinned. Note that this field cannot exceed 4 weeks from the pinned date. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expirationDate?: string; } export const PinGroupClusterFeatureCompatibilityVersionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), expirationDate: S.optional(S.String), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}:pinFeatureCompatibilityVersion", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "PinGroupClusterFeatureCompatibilityVersionRequest", }) as any as S.Schema; export interface PinGroupClusterFeatureCompatibilityVersionResponse {} export const PinGroupClusterFeatureCompatibilityVersionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "PinGroupClusterFeatureCompatibilityVersionResponse", }) as any as S.Schema; export interface RejectGroupStreamVpcPeeringConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The VPC Peering Connection id. */ id: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const RejectGroupStreamVpcPeeringConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams/vpcPeeringConnections/{id}:reject", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "RejectGroupStreamVpcPeeringConnectionRequest", }) as any as S.Schema; export interface RejectGroupStreamVpcPeeringConnectionResponse {} export const RejectGroupStreamVpcPeeringConnectionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "RejectGroupStreamVpcPeeringConnectionResponse", }) as any as S.Schema; export interface RemoveFederationSettingConnectedOrgConfigRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the connected organization configuration to remove. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const RemoveFederationSettingConnectedOrgConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "RemoveFederationSettingConnectedOrgConfigRequest", }) as any as S.Schema; export interface RemoveFederationSettingConnectedOrgConfigResponse {} export const RemoveFederationSettingConnectedOrgConfigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "RemoveFederationSettingConnectedOrgConfigResponse", }) as any as S.Schema; export interface RemoveGroupApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key that you want to unassign from one project. */ apiUserId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const RemoveGroupApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/apiKeys/{apiUserId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "RemoveGroupApiKeyRequest", }) as any as S.Schema; export interface RemoveGroupApiKeyResponse {} export const RemoveGroupApiKeyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "RemoveGroupApiKeyResponse", }) as any as S.Schema; export interface RemoveGroupTeamRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the team that you want to remove from the specified project. */ teamId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const RemoveGroupTeamRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), teamId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/teams/{teamId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "RemoveGroupTeamRequest", }) as any as S.Schema; export interface RemoveGroupTeamResponse {} export const RemoveGroupTeamResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "RemoveGroupTeamResponse", }) as any as S.Schema; export interface RemoveGroupUserRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the pending or active user in the project. If you need to lookup a user's `userId` or verify a user's status in the organization, use the [Return All MongoDB Cloud Users in One Project](#tag/MongoDB-Cloud-Users/operation/listProjectUsers) resource and filter by `username`. */ userId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const RemoveGroupUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), userId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/users/{userId}", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "RemoveGroupUserRequest", }) as any as S.Schema; export interface RemoveGroupUserResponse {} export const RemoveGroupUserResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "RemoveGroupUserResponse", }) as any as S.Schema; export interface RemoveGroupUserRoleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the pending or active user in the project. If you need to lookup a user's `userId` or verify a user's status in the organization, use the Return All MongoDB Cloud Users in One Project resource and filter by `username`. */ userId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Project-level role to assign to or remove from the MongoDB Cloud user. */ groupRole: string; } export const RemoveGroupUserRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), userId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), groupRole: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/users/{userId}:removeRole", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "RemoveGroupUserRoleRequest", }) as any as S.Schema; export interface RemoveOrgTeamUserRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the team to remove the MongoDB user from. */ teamId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user. */ id: string; } export const RemoveOrgTeamUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), teamId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), id: S.String, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/teams/{teamId}:removeUser", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "RemoveOrgTeamUserRequest", }) as any as S.Schema; export interface RemoveOrgUserRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the pending or active user in the organization. If you need to lookup a user's `userId` or verify a user's status in the organization, use the [Return All MongoDB Cloud Users in One Organization](#tag/MongoDB-Cloud-Users/operation/listOrganizationUsers) resource and filter by `username`. */ userId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const RemoveOrgUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), userId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/orgs/{orgId}/users/{userId}", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "RemoveOrgUserRequest", }) as any as S.Schema; export interface RemoveOrgUserResponse {} export const RemoveOrgUserResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "RemoveOrgUserResponse", }) as any as S.Schema; /** Organization-level role. */ export type RemoveOrgUserRoleRequestOrgRole = | "ORG_OWNER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_READ_ONLY" | "ORG_MEMBER"; export const RemoveOrgUserRoleRequestOrgRole = S.String; export interface RemoveOrgUserRoleRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the pending or active user in the organization. If you need to lookup a user's `userId` or verify a user's status in the organization, use the Return All MongoDB Cloud Users in One Organization resource and filter by `username`. */ userId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Organization-level role. */ orgRole: RemoveOrgUserRoleRequestOrgRole | (string & {}); } export const RemoveOrgUserRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), userId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), orgRole: RemoveOrgUserRoleRequestOrgRole, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/users/{userId}:removeRole", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "RemoveOrgUserRoleRequest", }) as any as S.Schema; export interface RenameOrgTeamRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the team that you want to rename. */ teamId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the team. */ name: string; } export const RenameOrgTeamRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), teamId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.String, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/orgs/{orgId}/teams/{teamId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "RenameOrgTeamRequest", }) as any as S.Schema; export type RequestGroupEncryptionAtRestPrivateEndpointDeletionRequestCloudProvider = | "AZURE" | "AWS"; export const RequestGroupEncryptionAtRestPrivateEndpointDeletionRequestCloudProvider = S.String; export interface RequestGroupEncryptionAtRestPrivateEndpointDeletionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cloud provider of the private endpoint to delete. */ cloudProvider: | RequestGroupEncryptionAtRestPrivateEndpointDeletionRequestCloudProvider | (string & {}); /** Unique 24-hexadecimal digit string that identifies the private endpoint to delete. */ endpointId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const RequestGroupEncryptionAtRestPrivateEndpointDeletionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloudProvider: RequestGroupEncryptionAtRestPrivateEndpointDeletionRequestCloudProvider.pipe( T.Label(), ), endpointId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/encryptionAtRest/{cloudProvider}/privateEndpoints/{endpointId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "RequestGroupEncryptionAtRestPrivateEndpointDeletionRequest", }) as any as S.Schema; export interface RequestGroupEncryptionAtRestPrivateEndpointDeletionResponse {} export const RequestGroupEncryptionAtRestPrivateEndpointDeletionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "RequestGroupEncryptionAtRestPrivateEndpointDeletionResponse", }) as any as S.Schema; export interface RequestGroupSampleDatasetLoadRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster into which you load the sample dataset. */ name: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const RequestGroupSampleDatasetLoadRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/sampleDatasetLoad/{name}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "RequestGroupSampleDatasetLoadRequest", }) as any as S.Schema; export type ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud = "ANY"; export const ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud = S.String; export type ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography = "ANY"; export const ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography = S.String; export interface ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Cloud provider scope. Must be "ANY". Additional values will be supported in future API versions. */ cloud: | ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud | (string & {}); /** Geography scope. Must be "ANY". Additional values will be supported in future API versions. */ geography: | ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography | (string & {}); /** The name of the model group to be reset to default rate limits. */ modelGroupName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloud: ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud.pipe( T.Label(), ), geography: ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography.pipe( T.Label(), ), modelGroupName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiClouds/{cloud}/geographies/{geography}/modelGroupNames/{modelGroupName}/rateLimits:reset", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest", }) as any as S.Schema; export interface ResetGroupAiModelApiRateLimitsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const ResetGroupAiModelApiRateLimitsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiRateLimits:reset", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "ResetGroupAiModelApiRateLimitsRequest", }) as any as S.Schema; export interface ResetGroupMaintenanceWindowRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const ResetGroupMaintenanceWindowRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/groups/{groupId}/maintenanceWindow", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ResetGroupMaintenanceWindowRequest", }) as any as S.Schema; export interface ResetGroupMaintenanceWindowResponse {} export const ResetGroupMaintenanceWindowResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "ResetGroupMaintenanceWindowResponse", }) as any as S.Schema; export interface RestartGroupClusterPrimariesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const RestartGroupClusterPrimariesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restartPrimaries", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "RestartGroupClusterPrimariesRequest", }) as any as S.Schema; export interface RestartGroupClusterPrimariesResponse {} export const RestartGroupClusterPrimariesResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "RestartGroupClusterPrimariesResponse", }) as any as S.Schema; export interface RevokeFederationSettingIdentityProviderJwksRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the identity provider to connect. */ identityProviderId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const RevokeFederationSettingIdentityProviderJwksRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), identityProviderId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "DELETE", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}/jwks", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "RevokeFederationSettingIdentityProviderJwksRequest", }) as any as S.Schema; export interface RevokeFederationSettingIdentityProviderJwksResponse {} export const RevokeFederationSettingIdentityProviderJwksResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "RevokeFederationSettingIdentityProviderJwksResponse", }) as any as S.Schema; export interface RevokeGroupClusterMongoDbEmployeeAccessRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const RevokeGroupClusterMongoDbEmployeeAccessRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}:revokeMongoDBEmployeeAccess", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "RevokeGroupClusterMongoDbEmployeeAccessRequest", }) as any as S.Schema; export interface RevokeGroupClusterMongoDbEmployeeAccessResponse {} export const RevokeGroupClusterMongoDbEmployeeAccessResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "RevokeGroupClusterMongoDbEmployeeAccessResponse", }) as any as S.Schema; /** The list of unique cluster ids to be included in the Usage Details filter. */ export type UsageDetailsFilterRequestClusterIdsList = Array; export const UsageDetailsFilterRequestClusterIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** The list of groups to be included in the Usage Details filter. */ export type UsageDetailsFilterRequestGroupIdsList = Array; export const UsageDetailsFilterRequestGroupIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type UsageDetailsFilterRequestSkuServicesItem = | "Atlas" | "Clusters" | "Storage" | "Serverless Instances" | "Backup" | "Data Transfer" | "BI Connector" | "DSC Compute" | "DSC Storage" | "Premium Features" | "Atlas Data Federation" | "Atlas Stream Processing" | "App Services" | "Charts" | "Cloud Manager" | "Cloud Manager Standard/Premium" | "Legacy Backup" | "AI Model APIs" | "Automated Embedding" | "Native Reranking" | "Flex Consulting" | "Support" | "Credits"; export const UsageDetailsFilterRequestSkuServicesItem = S.String; /** The list of projects to be included in the Cost Explorer Query. */ export type UsageDetailsFilterRequestSkuServicesList = Array< UsageDetailsFilterRequestSkuServicesItem | (string & {}) >; export const UsageDetailsFilterRequestSkuServicesList = /*@__PURE__*/ S.Array( UsageDetailsFilterRequestSkuServicesItem, ) as any as S.Schema; /** Request body which contains various fields to filter line items as part of certain Invoice Usage Details queries. */ export interface UsageDetailsFilterRequest { /** The inclusive billing start date for usage details filter. */ billEndDate?: string; /** The inclusive billing start date for usage details filter. */ billStartDate?: string; /** The list of unique cluster ids to be included in the Usage Details filter. */ clusterIds?: UsageDetailsFilterRequestClusterIdsList; /** The list of groups to be included in the Usage Details filter. */ groupIds?: UsageDetailsFilterRequestGroupIdsList; /** Whether zero cent line items should be included. */ includeZeroCentLineItems?: boolean; /** The list of projects to be included in the Cost Explorer Query. */ skuServices?: UsageDetailsFilterRequestSkuServicesList; /** The inclusive billing start date for usage details filter. */ usageEndDate?: string; /** The inclusive usage start date for usage details filter. */ usageStartDate?: string; } export const UsageDetailsFilterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ billEndDate: S.optional(S.String), billStartDate: S.optional(S.String), clusterIds: S.optional(UsageDetailsFilterRequestClusterIdsList), groupIds: S.optional(UsageDetailsFilterRequestGroupIdsList), includeZeroCentLineItems: S.optional(S.Boolean), skuServices: S.optional(UsageDetailsFilterRequestSkuServicesList), usageEndDate: S.optional(S.String), usageStartDate: S.optional(S.String), }), ).annotate({ identifier: "UsageDetailsFilterRequest", }) as any as S.Schema; /** Specify the field used to specify how to sort query results. Default to bill date. */ export type SearchOrgInvoiceLineItemsRequestSortField = | "USAGE_DATES" | "BILL_DATES" | "TOTAL_PRICE_CENTS"; export const SearchOrgInvoiceLineItemsRequestSortField = S.String; /** Specify the sort order (ascending / descending) used to specify how to sort query results. Defaults to descending. */ export type SearchOrgInvoiceLineItemsRequestSortOrder = | "ASCENDING" | "DESCENDING"; export const SearchOrgInvoiceLineItemsRequestSortOrder = S.String; export interface SearchOrgInvoiceLineItemsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the invoice submitted to the specified organization. Charges typically post the next day. */ invoiceId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; filters?: UsageDetailsFilterRequest; /** Specify the field used to specify how to sort query results. Default to bill date. */ sortField?: SearchOrgInvoiceLineItemsRequestSortField | (string & {}); /** Specify the sort order (ascending / descending) used to specify how to sort query results. Defaults to descending. */ sortOrder?: SearchOrgInvoiceLineItemsRequestSortOrder | (string & {}); } export const SearchOrgInvoiceLineItemsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), invoiceId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), filters: S.optional(UsageDetailsFilterRequest), sortField: S.optional(SearchOrgInvoiceLineItemsRequestSortField), sortOrder: S.optional(SearchOrgInvoiceLineItemsRequestSortOrder), }).pipe( T.Http({ method: "GET", uri: "/api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/lineItems:search", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "SearchOrgInvoiceLineItemsRequest", }) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type PaginatedPublicApiUsageDetailsLineItemViewLinksList = Array; export const PaginatedPublicApiUsageDetailsLineItemViewLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Additional metadata associated with the line item. */ export interface AdditionalData { /** Identifier of the stream processor associated with the line item. */ processorId?: string; /** Name of the stream processor associated with the line item. */ processorName?: string; /** Workspace associated with the line item. */ workspace?: string; } export const AdditionalData = /*@__PURE__*/ S.suspend(() => S.Struct({ processorId: S.optional(S.String), processorName: S.optional(S.String), workspace: S.optional(S.String), }), ).annotate({ identifier: "AdditionalData" }) as any as S.Schema; /** Code identifying the cloud provider this line item's usage is attributed to. Values map as follows: AWS is Amazon Web Services, GCP is Google Cloud, AZURE is Microsoft Azure, and ATLAS is other Atlas usage not tied to a specific cloud provider. */ export type PublicApiUsageDetailsLineItemViewCloudProvider = | "AWS" | "GCP" | "AZURE" | "ATLAS"; export const PublicApiUsageDetailsLineItemViewCloudProvider = S.String; export interface PublicApiUsageDetailsLineItemView { additionalData?: AdditionalData; /** Billing date of the line item. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ billDate?: string; /** Code identifying the cloud provider this line item's usage is attributed to. Values map as follows: AWS is Amazon Web Services, GCP is Google Cloud, AZURE is Microsoft Azure, and ATLAS is other Atlas usage not tied to a specific cloud provider. */ cloudProvider?: PublicApiUsageDetailsLineItemViewCloudProvider; /** Cluster associated with the line item. */ clusterName?: string; /** Description of the line item, which can include SKU name and other identifying information. */ description?: string; /** Group id associated with the line item. */ groupId?: string; /** Quantity of line item in units associated with SKU. */ quantity?: number; /** Price * quantity in applicable units, expressed as an integral number of cents. */ totalPriceCents?: number; /** Price in units associated with the SKU for the line item. */ unitPriceDollars?: number; /** Usage date of the line item. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ usageDate?: string; } export const PublicApiUsageDetailsLineItemView = /*@__PURE__*/ S.suspend(() => S.Struct({ additionalData: S.optional(AdditionalData), billDate: S.optional(S.String), cloudProvider: S.optional(PublicApiUsageDetailsLineItemViewCloudProvider), clusterName: S.optional(S.String), description: S.optional(S.String), groupId: S.optional(S.String), quantity: S.optional(S.Number), totalPriceCents: S.optional(S.Number), unitPriceDollars: S.optional(S.Number), usageDate: S.optional(S.String), }), ).annotate({ identifier: "PublicApiUsageDetailsLineItemView", }) as any as S.Schema; /** List of returned documents that MongoDB Cloud provides when completing this request. */ export type PaginatedPublicApiUsageDetailsLineItemViewResultsList = Array; export const PaginatedPublicApiUsageDetailsLineItemViewResultsList = /*@__PURE__*/ S.Array( PublicApiUsageDetailsLineItemView, ) as any as S.Schema; export interface PaginatedPublicApiUsageDetailsLineItemView { /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: PaginatedPublicApiUsageDetailsLineItemViewLinksList; /** List of returned documents that MongoDB Cloud provides when completing this request. */ results: PaginatedPublicApiUsageDetailsLineItemViewResultsList; /** Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact. */ totalCount?: number; } export const PaginatedPublicApiUsageDetailsLineItemView = /*@__PURE__*/ S.suspend(() => S.Struct({ links: S.optional(PaginatedPublicApiUsageDetailsLineItemViewLinksList), results: PaginatedPublicApiUsageDetailsLineItemViewResultsList, totalCount: S.optional(S.Number), }), ).annotate({ identifier: "PaginatedPublicApiUsageDetailsLineItemView", }) as any as S.Schema; export type SetGroupDataFederationLimitRequestLimitName = | "bytesProcessed.query" | "bytesProcessed.daily" | "bytesProcessed.weekly" | "bytesProcessed.monthly"; export const SetGroupDataFederationLimitRequestLimitName = S.String; /** Only used for Data Federation limits. Action to take when the usage limit is exceeded. If limit span is set to QUERY, this is ignored because MongoDB Cloud stops the query when it exceeds the usage limit. */ export type SetGroupDataFederationLimitRequestOverrunPolicy = | "BLOCK" | "BLOCK_AND_KILL"; export const SetGroupDataFederationLimitRequestOverrunPolicy = S.String; export interface SetGroupDataFederationLimitRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the federated database instance to which the query limit applies. */ tenantName: string; /** Human-readable label that identifies this data federation instance limit. | Limit Name | Description | Default | | --- | --- | --- | | `bytesProcessed.query` | Limit on the number of bytes processed during a single data federation query | N/A | | `bytesProcessed.daily` | Limit on the number of bytes processed for the data federation instance for the current day | N/A | | `bytesProcessed.weekly` | Limit on the number of bytes processed for the data federation instance for the current week | N/A | | `bytesProcessed.monthly` | Limit on the number of bytes processed for the data federation instance for the current month | N/A | */ limitName: SetGroupDataFederationLimitRequestLimitName | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Only used for Data Federation limits. Action to take when the usage limit is exceeded. If limit span is set to QUERY, this is ignored because MongoDB Cloud stops the query when it exceeds the usage limit. */ overrunPolicy?: | SetGroupDataFederationLimitRequestOverrunPolicy | (string & {}); /** Amount to set the limit to. */ value: number; } export const SetGroupDataFederationLimitRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), limitName: SetGroupDataFederationLimitRequestLimitName.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), overrunPolicy: S.optional(SetGroupDataFederationLimitRequestOverrunPolicy), value: S.Number, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/limits/{limitName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "SetGroupDataFederationLimitRequest", }) as any as S.Schema; export type SetGroupLimitRequestLimitName = | "atlas.project.security.databaseAccess.users" | "atlas.project.deployment.clusters" | "atlas.project.deployment.serverlessMTMs" | "atlas.project.security.databaseAccess.customRoles" | "atlas.project.security.networkAccess.entries" | "atlas.project.security.networkAccess.crossRegionEntries" | "atlas.project.deployment.nodesPerPrivateLinkRegion" | "dataFederation.bytesProcessed.query" | "dataFederation.bytesProcessed.daily" | "dataFederation.bytesProcessed.weekly" | "dataFederation.bytesProcessed.monthly" | "atlas.project.deployment.privateServiceConnectionsPerRegionGroup" | "atlas.project.deployment.privateServiceConnectionsSubnetMask"; export const SetGroupLimitRequestLimitName = S.String; export interface SetGroupLimitRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this project limit. | Limit Name | Description | Default | API Override Limit | | --- | --- | --- | --- | | `atlas.project.deployment.clusters` | Limit on the number of clusters in this project | 25 | 100 | | `atlas.project.deployment.nodesPerPrivateLinkRegion` | Limit on AWS PrivateLink addressable target nodes per region in this project. For sharded clusters using optimized (load-balanced) connection strings, `currentUsage` doesn't grow with the number of `mongos` — the load balancer is counted as a single addressable target regardless of how many `mongos` sit behind it. | 50 | 90 | | `atlas.project.security.databaseAccess.customRoles` | Limit on the number of custom roles in this project | 100 | 1400 | | `atlas.project.security.databaseAccess.users` | Limit on the number of database users in this project | 100 | 100 | | `atlas.project.security.networkAccess.crossRegionEntries` | Limit on the number of cross-region network access entries in this project | 40 | 220 | | `atlas.project.security.networkAccess.entries` | Limit on the number of network access entries in this project | 200 | 20 | | `dataFederation.bytesProcessed.query` | Limit on the number of bytes processed during a single Data Federation query | N/A | N/A | | `dataFederation.bytesProcessed.daily` | Limit on the number of bytes processed across all Data Federation tenants for the current day | N/A | N/A | | `dataFederation.bytesProcessed.weekly` | Limit on the number of bytes processed across all Data Federation tenants for the current week | N/A | N/A | | `dataFederation.bytesProcessed.monthly` | Limit on the number of bytes processed across all Data Federation tenants for the current month | N/A | N/A | | `atlas.project.deployment.privateServiceConnectionsPerRegionGroup` | Number of Private Service Connections per Region Group | 50 | 100| | `atlas.project.deployment.privateServiceConnectionsSubnetMask` | Subnet mask for GCP PSC Networks. Has lower limit of 20. | 27 | 27| */ limitName: SetGroupLimitRequestLimitName | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Amount to set the limit to. */ value: number; } export const SetGroupLimitRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), limitName: SetGroupLimitRequestLimitName.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), value: S.Number, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/limits/{limitName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "SetGroupLimitRequest", }) as any as S.Schema; /** List of settings that specify the type of cluster outage simulation. */ export type StartGroupClusterOutageSimulationRequestOutageFiltersList = Array; export const StartGroupClusterOutageSimulationRequestOutageFiltersList = /*@__PURE__*/ S.Array( AtlasClusterOutageSimulationOutageFilter, ) as any as S.Schema; export interface StartGroupClusterOutageSimulationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster to undergo an outage simulation. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** List of settings that specify the type of cluster outage simulation. */ outageFilters?: StartGroupClusterOutageSimulationRequestOutageFiltersList; } export const StartGroupClusterOutageSimulationRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), outageFilters: S.optional( StartGroupClusterOutageSimulationRequestOutageFiltersList, ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "StartGroupClusterOutageSimulationRequest", }) as any as S.Schema; export interface StartGroupStreamProcessorRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream processor. */ processorName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const StartGroupStreamProcessorRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), processorName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}:start", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "StartGroupStreamProcessorRequest", }) as any as S.Schema; export interface StartGroupStreamProcessorResponse {} export const StartGroupStreamProcessorResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "StartGroupStreamProcessorResponse", }) as any as S.Schema; /** Strategy for the processor: GRACEFUL - attempt to stop the processor, error if processor cannot be stopped. if stop was successful, start the processor in the new region with the latest checkpoint. FORCED - attempt to stop the processor, proceed to starting the processor in the new region with checkpoints disabled regardless of whether or not the stop succeeds. */ export type StreamsStartProcessorFailoverMode = "GRACEFUL" | "FORCED"; export const StreamsStartProcessorFailoverMode = S.String; /** Failover options for starting a stream processor. */ export interface StreamsStartProcessorFailover { /** If true, clears the checkpoint so the failover processor does not resume from it. Applies only to FORCED failover; clearing may cause duplicate or missing records in the output. */ clearCheckpoint?: boolean; /** If true, simulates the operation without making any changes. */ dryRun?: boolean; /** Strategy for the processor: GRACEFUL - attempt to stop the processor, error if processor cannot be stopped. if stop was successful, start the processor in the new region with the latest checkpoint. FORCED - attempt to stop the processor, proceed to starting the processor in the new region with checkpoints disabled regardless of whether or not the stop succeeds. */ mode?: StreamsStartProcessorFailoverMode | (string & {}); /** Cloud provider region where the stream processor should be started in failover mode. The region must be a valid region for the stream processor's cloud provider and must be included in the tenant's configured failover regions, or it may be the tenant's default (primary) region. */ region: string; } export const StreamsStartProcessorFailover = /*@__PURE__*/ S.suspend(() => S.Struct({ clearCheckpoint: S.optional(S.Boolean), dryRun: S.optional(S.Boolean), mode: S.optional(StreamsStartProcessorFailoverMode), region: S.String, }), ).annotate({ identifier: "StreamsStartProcessorFailover", }) as any as S.Schema; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ export type StartGroupStreamProcessorWithRequestTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const StartGroupStreamProcessorWithRequestTier = S.String; export interface StartGroupStreamProcessorWithRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream processor. */ processorName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; autoscaling?: StreamsAutoscalingInput | null; failover?: StreamsStartProcessorFailover; /** When true or not specified, the stream processor resumes from its last checkpoint. When false, the stream processor starts fresh. */ resumeFromCheckpoint?: boolean; /** The operation time after which the change stream source should begin reporting. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ startAtOperationTime?: string; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ tier?: StartGroupStreamProcessorWithRequestTier | (string & {}); } export const StartGroupStreamProcessorWithRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), processorName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), autoscaling: S.optional(S.NullOr(StreamsAutoscalingInput)), failover: S.optional(StreamsStartProcessorFailover), resumeFromCheckpoint: S.optional(S.Boolean), startAtOperationTime: S.optional(S.String), tier: S.optional(StartGroupStreamProcessorWithRequestTier), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}:startWith", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "StartGroupStreamProcessorWithRequest", }) as any as S.Schema; export interface StartGroupStreamProcessorWithResponse {} export const StartGroupStreamProcessorWithResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "StartGroupStreamProcessorWithResponse", }) as any as S.Schema; export interface StopGroupStreamProcessorRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream processor. */ processorName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const StopGroupStreamProcessorRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), processorName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}:stop", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "StopGroupStreamProcessorRequest", }) as any as S.Schema; export interface StopGroupStreamProcessorResponse {} export const StopGroupStreamProcessorResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "StopGroupStreamProcessorResponse", }) as any as S.Schema; export interface TakeGroupClusterBackupSnapshotsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable phrase or sentence that explains the purpose of the snapshot. The resource returns this parameter when `"status" : "onDemand"`. */ description?: string; /** Number of days that MongoDB Cloud should retain the on-demand snapshot. Must be at least **1**. */ retentionInDays?: number; } export const TakeGroupClusterBackupSnapshotsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), description: S.optional(S.String), retentionInDays: S.optional(S.Number), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "TakeGroupClusterBackupSnapshotsRequest", }) as any as S.Schema; /** Human-readable label that identifies how often this snapshot triggers. */ export type DiskBackupSnapshotFrequencyType = | "hourly" | "daily" | "weekly" | "monthly" | "yearly"; export const DiskBackupSnapshotFrequencyType = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupSnapshotLinksList = Array; export const DiskBackupSnapshotLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** List that contains unique identifiers for the policy items. */ export type DiskBackupSnapshotPolicyItemsList = Array; export const DiskBackupSnapshotPolicyItemsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Human-readable label that identifies when this snapshot triggers. */ export type DiskBackupSnapshotSnapshotType = | "onDemand" | "scheduled" | "fallback"; export const DiskBackupSnapshotSnapshotType = S.String; /** Human-readable label that indicates the stage of the backup process for this snapshot. */ export type DiskBackupSnapshotStatus = | "queued" | "inProgress" | "completed" | "failed"; export const DiskBackupSnapshotStatus = S.String; /** Human-readable label that categorizes the cluster as a replica set or sharded cluster. */ export type DiskBackupSnapshotType = "replicaSet" | "shardedCluster"; export const DiskBackupSnapshotType = S.String; export interface DiskBackupSnapshot { /** Date and time when MongoDB Cloud took the snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ createdAt?: string; /** Human-readable phrase or sentence that explains the purpose of the snapshot. The resource returns this parameter when `"status": "onDemand"`. */ description?: string; /** Date and time when MongoDB Cloud deletes the snapshot. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ expiresAt?: string; /** Human-readable label that identifies how often this snapshot triggers. */ frequencyType?: DiskBackupSnapshotFrequencyType; /** Unique 24-hexadecimal digit string that identifies the snapshot. */ id?: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupSnapshotLinksList; /** Unique string that identifies the Amazon Web Services (AWS) Key Management Service (KMS) Customer Master Key (CMK) used to encrypt the snapshot. The resource returns this value when `"encryptionEnabled" : true`. */ masterKeyUUID?: string; /** Version of the MongoDB host that this snapshot backs up. */ mongodVersion?: string; /** List that contains unique identifiers for the policy items. */ policyItems?: DiskBackupSnapshotPolicyItemsList; /** Human-readable label that identifies when this snapshot triggers. */ snapshotType?: DiskBackupSnapshotSnapshotType; /** Human-readable label that indicates the stage of the backup process for this snapshot. */ status?: DiskBackupSnapshotStatus; /** Number of bytes taken to store the backup at time of snapshot. */ storageSizeBytes?: number; /** Human-readable label that categorizes the cluster as a replica set or sharded cluster. */ type?: DiskBackupSnapshotType; } export const DiskBackupSnapshot = /*@__PURE__*/ S.suspend(() => S.Struct({ createdAt: S.optional(S.String), description: S.optional(S.String), expiresAt: S.optional(S.String), frequencyType: S.optional(DiskBackupSnapshotFrequencyType), id: S.optional(S.String), links: S.optional(DiskBackupSnapshotLinksList), masterKeyUUID: S.optional(S.String), mongodVersion: S.optional(S.String), policyItems: S.optional(DiskBackupSnapshotPolicyItemsList), snapshotType: S.optional(DiskBackupSnapshotSnapshotType), status: S.optional(DiskBackupSnapshotStatus), storageSizeBytes: S.optional(S.Number), type: S.optional(DiskBackupSnapshotType), }), ).annotate({ identifier: "DiskBackupSnapshot", }) as any as S.Schema; /** Governs adaptive capacity behavior of Azure nodes in single-cloud Azure clusters or multi-cloud clusters that include Azure nodes. Adaptive capacity enables fallback hardware selection when the primary instance family is unavailable. ``ENABLED`` means the cluster explicitly opts in to adaptive capacity. ``DISABLED`` means the cluster explicitly opts out; the cluster receives capacity errors instead of being placed on fallback hardware. ``null`` means the field is unset; Azure clusters use adaptive capacity by default when the feature is enabled at the group level. Setting this field for single-cloud AWS or GCP clusters is a no-op. */ export type TenantGroupFlexClusterUpgradeRequestAdaptiveCapacity = | "ENABLED" | "DISABLED"; export const TenantGroupFlexClusterUpgradeRequestAdaptiveCapacity = S.String; /** Configuration of nodes that comprise the cluster. */ export type TenantGroupFlexClusterUpgradeRequestClusterType = | "REPLICASET" | "SHARDED" | "GEOSHARDED"; export const TenantGroupFlexClusterUpgradeRequestClusterType = S.String; /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ export type TenantGroupFlexClusterUpgradeRequestConfigServerManagementMode = | "ATLAS_MANAGED" | "FIXED_TO_DEDICATED"; export const TenantGroupFlexClusterUpgradeRequestConfigServerManagementMode = S.String; /** Disk warming mode selection. */ export type TenantGroupFlexClusterUpgradeRequestDiskWarmingMode = | "FULLY_WARMED" | "VISIBLE_EARLIER" | "ENHANCED_FULLY_WARMED"; export const TenantGroupFlexClusterUpgradeRequestDiskWarmingMode = S.String; /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ export type TenantGroupFlexClusterUpgradeRequestEncryptionAtRestProvider = | "NONE" | "AWS" | "AZURE" | "GCP"; export const TenantGroupFlexClusterUpgradeRequestEncryptionAtRestProvider = S.String; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ export type TenantGroupFlexClusterUpgradeRequestLabelsList = Array; export const TenantGroupFlexClusterUpgradeRequestLabelsList = /*@__PURE__*/ S.Array( ComponentLabel, ) as any as S.Schema; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ export type TenantGroupFlexClusterUpgradeRequestReplicaSetScalingStrategy = | "SEQUENTIAL" | "WORKLOAD_TYPE" | "NODE_TYPE"; export const TenantGroupFlexClusterUpgradeRequestReplicaSetScalingStrategy = S.String; /** List of settings that configure your cluster regions. This array has one object per shard representing node configurations in each shard. For replica sets there is only one object representing node configurations. */ export type TenantGroupFlexClusterUpgradeRequestReplicationSpecsList = Array; export const TenantGroupFlexClusterUpgradeRequestReplicationSpecsList = /*@__PURE__*/ S.Array( ReplicationSpec20240805Input, ) as any as S.Schema; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ export type TenantGroupFlexClusterUpgradeRequestRootCertType = "ISRGROOTX1"; export const TenantGroupFlexClusterUpgradeRequestRootCertType = S.String; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ export type TenantGroupFlexClusterUpgradeRequestTagsList = Array; export const TenantGroupFlexClusterUpgradeRequestTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ export type TenantGroupFlexClusterUpgradeRequestVersionReleaseSystem = | "LTS" | "CONTINUOUS"; export const TenantGroupFlexClusterUpgradeRequestVersionReleaseSystem = S.String; export interface TenantGroupFlexClusterUpgradeRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** If reconfiguration is necessary to regain a primary due to a regional outage, submit this field alongside your topology reconfiguration to request a new regional outage resistant topology. Forced reconfigurations during an outage of the majority of electable nodes carry a risk of data loss if replicated writes (even majority committed writes) have not been replicated to the new primary node. MongoDB Atlas docs contain more information. To proceed with an operation which carries that risk, set `acceptDataRisksAndForceReplicaSetReconfig` to the current date. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ acceptDataRisksAndForceReplicaSetReconfig?: string; /** Governs adaptive capacity behavior of Azure nodes in single-cloud Azure clusters or multi-cloud clusters that include Azure nodes. Adaptive capacity enables fallback hardware selection when the primary instance family is unavailable. ``ENABLED`` means the cluster explicitly opts in to adaptive capacity. ``DISABLED`` means the cluster explicitly opts out; the cluster receives capacity errors instead of being placed on fallback hardware. ``null`` means the field is unset; Azure clusters use adaptive capacity by default when the feature is enabled at the group level. Setting this field for single-cloud AWS or GCP clusters is a no-op. */ adaptiveCapacity?: | TenantGroupFlexClusterUpgradeRequestAdaptiveCapacity | (string & {}) | null; advancedConfiguration?: ApiAtlasClusterAdvancedConfigurationView; /** Flag that indicates whether the cluster can perform backups. If set to `true`, the cluster can perform backups. You must set this value to `true` for NVMe clusters. Backup uses Cloud Backups for dedicated clusters and [Shared Cluster Backups](https://docs.atlas.mongodb.com/backup/shared-tier/overview/) for tenant clusters. If set to `false`, the cluster doesn't use backups. */ backupEnabled?: boolean; biConnector?: BiConnector; /** Configuration of nodes that comprise the cluster. */ clusterType?: TenantGroupFlexClusterUpgradeRequestClusterType | (string & {}); /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ configServerManagementMode?: | TenantGroupFlexClusterUpgradeRequestConfigServerManagementMode | (string & {}); /** Disk warming mode selection. */ diskWarmingMode?: | TenantGroupFlexClusterUpgradeRequestDiskWarmingMode | (string & {}); /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ encryptionAtRestProvider?: | TenantGroupFlexClusterUpgradeRequestEncryptionAtRestProvider | (string & {}); /** Set this field to configure the Sharding Management Mode when creating a new Global Cluster. When set to false, the management mode is set to Atlas-Managed Sharding. This mode fully manages the sharding of your Global Cluster and is built to provide a seamless deployment experience. When set to true, the management mode is set to Self-Managed Sharding. This mode leaves the management of shards in your hands and is built to provide an advanced and flexible deployment experience. This setting cannot be changed once the cluster is deployed. */ globalClusterSelfManagedSharding?: boolean; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ labels?: TenantGroupFlexClusterUpgradeRequestLabelsList; /** MongoDB major version of the cluster. Set to the binary major version. On creation: Choose from the available versions of MongoDB, or leave unspecified for the current recommended default in the MongoDB Cloud platform. The recommended version is a recent Long Term Support version. The default is not guaranteed to be the most recently released version throughout the entire release cycle. For versions available in a specific project, see the linked documentation or use the API endpoint for [project LTS versions endpoint](#tag/Projects/operation/getProjectLtsVersions). On update: Increase version only by 1 major version at a time. If the cluster is pinned to a MongoDB feature compatibility version exactly one major version below the current MongoDB version, the MongoDB version can be downgraded to the previous major version. */ mongoDBMajorVersion?: string; /** Human-readable label that identifies the cluster. */ name: string; /** Flag that indicates whether the cluster is paused. */ paused?: boolean; /** Flag that indicates whether the cluster uses continuous cloud backups. */ pitEnabled?: boolean; /** Enable or disable log redaction. This setting configures the ``mongod`` or ``mongos`` to redact any document field contents from a message accompanying a given log event before logging. This prevents the program from writing potentially sensitive data stored on the database to the diagnostic log. Metadata such as error or operation codes, line numbers, and source file names are still visible in the logs. Use ``redactClientLogData`` in conjunction with Encryption at Rest and TLS/SSL (Transport Encryption) to assist compliance with regulatory requirements. *Note*: changing this setting on a cluster will trigger a rolling restart as soon as the cluster is updated. */ redactClientLogData?: boolean; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ replicaSetScalingStrategy?: | TenantGroupFlexClusterUpgradeRequestReplicaSetScalingStrategy | (string & {}); /** List of settings that configure your cluster regions. This array has one object per shard representing node configurations in each shard. For replica sets there is only one object representing node configurations. */ replicationSpecs?: TenantGroupFlexClusterUpgradeRequestReplicationSpecsList; /** Flag that indicates whether the cluster retains backups. */ retainBackups?: boolean; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ rootCertType?: | TenantGroupFlexClusterUpgradeRequestRootCertType | (string & {}); /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ tags?: TenantGroupFlexClusterUpgradeRequestTagsList; /** Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster. */ terminationProtectionEnabled?: boolean; /** Flag that indicates whether AWS time-based snapshot copies will be used instead of slower standard snapshot copies during fast Atlas cross-region initial syncs. This flag is only relevant for clusters containing AWS nodes. */ useAwsTimeBasedSnapshotCopyForFastInitialSync?: boolean; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ versionReleaseSystem?: | TenantGroupFlexClusterUpgradeRequestVersionReleaseSystem | (string & {}); } export const TenantGroupFlexClusterUpgradeRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), acceptDataRisksAndForceReplicaSetReconfig: S.optional(S.String), adaptiveCapacity: S.optional( S.NullOr(TenantGroupFlexClusterUpgradeRequestAdaptiveCapacity), ), advancedConfiguration: S.optional( ApiAtlasClusterAdvancedConfigurationView, ), backupEnabled: S.optional(S.Boolean), biConnector: S.optional(BiConnector), clusterType: S.optional(TenantGroupFlexClusterUpgradeRequestClusterType), configServerManagementMode: S.optional( TenantGroupFlexClusterUpgradeRequestConfigServerManagementMode, ), diskWarmingMode: S.optional( TenantGroupFlexClusterUpgradeRequestDiskWarmingMode, ), encryptionAtRestProvider: S.optional( TenantGroupFlexClusterUpgradeRequestEncryptionAtRestProvider, ), globalClusterSelfManagedSharding: S.optional(S.Boolean), labels: S.optional(TenantGroupFlexClusterUpgradeRequestLabelsList), mongoDBMajorVersion: S.optional(S.String), name: S.String, paused: S.optional(S.Boolean), pitEnabled: S.optional(S.Boolean), redactClientLogData: S.optional(S.Boolean), replicaSetScalingStrategy: S.optional( TenantGroupFlexClusterUpgradeRequestReplicaSetScalingStrategy, ), replicationSpecs: S.optional( TenantGroupFlexClusterUpgradeRequestReplicationSpecsList, ), retainBackups: S.optional(S.Boolean), rootCertType: S.optional( TenantGroupFlexClusterUpgradeRequestRootCertType, ), tags: S.optional(TenantGroupFlexClusterUpgradeRequestTagsList), terminationProtectionEnabled: S.optional(S.Boolean), useAwsTimeBasedSnapshotCopyForFastInitialSync: S.optional(S.Boolean), versionReleaseSystem: S.optional( TenantGroupFlexClusterUpgradeRequestVersionReleaseSystem, ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/flexClusters:tenantUpgrade", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "TenantGroupFlexClusterUpgradeRequest", }) as any as S.Schema; export interface ToggleGroupAlertConfigRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration that triggered this alert. */ alertConfigId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether to enable or disable the specified alert configuration in the specified project. */ enabled?: boolean; } export const ToggleGroupAlertConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), alertConfigId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), enabled: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ToggleGroupAlertConfigRequest", }) as any as S.Schema; export type ToggleGroupAlertConfigResponse = GroupAlertsConfig; export const ToggleGroupAlertConfigResponse = /*@__PURE__*/ S.suspend(() => GroupAlertsConfig.pipe(T.RawResponseRoot()), ).annotate({ identifier: "ToggleGroupAlertConfigResponse", }) as any as S.Schema; export interface ToggleGroupAwsCustomDnsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the project's clusters deployed to Amazon Web Services (AWS) use a custom Domain Name System (DNS). When `"enabled": true`, connect to your cluster using Private IP for Peering connection strings. */ enabled: boolean; } export const ToggleGroupAwsCustomDnsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), enabled: S.Boolean, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/awsCustomDNS", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ToggleGroupAwsCustomDnsRequest", }) as any as S.Schema; export interface ToggleGroupMaintenanceWindowAutoDeferRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; } export const ToggleGroupMaintenanceWindowAutoDeferRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/maintenanceWindow/autoDefer", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ToggleGroupMaintenanceWindowAutoDeferRequest", }) as any as S.Schema; export interface ToggleGroupMaintenanceWindowAutoDeferResponse {} export const ToggleGroupMaintenanceWindowAutoDeferResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "ToggleGroupMaintenanceWindowAutoDeferResponse", }) as any as S.Schema; export interface ToggleGroupPrivateEndpointRegionalModeRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether someone enabled the regionalized private endpoint setting for the specified project. - Set this value to `true` to enable regionalized private endpoints. This allows you to create more than one private endpoint in a cloud provider region. You need to enable this setting to connect to multi-region and global MongoDB Cloud sharded clusters. Enabling regionalized private endpoints introduces the following limitations: - Your applications must use the new connection strings for existing multi-region and global sharded clusters. This might cause downtime. - Your MongoDB Cloud project can't contain replica sets nor can you create new replica sets in this project. - You can't disable this setting if you have: - more than one private endpoint in more than one region - more than one private endpoint in one region and one private endpoint in one or more regions. - Set this value to `false` to disable regionalized private endpoints. */ enabled: boolean; } export const ToggleGroupPrivateEndpointRegionalModeRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), enabled: S.Boolean, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/regionalMode", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "ToggleGroupPrivateEndpointRegionalModeRequest", }) as any as S.Schema; /** List of namespace strings (combination of database and collection) on the specified host or cluster. */ export type UnpinGroupClusterCollStatUnpinNamespacesRequestNamespacesList = Array; export const UnpinGroupClusterCollStatUnpinNamespacesRequestNamespacesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UnpinGroupClusterCollStatUnpinNamespacesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster to unpin namespaces from. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** List of namespace strings (combination of database and collection) on the specified host or cluster. */ namespaces?: UnpinGroupClusterCollStatUnpinNamespacesRequestNamespacesList; } export const UnpinGroupClusterCollStatUnpinNamespacesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), namespaces: S.optional( UnpinGroupClusterCollStatUnpinNamespacesRequestNamespacesList, ), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collStats/unpin", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "UnpinGroupClusterCollStatUnpinNamespacesRequest", }) as any as S.Schema; export interface UnpinGroupClusterFeatureCompatibilityVersionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies this cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const UnpinGroupClusterFeatureCompatibilityVersionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}:unpinFeatureCompatibilityVersion", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "UnpinGroupClusterFeatureCompatibilityVersionRequest", }) as any as S.Schema; export interface UnpinGroupClusterFeatureCompatibilityVersionResponse {} export const UnpinGroupClusterFeatureCompatibilityVersionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({ identifier: "UnpinGroupClusterFeatureCompatibilityVersionResponse", }) as any as S.Schema; /** The collection of unique ids representing the identity providers that can be used for data access in this organization. */ export type UpdateFederationSettingConnectedOrgConfigRequestDataAccessIdentityProviderIdsList = Array; export const UpdateFederationSettingConnectedOrgConfigRequestDataAccessIdentityProviderIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Approved domains that restrict users who can join the organization based on their email address. */ export type UpdateFederationSettingConnectedOrgConfigRequestDomainAllowListList = Array; export const UpdateFederationSettingConnectedOrgConfigRequestDomainAllowListList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type UpdateFederationSettingConnectedOrgConfigRequestPostAuthRoleGrantsItem = | "ORG_OWNER" | "ORG_MEMBER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_READ_ONLY"; export const UpdateFederationSettingConnectedOrgConfigRequestPostAuthRoleGrantsItem = S.String; /** Atlas roles that are granted to a user in this organization after authenticating. Roles are a human-readable label that identifies the collection of privileges that MongoDB Cloud grants a specific MongoDB Cloud user. These roles can only be organization specific roles. */ export type UpdateFederationSettingConnectedOrgConfigRequestPostAuthRoleGrantsList = Array< | UpdateFederationSettingConnectedOrgConfigRequestPostAuthRoleGrantsItem | (string & {}) | null >; export const UpdateFederationSettingConnectedOrgConfigRequestPostAuthRoleGrantsList = /*@__PURE__*/ S.Array( S.NullOr( UpdateFederationSettingConnectedOrgConfigRequestPostAuthRoleGrantsItem, ), ) as any as S.Schema; /** Atlas roles and the unique identifiers of the groups and organizations associated with each role. The array must include at least one element with an Organization role and its respective `orgId`. Each element in the array can have a value for `orgId` or `groupId`, but not both. */ export type AuthFederationRoleMappingInputRoleAssignmentsList = Array; export const AuthFederationRoleMappingInputRoleAssignmentsList = /*@__PURE__*/ S.Array( ConnectedOrgConfigRoleAssignment, ) as any as S.Schema; /** Mapping settings that link one IdP and MongoDB Cloud. */ export interface AuthFederationRoleMappingInput { /** Unique human-readable label that identifies the identity provider group to which this role mapping applies. */ externalGroupName: string; /** Atlas roles and the unique identifiers of the groups and organizations associated with each role. The array must include at least one element with an Organization role and its respective `orgId`. Each element in the array can have a value for `orgId` or `groupId`, but not both. */ roleAssignments: AuthFederationRoleMappingInputRoleAssignmentsList; } export const AuthFederationRoleMappingInput = /*@__PURE__*/ S.suspend(() => S.Struct({ externalGroupName: S.String, roleAssignments: AuthFederationRoleMappingInputRoleAssignmentsList, }), ).annotate({ identifier: "AuthFederationRoleMappingInput", }) as any as S.Schema; /** Role mappings that are configured in this organization. */ export type UpdateFederationSettingConnectedOrgConfigRequestRoleMappingsList = Array; export const UpdateFederationSettingConnectedOrgConfigRequestRoleMappingsList = /*@__PURE__*/ S.Array( AuthFederationRoleMappingInput, ) as any as S.Schema; /** MongoDB Cloud user linked to this federated authentication. */ export interface FederatedUserInput { /** Email address of the MongoDB Cloud user linked to the federated organization. */ emailAddress: string; /** Unique 24-hexadecimal digit string that identifies the federation to which this MongoDB Cloud user belongs. */ federationSettingsId: string; /** First or given name that belongs to the MongoDB Cloud user. */ firstName: string; /** Last name, family name, or surname that belongs to the MongoDB Cloud user. */ lastName: string; } export const FederatedUserInput = /*@__PURE__*/ S.suspend(() => S.Struct({ emailAddress: S.String, federationSettingsId: S.String, firstName: S.String, lastName: S.String, }), ).annotate({ identifier: "FederatedUserInput", }) as any as S.Schema; /** List that contains the users who have an email address that doesn't match any domain on the allowed list. */ export type UpdateFederationSettingConnectedOrgConfigRequestUserConflictsList = Array; export const UpdateFederationSettingConnectedOrgConfigRequestUserConflictsList = /*@__PURE__*/ S.Array( FederatedUserInput, ) as any as S.Schema; export interface UpdateFederationSettingConnectedOrgConfigRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the connected organization configuration to update. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** The collection of unique ids representing the identity providers that can be used for data access in this organization. */ dataAccessIdentityProviderIds?: UpdateFederationSettingConnectedOrgConfigRequestDataAccessIdentityProviderIdsList; /** Approved domains that restrict users who can join the organization based on their email address. */ domainAllowList?: UpdateFederationSettingConnectedOrgConfigRequestDomainAllowListList; /** Value that indicates whether domain restriction is enabled for this connected organization. */ domainRestrictionEnabled: boolean; /** Legacy 20-hexadecimal digit string that identifies the UI access identity provider that this connected organization configuration is associated with. This id can be found within the Federation Management Console > Identity Providers tab by clicking the info icon in the IdP ID row of a configured identity provider. */ identityProviderId?: string | null; /** Flag that indicates whether instant user provisioning is disabled for this connected organization. */ instantUserProvisioningDisabled?: boolean | null; /** Atlas roles that are granted to a user in this organization after authenticating. Roles are a human-readable label that identifies the collection of privileges that MongoDB Cloud grants a specific MongoDB Cloud user. These roles can only be organization specific roles. */ postAuthRoleGrants?: UpdateFederationSettingConnectedOrgConfigRequestPostAuthRoleGrantsList; /** Role mappings that are configured in this organization. */ roleMappings?: UpdateFederationSettingConnectedOrgConfigRequestRoleMappingsList; /** List that contains the users who have an email address that doesn't match any domain on the allowed list. */ userConflicts?: UpdateFederationSettingConnectedOrgConfigRequestUserConflictsList; } export const UpdateFederationSettingConnectedOrgConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), dataAccessIdentityProviderIds: S.optional( UpdateFederationSettingConnectedOrgConfigRequestDataAccessIdentityProviderIdsList, ), domainAllowList: S.optional( UpdateFederationSettingConnectedOrgConfigRequestDomainAllowListList, ), domainRestrictionEnabled: S.Boolean, identityProviderId: S.optional(S.NullOr(S.String)), instantUserProvisioningDisabled: S.optional(S.NullOr(S.Boolean)), postAuthRoleGrants: S.optional( UpdateFederationSettingConnectedOrgConfigRequestPostAuthRoleGrantsList, ), roleMappings: S.optional( UpdateFederationSettingConnectedOrgConfigRequestRoleMappingsList, ), userConflicts: S.optional( UpdateFederationSettingConnectedOrgConfigRequestUserConflictsList, ), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateFederationSettingConnectedOrgConfigRequest", }) as any as S.Schema; /** Atlas roles and the unique identifiers of the groups and organizations associated with each role. The array must include at least one element with an Organization role and its respective `orgId`. Each element in the array can have a value for `orgId` or `groupId`, but not both. */ export type UpdateFederationSettingConnectedOrgConfigRoleMappingRequestRoleAssignmentsList = Array; export const UpdateFederationSettingConnectedOrgConfigRoleMappingRequestRoleAssignmentsList = /*@__PURE__*/ S.Array( ConnectedOrgConfigRoleAssignment, ) as any as S.Schema; export interface UpdateFederationSettingConnectedOrgConfigRoleMappingRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the role mapping that you want to update. */ id: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Unique human-readable label that identifies the identity provider group to which this role mapping applies. */ externalGroupName: string; /** Atlas roles and the unique identifiers of the groups and organizations associated with each role. The array must include at least one element with an Organization role and its respective `orgId`. Each element in the array can have a value for `orgId` or `groupId`, but not both. */ roleAssignments: UpdateFederationSettingConnectedOrgConfigRoleMappingRequestRoleAssignmentsList; } export const UpdateFederationSettingConnectedOrgConfigRoleMappingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), orgId: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), externalGroupName: S.String, roleAssignments: UpdateFederationSettingConnectedOrgConfigRoleMappingRequestRoleAssignmentsList, }).pipe( T.Http({ method: "PUT", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings/{id}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateFederationSettingConnectedOrgConfigRoleMappingRequest", }) as any as S.Schema; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ export type UpdateFederationSettingIdentityProviderRequestIdpType = | "WORKFORCE" | "WORKLOAD"; export const UpdateFederationSettingIdentityProviderRequestIdpType = S.String; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ export type UpdateFederationSettingIdentityProviderRequestProtocol = | "SAML" | "OIDC"; export const UpdateFederationSettingIdentityProviderRequestProtocol = S.String; export interface UpdateFederationSettingIdentityProviderRequest { /** Unique 24-hexadecimal digit string that identifies your federation. */ federationSettingsId: string; /** Unique string that identifies the identity provider to connect. If using an API version before 11-15-2023, use the legacy 20-hexadecimal digit id. This id can be found within the Federation Management Console > Identity Providers tab by clicking the info icon in the IdP ID row of a configured identity provider. For all other versions, use the 24-hexadecimal digit id. */ identityProviderId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** The description of the identity provider. */ description?: string | null; /** Human-readable label that identifies the identity provider. */ displayName?: string; /** String enum that indicates the type of the identity provider. Default is WORKFORCE. */ idpType?: | UpdateFederationSettingIdentityProviderRequestIdpType | (string & {}); /** Unique string that identifies the issuer of the SAML Assertion or OIDC metadata/discovery document URL. */ issuerUri?: string; /** String enum that indicates the protocol of the identity provider. Either SAML or OIDC. */ protocol?: | UpdateFederationSettingIdentityProviderRequestProtocol | (string & {}); } export const UpdateFederationSettingIdentityProviderRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ federationSettingsId: S.String.pipe(T.Label()), identityProviderId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), description: S.optional(S.NullOr(S.String)), displayName: S.optional(S.String), idpType: S.optional( UpdateFederationSettingIdentityProviderRequestIdpType, ), issuerUri: S.optional(S.String), protocol: S.optional( UpdateFederationSettingIdentityProviderRequestProtocol, ), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "UpdateFederationSettingIdentityProviderRequest", }) as any as S.Schema; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the project. */ export type UpdateGroupRequestTagsList = Array; export const UpdateGroupRequestTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; export interface UpdateGroupRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the project included in the MongoDB Cloud organization. */ name?: string; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the project. */ tags?: UpdateGroupRequestTagsList; /** Flag that indicates whether the project can automatically create default alerts. */ withDefaultAlertsSettings?: boolean; } export const UpdateGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.optional(S.String), tags: S.optional(UpdateGroupRequestTagsList), withDefaultAlertsSettings: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupRequest", }) as any as S.Schema; export type UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud = "ANY"; export const UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud = S.String; export type UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography = "ANY"; export const UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography = S.String; export interface UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Cloud provider scope. Must be "ANY". Additional values will be supported in future API versions. */ cloud: | UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud | (string & {}); /** Geography scope. Must be "ANY". Additional values will be supported in future API versions. */ geography: | UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography | (string & {}); /** The name of the model group to be updated. */ modelGroupName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** 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. */ requestsPerMinuteLimit: number; /** 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. */ tokensPerMinuteLimit: number; } export const UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), cloud: UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestCloud.pipe( T.Label(), ), geography: UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequestGeography.pipe( T.Label(), ), modelGroupName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), requestsPerMinuteLimit: S.Number, tokensPerMinuteLimit: S.Number, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiClouds/{cloud}/geographies/{geography}/modelGroupNames/{modelGroupName}/rateLimits", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest", }) as any as S.Schema; export interface UpdateGroupAiModelApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The id of the API key to be updated. */ apiKeyId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** A new name for the API key. */ name: string; } export const UpdateGroupAiModelApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), apiKeyId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.String, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/aiModelApiKeys/{apiKeyId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateGroupAiModelApiKeyRequest", }) as any as S.Schema; export interface UpdateGroupAlertConfigRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the alert configuration. */ alertConfigId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; body: GroupAlertsConfigInput; } export const UpdateGroupAlertConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), alertConfigId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), body: GroupAlertsConfigInput.pipe(T.HttpBody()), }).pipe( T.Http({ method: "PUT", uri: "/api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupAlertConfigRequest", }) as any as S.Schema; export type UpdateGroupAlertConfigResponse = GroupAlertsConfig; export const UpdateGroupAlertConfigResponse = /*@__PURE__*/ S.suspend(() => GroupAlertsConfig.pipe(T.RawResponseRoot()), ).annotate({ identifier: "UpdateGroupAlertConfigResponse", }) as any as S.Schema; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this project. */ export type UpdateGroupApiKeyRolesRequestRolesList = Array; export const UpdateGroupApiKeyRolesRequestRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UpdateGroupApiKeyRolesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key that you want to unassign from one project. */ apiUserId: string; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Purpose or explanation provided when someone creates this project API key. */ desc?: string; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this project. */ roles?: UpdateGroupApiKeyRolesRequestRolesList; } export const UpdateGroupApiKeyRolesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), pageNum: S.optional(S.Number.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), envelope: S.optional(S.Boolean.pipe(T.Query())), desc: S.optional(S.String), roles: S.optional(UpdateGroupApiKeyRolesRequestRolesList), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/apiKeys/{apiUserId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupApiKeyRolesRequest", }) as any as S.Schema; export interface UpdateGroupAuditLogRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether someone set auditing to track successful authentications. This only applies to the `"atype" : "authCheck"` audit filter. Setting this parameter to `true` degrades cluster performance. */ auditAuthorizationSuccess?: boolean; /** JSON document that specifies which events to record. Escape any characters that may prevent parsing, such as single or double quotes, using a backslash (`\`). */ auditFilter?: string; /** Flag that indicates whether someone enabled database auditing for the specified project. */ enabled?: boolean; } export const UpdateGroupAuditLogRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), auditAuthorizationSuccess: S.optional(S.Boolean), auditFilter: S.optional(S.String), enabled: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/auditLog", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupAuditLogRequest", }) as any as S.Schema; /** Number that indicates the frequency interval for a set of snapshots. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ export type BackupComplianceOnDemandPolicyItemInputFrequencyInterval = | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 40; export const BackupComplianceOnDemandPolicyItemInputFrequencyInterval = S.Number; /** Human-readable label that identifies the frequency type associated with the backup policy. */ export type BackupComplianceOnDemandPolicyItemInputFrequencyType = "ondemand"; export const BackupComplianceOnDemandPolicyItemInputFrequencyType = S.String; /** Unit of time in which MongoDB Cloud measures snapshot retention. */ export type BackupComplianceOnDemandPolicyItemInputRetentionUnit = | "days" | "weeks" | "months" | "years"; export const BackupComplianceOnDemandPolicyItemInputRetentionUnit = S.String; /** Specifications for on-demand policy. */ export interface BackupComplianceOnDemandPolicyItemInput { /** Number that indicates the frequency interval for a set of snapshots. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ frequencyInterval: | BackupComplianceOnDemandPolicyItemInputFrequencyInterval | (number & {}); /** Human-readable label that identifies the frequency type associated with the backup policy. */ frequencyType: | BackupComplianceOnDemandPolicyItemInputFrequencyType | (string & {}); /** Unit of time in which MongoDB Cloud measures snapshot retention. */ retentionUnit: | BackupComplianceOnDemandPolicyItemInputRetentionUnit | (string & {}); /** Duration in days, weeks, months, or years that MongoDB Cloud retains the snapshot. For less frequent policy items, MongoDB Cloud requires that you specify a value greater than or equal to the value specified for more frequent policy items. For example: If the hourly policy item specifies a retention of two days, you must specify two days or greater for the retention of the weekly policy item. */ retentionValue: number; } export const BackupComplianceOnDemandPolicyItemInput = /*@__PURE__*/ S.suspend( () => S.Struct({ frequencyInterval: BackupComplianceOnDemandPolicyItemInputFrequencyInterval, frequencyType: BackupComplianceOnDemandPolicyItemInputFrequencyType, retentionUnit: BackupComplianceOnDemandPolicyItemInputRetentionUnit, retentionValue: S.Number, }), ).annotate({ identifier: "BackupComplianceOnDemandPolicyItemInput", }) as any as S.Schema; /** Number that indicates the frequency interval for a set of Snapshots. A value of `1` specifies the first instance of the corresponding `frequencyType`. - In a yearly policy item, `1` indicates that the yearly Snapshot occurs on the first day of January and `12` indicates the first day of December. - In a monthly policy item, `1` indicates that the monthly Snapshot occurs on the first day of the month and `40` indicates the last day of the month. - In a weekly policy item, `1` indicates that the weekly Snapshot occurs on Monday and `7` indicates Sunday. - In an hourly policy item, you can set the frequency interval to `1`, `2`, `4`, `6`, `8`, or `12`. For hourly policy items for NVMe clusters, MongoDB Cloud accepts only `12` as the frequency interval value. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ export type BackupComplianceScheduledPolicyItemInputFrequencyInterval = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 40; export const BackupComplianceScheduledPolicyItemInputFrequencyInterval = S.Number; /** Human-readable label that identifies the frequency type associated with the backup policy. */ export type BackupComplianceScheduledPolicyItemInputFrequencyType = | "daily" | "hourly" | "weekly" | "monthly" | "yearly"; export const BackupComplianceScheduledPolicyItemInputFrequencyType = S.String; /** Unit of time in which MongoDB Cloud measures Snapshot retention. */ export type BackupComplianceScheduledPolicyItemInputRetentionUnit = | "days" | "weeks" | "months" | "years"; export const BackupComplianceScheduledPolicyItemInputRetentionUnit = S.String; /** Specifications for scheduled policy. */ export interface BackupComplianceScheduledPolicyItemInput { /** Number that indicates the frequency interval for a set of Snapshots. A value of `1` specifies the first instance of the corresponding `frequencyType`. - In a yearly policy item, `1` indicates that the yearly Snapshot occurs on the first day of January and `12` indicates the first day of December. - In a monthly policy item, `1` indicates that the monthly Snapshot occurs on the first day of the month and `40` indicates the last day of the month. - In a weekly policy item, `1` indicates that the weekly Snapshot occurs on Monday and `7` indicates Sunday. - In an hourly policy item, you can set the frequency interval to `1`, `2`, `4`, `6`, `8`, or `12`. For hourly policy items for NVMe clusters, MongoDB Cloud accepts only `12` as the frequency interval value. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ frequencyInterval: | BackupComplianceScheduledPolicyItemInputFrequencyInterval | (number & {}); /** Human-readable label that identifies the frequency type associated with the backup policy. */ frequencyType: | BackupComplianceScheduledPolicyItemInputFrequencyType | (string & {}); /** Unit of time in which MongoDB Cloud measures Snapshot retention. */ retentionUnit: | BackupComplianceScheduledPolicyItemInputRetentionUnit | (string & {}); /** Duration in days, weeks, months, or years that MongoDB Cloud retains the Snapshot. For less frequent policy items, MongoDB Cloud requires that you specify a value greater than or equal to the value specified for more frequent policy items. For example: If the hourly policy item specifies a retention of two days, you must specify two days or greater for the retention of the weekly policy item. */ retentionValue: number; } export const BackupComplianceScheduledPolicyItemInput = /*@__PURE__*/ S.suspend( () => S.Struct({ frequencyInterval: BackupComplianceScheduledPolicyItemInputFrequencyInterval, frequencyType: BackupComplianceScheduledPolicyItemInputFrequencyType, retentionUnit: BackupComplianceScheduledPolicyItemInputRetentionUnit, retentionValue: S.Number, }), ).annotate({ identifier: "BackupComplianceScheduledPolicyItemInput", }) as any as S.Schema; /** List that contains the specifications for one scheduled policy. */ export type UpdateGroupBackupCompliancePolicyRequestScheduledPolicyItemsList = Array; export const UpdateGroupBackupCompliancePolicyRequestScheduledPolicyItemsList = /*@__PURE__*/ S.Array( BackupComplianceScheduledPolicyItemInput, ) as any as S.Schema; export interface UpdateGroupBackupCompliancePolicyRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether to overwrite non complying backup policies with the new data protection settings or not. */ overwriteBackupPolicies?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Email address of the user who authorized to update the Backup Compliance Policy settings. */ authorizedEmail: string; /** First name of the user who authorized to updated the Backup Compliance Policy settings. */ authorizedUserFirstName: string; /** Last name of the user who authorized to updated the Backup Compliance Policy settings. */ authorizedUserLastName: string; /** Flag that indicates whether to prevent cluster users from deleting backups copied to other regions, even if those additional snapshot regions are removed. If unspecified, this value defaults to false. */ copyProtectionEnabled?: boolean; /** Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. */ encryptionAtRestEnabled?: boolean; onDemandPolicyItem?: BackupComplianceOnDemandPolicyItemInput; /** Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. */ pitEnabled?: boolean; /** Unique 24-hexadecimal digit string that identifies the project for the Backup Compliance Policy. */ projectId?: string; /** Number of previous days that you can restore back to with Continuous Cloud Backup with a Backup Compliance Policy. You must specify a positive, non-zero integer, and the maximum retention window can't exceed the hourly retention time. This parameter applies only to Continuous Cloud Backups with a Backup Compliance Policy. */ restoreWindowDays?: number; /** List that contains the specifications for one scheduled policy. */ scheduledPolicyItems?: UpdateGroupBackupCompliancePolicyRequestScheduledPolicyItemsList; } export const UpdateGroupBackupCompliancePolicyRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), overwriteBackupPolicies: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), authorizedEmail: S.String, authorizedUserFirstName: S.String, authorizedUserLastName: S.String, copyProtectionEnabled: S.optional(S.Boolean), encryptionAtRestEnabled: S.optional(S.Boolean), onDemandPolicyItem: S.optional(BackupComplianceOnDemandPolicyItemInput), pitEnabled: S.optional(S.Boolean), projectId: S.optional(S.String), restoreWindowDays: S.optional(S.Number), scheduledPolicyItems: S.optional( UpdateGroupBackupCompliancePolicyRequestScheduledPolicyItemsList, ), }).pipe( T.Http({ method: "PUT", uri: "/api/atlas/v2/groups/{groupId}/backupCompliancePolicy", code: 200, accept: "application/vnd.atlas.2023-10-01+json", }), ), ).annotate({ identifier: "UpdateGroupBackupCompliancePolicyRequest", }) as any as S.Schema; export interface UpdateGroupBackupExportBucketRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal character string that identifies the snapshot export bucket. */ exportBucketId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** True to require private networking; false to disable it. */ requirePrivateNetworking: boolean; } export const UpdateGroupBackupExportBucketRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), exportBucketId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), requirePrivateNetworking: S.Boolean, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "UpdateGroupBackupExportBucketRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider. */ export type DiskBackupSnapshotAWSExportBucketResponseCloudProvider = | "AWS" | "AZURE" | "GCP"; export const DiskBackupSnapshotAWSExportBucketResponseCloudProvider = S.String; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type DiskBackupSnapshotAWSExportBucketResponseLinksList = Array; export const DiskBackupSnapshotAWSExportBucketResponseLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; export interface DiskBackupSnapshotAWSExportBucketResponse { /** Unique 24-hexadecimal character string that identifies the Export Bucket. */ _id: string; /** The name of the AWS S3 Bucket, Azure Storage Container, or Google Cloud Storage Bucket that Snapshots are exported to. */ bucketName: string; /** Human-readable label that identifies the cloud provider. */ cloudProvider: DiskBackupSnapshotAWSExportBucketResponseCloudProvider; /** Unique 24-hexadecimal character string that identifies the Unified AWS Access role ID that MongoDB Cloud uses to access the AWS S3 bucket. */ iamRoleId: string; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: DiskBackupSnapshotAWSExportBucketResponseLinksList; /** AWS region for the export bucket. This is set by Atlas and is never user-supplied. */ region?: string; /** Indicates whether to use private link. User supplied. */ requirePrivateNetworking?: boolean; } export const DiskBackupSnapshotAWSExportBucketResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ _id: S.String, bucketName: S.String, cloudProvider: DiskBackupSnapshotAWSExportBucketResponseCloudProvider, iamRoleId: S.String, links: S.optional(DiskBackupSnapshotAWSExportBucketResponseLinksList), region: S.optional(S.String), requirePrivateNetworking: S.optional(S.Boolean), }), ).annotate({ identifier: "DiskBackupSnapshotAWSExportBucketResponse", }) as any as S.Schema; /** Governs adaptive capacity behavior of Azure nodes in single-cloud Azure clusters or multi-cloud clusters that include Azure nodes. Adaptive capacity enables fallback hardware selection when the primary instance family is unavailable. ``ENABLED`` means the cluster explicitly opts in to adaptive capacity. ``DISABLED`` means the cluster explicitly opts out; the cluster receives capacity errors instead of being placed on fallback hardware. ``null`` means the field is unset; Azure clusters use adaptive capacity by default when the feature is enabled at the group level. Setting this field for single-cloud AWS or GCP clusters is a no-op. */ export type UpdateGroupClusterRequestAdaptiveCapacity = "ENABLED" | "DISABLED"; export const UpdateGroupClusterRequestAdaptiveCapacity = S.String; /** Configuration of nodes that comprise the cluster. */ export type UpdateGroupClusterRequestClusterType = | "REPLICASET" | "SHARDED" | "GEOSHARDED"; export const UpdateGroupClusterRequestClusterType = S.String; /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ export type UpdateGroupClusterRequestConfigServerManagementMode = | "ATLAS_MANAGED" | "FIXED_TO_DEDICATED"; export const UpdateGroupClusterRequestConfigServerManagementMode = S.String; /** Disk warming mode selection. */ export type UpdateGroupClusterRequestDiskWarmingMode = | "FULLY_WARMED" | "VISIBLE_EARLIER" | "ENHANCED_FULLY_WARMED"; export const UpdateGroupClusterRequestDiskWarmingMode = S.String; /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ export type UpdateGroupClusterRequestEncryptionAtRestProvider = | "NONE" | "AWS" | "AZURE" | "GCP"; export const UpdateGroupClusterRequestEncryptionAtRestProvider = S.String; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ export type UpdateGroupClusterRequestLabelsList = Array; export const UpdateGroupClusterRequestLabelsList = /*@__PURE__*/ S.Array( ComponentLabel, ) as any as S.Schema; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ export type UpdateGroupClusterRequestReplicaSetScalingStrategy = | "SEQUENTIAL" | "WORKLOAD_TYPE" | "NODE_TYPE"; export const UpdateGroupClusterRequestReplicaSetScalingStrategy = S.String; /** List of settings that configure your cluster regions. This array has one object per shard representing node configurations in each shard. For replica sets there is only one object representing node configurations. */ export type UpdateGroupClusterRequestReplicationSpecsList = Array; export const UpdateGroupClusterRequestReplicationSpecsList = /*@__PURE__*/ S.Array( ReplicationSpec20240805Input, ) as any as S.Schema; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ export type UpdateGroupClusterRequestRootCertType = "ISRGROOTX1"; export const UpdateGroupClusterRequestRootCertType = S.String; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ export type UpdateGroupClusterRequestTagsList = Array; export const UpdateGroupClusterRequestTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ export type UpdateGroupClusterRequestVersionReleaseSystem = | "LTS" | "CONTINUOUS"; export const UpdateGroupClusterRequestVersionReleaseSystem = S.String; export interface UpdateGroupClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** If reconfiguration is necessary to regain a primary due to a regional outage, submit this field alongside your topology reconfiguration to request a new regional outage resistant topology. Forced reconfigurations during an outage of the majority of electable nodes carry a risk of data loss if replicated writes (even majority committed writes) have not been replicated to the new primary node. MongoDB Atlas docs contain more information. To proceed with an operation which carries that risk, set `acceptDataRisksAndForceReplicaSetReconfig` to the current date. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ acceptDataRisksAndForceReplicaSetReconfig?: string; /** Governs adaptive capacity behavior of Azure nodes in single-cloud Azure clusters or multi-cloud clusters that include Azure nodes. Adaptive capacity enables fallback hardware selection when the primary instance family is unavailable. ``ENABLED`` means the cluster explicitly opts in to adaptive capacity. ``DISABLED`` means the cluster explicitly opts out; the cluster receives capacity errors instead of being placed on fallback hardware. ``null`` means the field is unset; Azure clusters use adaptive capacity by default when the feature is enabled at the group level. Setting this field for single-cloud AWS or GCP clusters is a no-op. */ adaptiveCapacity?: | UpdateGroupClusterRequestAdaptiveCapacity | (string & {}) | null; advancedConfiguration?: ApiAtlasClusterAdvancedConfigurationView; /** Flag that indicates whether the cluster can perform backups. If set to `true`, the cluster can perform backups. You must set this value to `true` for NVMe clusters. Backup uses Cloud Backups for dedicated clusters and [Shared Cluster Backups](https://docs.atlas.mongodb.com/backup/shared-tier/overview/) for tenant clusters. If set to `false`, the cluster doesn't use backups. */ backupEnabled?: boolean; biConnector?: BiConnector; /** Configuration of nodes that comprise the cluster. */ clusterType?: UpdateGroupClusterRequestClusterType | (string & {}); /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ configServerManagementMode?: | UpdateGroupClusterRequestConfigServerManagementMode | (string & {}); /** Disk warming mode selection. */ diskWarmingMode?: UpdateGroupClusterRequestDiskWarmingMode | (string & {}); /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ encryptionAtRestProvider?: | UpdateGroupClusterRequestEncryptionAtRestProvider | (string & {}); /** Set this field to configure the Sharding Management Mode when creating a new Global Cluster. When set to false, the management mode is set to Atlas-Managed Sharding. This mode fully manages the sharding of your Global Cluster and is built to provide a seamless deployment experience. When set to true, the management mode is set to Self-Managed Sharding. This mode leaves the management of shards in your hands and is built to provide an advanced and flexible deployment experience. This setting cannot be changed once the cluster is deployed. */ globalClusterSelfManagedSharding?: boolean; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ labels?: UpdateGroupClusterRequestLabelsList; /** MongoDB major version of the cluster. Set to the binary major version. On creation: Choose from the available versions of MongoDB, or leave unspecified for the current recommended default in the MongoDB Cloud platform. The recommended version is a recent Long Term Support version. The default is not guaranteed to be the most recently released version throughout the entire release cycle. For versions available in a specific project, see the linked documentation or use the API endpoint for [project LTS versions endpoint](#tag/Projects/operation/getProjectLtsVersions). On update: Increase version only by 1 major version at a time. If the cluster is pinned to a MongoDB feature compatibility version exactly one major version below the current MongoDB version, the MongoDB version can be downgraded to the previous major version. */ mongoDBMajorVersion?: string; /** Human-readable label that identifies the cluster. */ name?: string; /** Flag that indicates whether the cluster is paused. */ paused?: boolean; /** Flag that indicates whether the cluster uses continuous cloud backups. */ pitEnabled?: boolean; /** Enable or disable log redaction. This setting configures the ``mongod`` or ``mongos`` to redact any document field contents from a message accompanying a given log event before logging. This prevents the program from writing potentially sensitive data stored on the database to the diagnostic log. Metadata such as error or operation codes, line numbers, and source file names are still visible in the logs. Use ``redactClientLogData`` in conjunction with Encryption at Rest and TLS/SSL (Transport Encryption) to assist compliance with regulatory requirements. *Note*: changing this setting on a cluster will trigger a rolling restart as soon as the cluster is updated. */ redactClientLogData?: boolean; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ replicaSetScalingStrategy?: | UpdateGroupClusterRequestReplicaSetScalingStrategy | (string & {}); /** List of settings that configure your cluster regions. This array has one object per shard representing node configurations in each shard. For replica sets there is only one object representing node configurations. */ replicationSpecs?: UpdateGroupClusterRequestReplicationSpecsList; /** Flag that indicates whether the cluster retains backups. */ retainBackups?: boolean; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ rootCertType?: UpdateGroupClusterRequestRootCertType | (string & {}); /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ tags?: UpdateGroupClusterRequestTagsList; /** Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster. */ terminationProtectionEnabled?: boolean; /** Flag that indicates whether AWS time-based snapshot copies will be used instead of slower standard snapshot copies during fast Atlas cross-region initial syncs. This flag is only relevant for clusters containing AWS nodes. */ useAwsTimeBasedSnapshotCopyForFastInitialSync?: boolean; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ versionReleaseSystem?: | UpdateGroupClusterRequestVersionReleaseSystem | (string & {}); } export const UpdateGroupClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), acceptDataRisksAndForceReplicaSetReconfig: S.optional(S.String), adaptiveCapacity: S.optional( S.NullOr(UpdateGroupClusterRequestAdaptiveCapacity), ), advancedConfiguration: S.optional(ApiAtlasClusterAdvancedConfigurationView), backupEnabled: S.optional(S.Boolean), biConnector: S.optional(BiConnector), clusterType: S.optional(UpdateGroupClusterRequestClusterType), configServerManagementMode: S.optional( UpdateGroupClusterRequestConfigServerManagementMode, ), diskWarmingMode: S.optional(UpdateGroupClusterRequestDiskWarmingMode), encryptionAtRestProvider: S.optional( UpdateGroupClusterRequestEncryptionAtRestProvider, ), globalClusterSelfManagedSharding: S.optional(S.Boolean), labels: S.optional(UpdateGroupClusterRequestLabelsList), mongoDBMajorVersion: S.optional(S.String), name: S.optional(S.String), paused: S.optional(S.Boolean), pitEnabled: S.optional(S.Boolean), redactClientLogData: S.optional(S.Boolean), replicaSetScalingStrategy: S.optional( UpdateGroupClusterRequestReplicaSetScalingStrategy, ), replicationSpecs: S.optional(UpdateGroupClusterRequestReplicationSpecsList), retainBackups: S.optional(S.Boolean), rootCertType: S.optional(UpdateGroupClusterRequestRootCertType), tags: S.optional(UpdateGroupClusterRequestTagsList), terminationProtectionEnabled: S.optional(S.Boolean), useAwsTimeBasedSnapshotCopyForFastInitialSync: S.optional(S.Boolean), versionReleaseSystem: S.optional( UpdateGroupClusterRequestVersionReleaseSystem, ), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}", code: 200, accept: "application/vnd.atlas.2024-10-23+json", }), ), ).annotate({ identifier: "UpdateGroupClusterRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider that stores the snapshot copy. */ export type DiskBackupCopySetting20240805InputCloudProvider = | "AWS" | "AZURE" | "GCP"; export const DiskBackupCopySetting20240805InputCloudProvider = S.String; /** Unit of time in which MongoDB Cloud measures snapshot copy retention. */ export type DiskBackupTimeBasedCopyPolicyItemInputRetentionUnit = | "days" | "weeks" | "months" | "years"; export const DiskBackupTimeBasedCopyPolicyItemInputRetentionUnit = S.String; /** Human-readable label that identifies the frequency type associated with the copy policy. */ export type DiskBackupTimeBasedCopyPolicyItemInputFrequencyType = | "daily" | "hourly" | "weekly" | "monthly" | "yearly" | "ondemand"; export const DiskBackupTimeBasedCopyPolicyItemInputFrequencyType = S.String; /** Specifications for one time-based copy policy item. */ export interface DiskBackupTimeBasedCopyPolicyItemInput { /** Unit of time in which MongoDB Cloud measures snapshot copy retention. */ retentionUnit: | DiskBackupTimeBasedCopyPolicyItemInputRetentionUnit | (string & {}); /** Duration in days, weeks, months, or years that MongoDB Cloud retains the snapshot copy. */ retentionValue: number; /** Human-readable label that identifies the frequency type associated with the copy policy. */ frequencyType: | DiskBackupTimeBasedCopyPolicyItemInputFrequencyType | (string & {}); } export const DiskBackupTimeBasedCopyPolicyItemInput = /*@__PURE__*/ S.suspend( () => S.Struct({ retentionUnit: DiskBackupTimeBasedCopyPolicyItemInputRetentionUnit, retentionValue: S.Number, frequencyType: DiskBackupTimeBasedCopyPolicyItemInputFrequencyType, }), ).annotate({ identifier: "DiskBackupTimeBasedCopyPolicyItemInput", }) as any as S.Schema; /** Specifications for one copy policy item. */ export type DiskBackupCopyPolicyItemInput = DiskBackupTimeBasedCopyPolicyItemInput; export const DiskBackupCopyPolicyItemInput = S.Unknown as any as S.Schema; /** List that contains a document for each copy policy item. Allowed only when `copyPolicyItemsEnabled` is true. Responses omit this field when `copyPolicyItemsEnabled` is false or omitted. */ export type DiskBackupCopySetting20240805InputCopyPolicyItemsList = Array; export const DiskBackupCopySetting20240805InputCopyPolicyItemsList = /*@__PURE__*/ S.Array( DiskBackupCopyPolicyItemInput, ) as any as S.Schema; export type DiskBackupCopySetting20240805InputFrequenciesItem = | "HOURLY" | "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY" | "ON_DEMAND"; export const DiskBackupCopySetting20240805InputFrequenciesItem = S.String; /** Deprecated: use `copyPolicyItems`, which defines which snapshots to copy and their retention. Allowed only when `copyPolicyItemsEnabled` is false or omitted. Responses omit this field when `copyPolicyItemsEnabled` is true. */ export type DiskBackupCopySetting20240805InputFrequenciesList = Array< DiskBackupCopySetting20240805InputFrequenciesItem | (string & {}) >; export const DiskBackupCopySetting20240805InputFrequenciesList = /*@__PURE__*/ S.Array( DiskBackupCopySetting20240805InputFrequenciesItem, ) as any as S.Schema; /** Copy setting item in the desired backup policy. */ export interface DiskBackupCopySetting20240805Input { /** Human-readable label that identifies the cloud provider that stores the snapshot copy. */ cloudProvider?: | DiskBackupCopySetting20240805InputCloudProvider | (string & {}); /** List that contains a document for each copy policy item. Allowed only when `copyPolicyItemsEnabled` is true. Responses omit this field when `copyPolicyItemsEnabled` is false or omitted. */ copyPolicyItems?: DiskBackupCopySetting20240805InputCopyPolicyItemsList; /** Deprecated: use `copyPolicyItems`, which defines which snapshots to copy and their retention. Allowed only when `copyPolicyItemsEnabled` is false or omitted. Responses omit this field when `copyPolicyItemsEnabled` is true. */ frequencies?: DiskBackupCopySetting20240805InputFrequenciesList; /** Number of most recent snapshots to copy to the target region. If specified, Atlas copies this number of the most recent snapshots rather than using a frequency-based or policy-based copy schedule. This field is mutually exclusive with `frequencies` and `copyPolicyItems`. */ lastNumberOfSnapshots?: number; /** Target region to copy snapshots belonging to `zoneId`. Please supply the 'Atlas Region'. */ regionName?: string; /** Flag that indicates whether to copy the oplogs to the target region. You can use the oplogs to perform point-in-time restores. */ shouldCopyOplogs?: boolean; /** Unique 24-hexadecimal digit string that identifies the zone in a cluster. For global clusters, there can be multiple zones to choose from. For sharded clusters and replica set clusters, there is only one zone in the cluster. To find the Zone Id, do a GET request to Return One Cluster from One Project and consult the `replicationSpecs` array. */ zoneId: string; } export const DiskBackupCopySetting20240805Input = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(DiskBackupCopySetting20240805InputCloudProvider), copyPolicyItems: S.optional( DiskBackupCopySetting20240805InputCopyPolicyItemsList, ), frequencies: S.optional(DiskBackupCopySetting20240805InputFrequenciesList), lastNumberOfSnapshots: S.optional(S.Number), regionName: S.optional(S.String), shouldCopyOplogs: S.optional(S.Boolean), zoneId: S.String, }), ).annotate({ identifier: "DiskBackupCopySetting20240805Input", }) as any as S.Schema; /** List that contains a document for each copy setting item in the desired backup policy. */ export type UpdateGroupClusterBackupScheduleRequestCopySettingsList = Array; export const UpdateGroupClusterBackupScheduleRequestCopySettingsList = /*@__PURE__*/ S.Array( DiskBackupCopySetting20240805Input, ) as any as S.Schema; /** Human-readable label that identifies the cloud provider for the deleted copy setting whose backup copies you want to delete. */ export type DeleteCopiedBackups20240805CloudProvider = "AWS" | "AZURE" | "GCP"; export const DeleteCopiedBackups20240805CloudProvider = S.String; /** Deleted copy setting whose backup copies need to also be deleted. */ export interface DeleteCopiedBackups20240805 { /** Human-readable label that identifies the cloud provider for the deleted copy setting whose backup copies you want to delete. */ cloudProvider?: DeleteCopiedBackups20240805CloudProvider | (string & {}); /** Target region for the deleted copy setting whose backup copies you want to delete. Please supply the 'Atlas Region'. */ regionName?: string; /** Unique 24-hexadecimal digit string that identifies the zone in a cluster. For global clusters, there can be multiple zones to choose from. For sharded clusters and replica set clusters, there is only one zone in the cluster. To find the Zone Id, do a GET request to Return One Cluster from One Project and consult the `replicationSpecs` array. */ zoneId?: string; } export const DeleteCopiedBackups20240805 = /*@__PURE__*/ S.suspend(() => S.Struct({ cloudProvider: S.optional(DeleteCopiedBackups20240805CloudProvider), regionName: S.optional(S.String), zoneId: S.optional(S.String), }), ).annotate({ identifier: "DeleteCopiedBackups20240805", }) as any as S.Schema; /** List that contains a document for each deleted copy setting whose backup copies you want to delete. */ export type UpdateGroupClusterBackupScheduleRequestDeleteCopiedBackupsList = Array; export const UpdateGroupClusterBackupScheduleRequestDeleteCopiedBackupsList = /*@__PURE__*/ S.Array( DeleteCopiedBackups20240805, ) as any as S.Schema; /** List that contains a document for each extra retention setting item in the desired backup policy. */ export type UpdateGroupClusterBackupScheduleRequestExtraRetentionSettingsList = Array; export const UpdateGroupClusterBackupScheduleRequestExtraRetentionSettingsList = /*@__PURE__*/ S.Array( ExtraRetentionSetting, ) as any as S.Schema; /** Number that indicates the frequency interval for a set of Snapshots. A value of `1` specifies the first instance of the corresponding `frequencyType`. - In a yearly policy item, `1` indicates that the yearly Snapshot occurs on the first day of January and `12` indicates the first day of December. - In a monthly policy item, `1` indicates that the monthly Snapshot occurs on the first day of the month and `40` indicates the last day of the month. - In a weekly policy item, `1` indicates that the weekly Snapshot occurs on Monday and `7` indicates Sunday. - In an hourly policy item, you can set the frequency interval to `1`, `2`, `4`, `6`, `8`, or `12`. For hourly policy items for NVMe clusters, MongoDB Cloud accepts only `12` as the frequency interval value. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ export type DiskBackupApiPolicyItemInputFrequencyInterval = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 40; export const DiskBackupApiPolicyItemInputFrequencyInterval = S.Number; /** Human-readable label that identifies the frequency type associated with the backup policy. */ export type DiskBackupApiPolicyItemInputFrequencyType = | "daily" | "hourly" | "weekly" | "monthly" | "yearly" | "ondemand"; export const DiskBackupApiPolicyItemInputFrequencyType = S.String; /** Unit of time in which MongoDB Cloud measures Snapshot retention. */ export type DiskBackupApiPolicyItemInputRetentionUnit = | "days" | "weeks" | "months" | "years"; export const DiskBackupApiPolicyItemInputRetentionUnit = S.String; /** Specifications for one policy. */ export interface DiskBackupApiPolicyItemInput { /** Number that indicates the frequency interval for a set of Snapshots. A value of `1` specifies the first instance of the corresponding `frequencyType`. - In a yearly policy item, `1` indicates that the yearly Snapshot occurs on the first day of January and `12` indicates the first day of December. - In a monthly policy item, `1` indicates that the monthly Snapshot occurs on the first day of the month and `40` indicates the last day of the month. - In a weekly policy item, `1` indicates that the weekly Snapshot occurs on Monday and `7` indicates Sunday. - In an hourly policy item, you can set the frequency interval to `1`, `2`, `4`, `6`, `8`, or `12`. For hourly policy items for NVMe clusters, MongoDB Cloud accepts only `12` as the frequency interval value. MongoDB Cloud ignores this setting for non-hourly policy items in Backup Compliance Policy settings. */ frequencyInterval: | DiskBackupApiPolicyItemInputFrequencyInterval | (number & {}); /** Human-readable label that identifies the frequency type associated with the backup policy. */ frequencyType: DiskBackupApiPolicyItemInputFrequencyType | (string & {}); /** Unit of time in which MongoDB Cloud measures Snapshot retention. */ retentionUnit: DiskBackupApiPolicyItemInputRetentionUnit | (string & {}); /** Duration in days, weeks, months, or years that MongoDB Cloud retains the Snapshot. For less frequent policy items, MongoDB Cloud requires that you specify a value greater than or equal to the value specified for more frequent policy items. For example: If the hourly policy item specifies a retention of two days, you must specify two days or greater for the retention of the weekly policy item. */ retentionValue: number; } export const DiskBackupApiPolicyItemInput = /*@__PURE__*/ S.suspend(() => S.Struct({ frequencyInterval: DiskBackupApiPolicyItemInputFrequencyInterval, frequencyType: DiskBackupApiPolicyItemInputFrequencyType, retentionUnit: DiskBackupApiPolicyItemInputRetentionUnit, retentionValue: S.Number, }), ).annotate({ identifier: "DiskBackupApiPolicyItemInput", }) as any as S.Schema; /** List that contains the specifications for one policy. */ export type AdvancedDiskBackupSnapshotSchedulePolicyInputPolicyItemsList = Array; export const AdvancedDiskBackupSnapshotSchedulePolicyInputPolicyItemsList = /*@__PURE__*/ S.Array( DiskBackupApiPolicyItemInput, ) as any as S.Schema; /** List that contains a document for each backup policy item in the desired backup policy. */ export interface AdvancedDiskBackupSnapshotSchedulePolicyInput { /** Unique 24-hexadecimal digit string that identifies this backup policy. */ id?: string; /** List that contains the specifications for one policy. */ policyItems: AdvancedDiskBackupSnapshotSchedulePolicyInputPolicyItemsList; } export const AdvancedDiskBackupSnapshotSchedulePolicyInput = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.String), policyItems: AdvancedDiskBackupSnapshotSchedulePolicyInputPolicyItemsList, }), ).annotate({ identifier: "AdvancedDiskBackupSnapshotSchedulePolicyInput", }) as any as S.Schema; /** Rules set for this backup schedule. */ export type UpdateGroupClusterBackupScheduleRequestPoliciesList = Array; export const UpdateGroupClusterBackupScheduleRequestPoliciesList = /*@__PURE__*/ S.Array( AdvancedDiskBackupSnapshotSchedulePolicyInput, ) as any as S.Schema; export interface UpdateGroupClusterBackupScheduleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the copy settings are automatically managed by MongoDB Cloud and sync to the cluster topology. */ autoCopySettingsEnabled?: boolean; /** Flag that indicates whether MongoDB Cloud automatically exports Cloud Backup Snapshots to the Export Bucket. */ autoExportEnabled?: boolean; /** Flag that indicates whether copy settings use `copyPolicyItems` instead of `frequencies`. When true, requests must supply `copyPolicyItems` and responses return `copyPolicyItems` only. When false or omitted, requests must supply `frequencies` and responses return `frequencies` only. */ copyPolicyItemsEnabled?: boolean; /** List that contains a document for each copy setting item in the desired backup policy. */ copySettings?: UpdateGroupClusterBackupScheduleRequestCopySettingsList; /** List that contains a document for each deleted copy setting whose backup copies you want to delete. */ deleteCopiedBackups?: UpdateGroupClusterBackupScheduleRequestDeleteCopiedBackupsList; /** Flag that indicates whether to delete Snapshot copies that MongoDB Cloud took previously when their associated `copyPolicyItems` are removed from a `copySetting`. This option requires `copyPolicyItemsEnabled` to be true. */ deleteCopySnapshots?: boolean; /** Flag that indicates whether to delete Snapshots that MongoDB Cloud took previously when deleting the associated backup policy. */ deleteSnapshots?: boolean; export?: AutoExportPolicyView; /** List that contains a document for each extra retention setting item in the desired backup policy. */ extraRetentionSettings?: UpdateGroupClusterBackupScheduleRequestExtraRetentionSettingsList; /** Rules set for this backup schedule. */ policies: UpdateGroupClusterBackupScheduleRequestPoliciesList; /** Hour of day in Coordinated Universal Time (UTC) that represents when MongoDB Cloud takes the Snapshot. */ referenceHourOfDay?: number; /** Minute of the `referenceHourOfDay` that represents when MongoDB Cloud takes the Snapshot. */ referenceMinuteOfHour?: number; /** Number of previous days that you can restore back to with Continuous Cloud Backup accuracy. You must specify a positive, non-zero integer. This parameter applies to continuous Cloud Backups only. */ restoreWindowDays?: number; /** Flag that indicates whether to apply the retention changes for updated copy policy items to Snapshot copies that MongoDB Cloud took previously. */ updateCopySnapshots?: boolean; /** Flag that indicates whether to apply the retention changes in the updated backup policy to Snapshots that MongoDB Cloud took previously. */ updateSnapshots?: boolean; /** Flag that indicates whether to use organization and project names instead of organization and project UUIDs in the path to the metadata files that MongoDB Cloud uploads to your Export Bucket. */ useOrgAndGroupNamesInExportPrefix?: boolean; } export const UpdateGroupClusterBackupScheduleRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), autoCopySettingsEnabled: S.optional(S.Boolean), autoExportEnabled: S.optional(S.Boolean), copyPolicyItemsEnabled: S.optional(S.Boolean), copySettings: S.optional( UpdateGroupClusterBackupScheduleRequestCopySettingsList, ), deleteCopiedBackups: S.optional( UpdateGroupClusterBackupScheduleRequestDeleteCopiedBackupsList, ), deleteCopySnapshots: S.optional(S.Boolean), deleteSnapshots: S.optional(S.Boolean), export: S.optional(AutoExportPolicyView), extraRetentionSettings: S.optional( UpdateGroupClusterBackupScheduleRequestExtraRetentionSettingsList, ), policies: UpdateGroupClusterBackupScheduleRequestPoliciesList, referenceHourOfDay: S.optional(S.Number), referenceMinuteOfHour: S.optional(S.Number), restoreWindowDays: S.optional(S.Number), updateCopySnapshots: S.optional(S.Boolean), updateSnapshots: S.optional(S.Boolean), useOrgAndGroupNamesInExportPrefix: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/schedule", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "UpdateGroupClusterBackupScheduleRequest", }) as any as S.Schema; /** Quantity of time in which MongoDB Cloud measures snapshot retention. */ export type UpdateGroupClusterBackupSnapshotRequestRetentionUnit = | "DAYS" | "WEEKS" | "MONTHS" | "YEARS"; export const UpdateGroupClusterBackupSnapshotRequestRetentionUnit = S.String; export interface UpdateGroupClusterBackupSnapshotRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the desired snapshot. */ snapshotId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Quantity of time in which MongoDB Cloud measures snapshot retention. */ retentionUnit: | UpdateGroupClusterBackupSnapshotRequestRetentionUnit | (string & {}); /** Number that indicates the amount of days, weeks, months, or years that MongoDB Cloud retains the snapshot. For less frequent policy items, MongoDB Cloud requires that you specify a value greater than or equal to the value specified for more frequent policy items. If the hourly policy item specifies a retention of two days, specify two days or greater for the retention of the weekly policy item. */ retentionValue: number; } export const UpdateGroupClusterBackupSnapshotRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), snapshotId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), retentionUnit: UpdateGroupClusterBackupSnapshotRequestRetentionUnit, retentionValue: S.Number, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupClusterBackupSnapshotRequest", }) as any as S.Schema; /** List of namespace strings (combination of database and collection) on the specified host or cluster. */ export type UpdateGroupClusterCollStatPinnedNamespacesRequestNamespacesList = Array; export const UpdateGroupClusterCollStatPinnedNamespacesRequestNamespacesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UpdateGroupClusterCollStatPinnedNamespacesRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster to pin namespaces to. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** List of namespace strings (combination of database and collection) on the specified host or cluster. */ namespaces?: UpdateGroupClusterCollStatPinnedNamespacesRequestNamespacesList; } export const UpdateGroupClusterCollStatPinnedNamespacesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), namespaces: S.optional( UpdateGroupClusterCollStatPinnedNamespacesRequestNamespacesList, ), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collStats/pinned", code: 200, accept: "application/vnd.atlas.2023-11-15+json", }), ), ).annotate({ identifier: "UpdateGroupClusterCollStatPinnedNamespacesRequest", }) as any as S.Schema; export interface UpdateGroupClusterOnlineArchiveRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster that contains the specified collection from which Application created the online archive. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the online archive to update. */ archiveId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; criteria?: CriteriaView; dataExpirationRule?: DataExpirationRuleView; /** Flag that indicates whether this online archive exists in the paused state. A request to resume fails if the collection has another active online archive. To pause an active online archive or resume a paused online archive, you must include this parameter. To pause an active archive, set this to **true**. To resume a paused archive, set this to **false**. */ paused?: boolean; schedule?: OnlineArchiveSchedule; } export const UpdateGroupClusterOnlineArchiveRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), archiveId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), criteria: S.optional(CriteriaView), dataExpirationRule: S.optional(DataExpirationRuleView), paused: S.optional(S.Boolean), schedule: S.optional(OnlineArchiveSchedule), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives/{archiveId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupClusterOnlineArchiveRequest", }) as any as S.Schema; export type UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls12Item = | "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" | "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"; export const UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls12Item = S.String; /** The custom OpenSSL cipher suite list for TLS 1.2. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ export type UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls12List = Array< | UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls12Item | (string & {}) >; export const UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls12List = /*@__PURE__*/ S.Array( UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls12Item, ) as any as S.Schema; export type UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls13Item = | "TLS_AES_256_GCM_SHA384" | "TLS_CHACHA20_POLY1305_SHA256" | "TLS_AES_128_GCM_SHA256" | "TLS_AES_128_CCM_SHA256"; export const UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls13Item = S.String; /** The custom OpenSSL cipher suite list for TLS 1.3. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ export type UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls13List = Array< | UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls13Item | (string & {}) >; export const UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls13List = /*@__PURE__*/ S.Array( UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls13Item, ) as any as S.Schema; /** Minimum Transport Layer Security (TLS) version that the cluster accepts for incoming connections. Clusters using TLS 1.0 or 1.1 should consider setting TLS 1.2 as the minimum TLS protocol version. */ export type UpdateGroupClusterProcessArgsRequestMinimumEnabledTlsProtocol = | "TLS1_0" | "TLS1_1" | "TLS1_2" | "TLS1_3"; export const UpdateGroupClusterProcessArgsRequestMinimumEnabledTlsProtocol = S.String; /** The TLS cipher suite configuration mode. The default mode uses the default cipher suites. The custom mode allows you to specify custom cipher suites for both TLS 1.2 and TLS 1.3. */ export type UpdateGroupClusterProcessArgsRequestTlsCipherConfigMode = | "CUSTOM" | "DEFAULT"; export const UpdateGroupClusterProcessArgsRequestTlsCipherConfigMode = S.String; export interface UpdateGroupClusterProcessArgsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The minimum pre- and post-image retention time in seconds. */ changeStreamOptionsPreAndPostImagesExpireAfterSeconds?: number; /** Number of threads on the source shard and the receiving shard for chunk migration. The number of threads should not exceed the half the total number of CPU cores in the sharded cluster. */ chunkMigrationConcurrency?: number; /** The custom OpenSSL cipher suite list for TLS 1.2. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ customOpensslCipherConfigTls12?: UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls12List; /** The custom OpenSSL cipher suite list for TLS 1.3. Requires `tlsCipherConfigMode` = `CUSTOM`; when `tlsCipherConfigMode` is omitted, supplying a non-empty list infers `CUSTOM`. */ customOpensslCipherConfigTls13?: UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls13List; /** Default time limit in milliseconds for individual read operations to complete. */ defaultMaxTimeMS?: number; /** Default level of acknowledgment requested from MongoDB for write operations when none is specified by the driver. */ defaultWriteConcern?: string; /** Flag that indicates whether the cluster allows execution of operations that perform server-side executions of JavaScript. When using 8.0+, we recommend disabling server-side JavaScript and using operators of aggregation pipeline as more performant alternative. */ javascriptEnabled?: boolean; /** Minimum Transport Layer Security (TLS) version that the cluster accepts for incoming connections. Clusters using TLS 1.0 or 1.1 should consider setting TLS 1.2 as the minimum TLS protocol version. */ minimumEnabledTlsProtocol?: | UpdateGroupClusterProcessArgsRequestMinimumEnabledTlsProtocol | (string & {}); /** Flag that indicates whether the cluster disables executing any query that requires a collection scan to return results. */ noTableScan?: boolean; /** Minimum retention window for cluster's oplog expressed in hours. A value of null indicates that the cluster uses the default minimum oplog window that MongoDB Cloud calculates. */ oplogMinRetentionHours?: number | null; /** Storage limit of cluster's oplog expressed in megabytes. A value of null indicates that the cluster uses the default oplog size that MongoDB Cloud calculates. */ oplogSizeMB?: number | null; /** May be set to 1 (disabled) or 3 (enabled). When set to 3, Atlas will include redacted and anonymized `$queryStats` output in MongoDB logs. `$queryStats` output does not contain literals or field values. Enabling this setting might impact the performance of your cluster. */ queryStatsLogVerbosity?: number; /** Interval in seconds at which the mongosqld process re-samples data to create its relational schema. */ sampleRefreshIntervalBIConnector?: number; /** Number of documents per database to sample when gathering schema information. */ sampleSizeBIConnector?: number; /** The TLS cipher suite configuration mode. The default mode uses the default cipher suites. The custom mode allows you to specify custom cipher suites for both TLS 1.2 and TLS 1.3. */ tlsCipherConfigMode?: | UpdateGroupClusterProcessArgsRequestTlsCipherConfigMode | (string & {}); /** Lifetime, in seconds, of multi-document transactions. Atlas considers the transactions that exceed this limit as expired and so aborts them through a periodic clean-up process. */ transactionLifetimeLimitSeconds?: number; } export const UpdateGroupClusterProcessArgsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), changeStreamOptionsPreAndPostImagesExpireAfterSeconds: S.optional( S.Number, ), chunkMigrationConcurrency: S.optional(S.Number), customOpensslCipherConfigTls12: S.optional( UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls12List, ), customOpensslCipherConfigTls13: S.optional( UpdateGroupClusterProcessArgsRequestCustomOpensslCipherConfigTls13List, ), defaultMaxTimeMS: S.optional(S.Number), defaultWriteConcern: S.optional(S.String), javascriptEnabled: S.optional(S.Boolean), minimumEnabledTlsProtocol: S.optional( UpdateGroupClusterProcessArgsRequestMinimumEnabledTlsProtocol, ), noTableScan: S.optional(S.Boolean), oplogMinRetentionHours: S.optional(S.NullOr(S.Number)), oplogSizeMB: S.optional(S.NullOr(S.Number)), queryStatsLogVerbosity: S.optional(S.Number), sampleRefreshIntervalBIConnector: S.optional(S.Number), sampleSizeBIConnector: S.optional(S.Number), tlsCipherConfigMode: S.optional( UpdateGroupClusterProcessArgsRequestTlsCipherConfigMode, ), transactionLifetimeLimitSeconds: S.optional(S.Number), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/processArgs", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "UpdateGroupClusterProcessArgsRequest", }) as any as S.Schema; /** The rejection status of a query shape. Use REJECTED to prevent the query shape from executing on the cluster, or UNREJECTED to allow it to execute. */ export type UpdateGroupClusterQueryShapeRequestStatus = | "REJECTED" | "UNREJECTED"; export const UpdateGroupClusterQueryShapeRequestStatus = S.String; export interface UpdateGroupClusterQueryShapeRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the cluster. */ clusterName: string; /** A SHA256 hash of a query shape, output by MongoDB commands like `$queryStats` and `$explain` or slow query logs. */ queryShapeHash: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The rejection status of a query shape. Use REJECTED to prevent the query shape from executing on the cluster, or UNREJECTED to allow it to execute. */ status: UpdateGroupClusterQueryShapeRequestStatus | (string & {}); } export const UpdateGroupClusterQueryShapeRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), queryShapeHash: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), status: UpdateGroupClusterQueryShapeRequestStatus, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapes/{queryShapeHash}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateGroupClusterQueryShapeRequest", }) as any as S.Schema; /** List of settings that configure the Search Nodes for your cluster. Provide one element per region when configuring asymmetric deployments; a single element applies to all regions. */ export type UpdateGroupClusterSearchDeploymentRequestSpecsList = Array; export const UpdateGroupClusterSearchDeploymentRequestSpecsList = /*@__PURE__*/ S.Array( ApiSearchDeploymentRequestSpecView, ) as any as S.Schema; export interface UpdateGroupClusterSearchDeploymentRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the cluster to update the Search Nodes for. */ clusterName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Default number of Search Nodes per region. Applied to a region without an explicit override. */ defaultNodeCount?: number | null; /** List of settings that configure the Search Nodes for your cluster. Provide one element per region when configuring asymmetric deployments; a single element applies to all regions. */ specs: UpdateGroupClusterSearchDeploymentRequestSpecsList; } export const UpdateGroupClusterSearchDeploymentRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), defaultNodeCount: S.optional(S.NullOr(S.Number)), specs: UpdateGroupClusterSearchDeploymentRequestSpecsList, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/deployment", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "UpdateGroupClusterSearchDeploymentRequest", }) as any as S.Schema; /** Specific pre-defined method chosen to convert database field text into searchable words. This conversion reduces the text of fields into the smallest units of text. These units are called a **term** or **token**. This process, known as tokenization, involves making the following changes to the text in fields: - extracting words - removing punctuation - removing accents - changing to lowercase - removing common words - reducing words to their root form (stemming) - changing words to their base form (lemmatization) MongoDB Cloud uses the process you select to build the Atlas Search index. */ export type TextSearchIndexDefinitionAnalyzer = | "lucene.standard" | "lucene.simple" | "lucene.whitespace" | "lucene.keyword" | "lucene.arabic" | "lucene.armenian" | "lucene.basque" | "lucene.bengali" | "lucene.brazilian" | "lucene.bulgarian" | "lucene.catalan" | "lucene.chinese" | "lucene.cjk" | "lucene.czech" | "lucene.danish" | "lucene.dutch" | "lucene.english" | "lucene.finnish" | "lucene.french" | "lucene.galician" | "lucene.german" | "lucene.greek" | "lucene.hindi" | "lucene.hungarian" | "lucene.indonesian" | "lucene.irish" | "lucene.italian" | "lucene.japanese" | "lucene.korean" | "lucene.kuromoji" | "lucene.latvian" | "lucene.lithuanian" | "lucene.morfologik" | "lucene.nori" | "lucene.norwegian" | "lucene.persian" | "lucene.portuguese" | "lucene.romanian" | "lucene.russian" | "lucene.smartcn" | "lucene.sorani" | "lucene.spanish" | "lucene.swedish" | "lucene.thai" | "lucene.turkish" | "lucene.ukrainian"; export const TextSearchIndexDefinitionAnalyzer = S.String; export type BasicDBObject = { [key: string]: unknown | undefined }; export const BasicDBObject = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** Filters that examine text one character at a time and perform filtering operations. */ export type AtlasSearchAnalyzerCharFiltersList = Array; export const AtlasSearchAnalyzerCharFiltersList = /*@__PURE__*/ S.Array( BasicDBObject, ) as any as S.Schema; /** Filter that performs operations such as: - Stemming, which reduces related words, such as "talking", "talked", and "talks" to their root word "talk". - Redaction, which is the removal of sensitive information from public documents. */ export type AtlasSearchAnalyzerTokenFiltersList = Array; export const AtlasSearchAnalyzerTokenFiltersList = /*@__PURE__*/ S.Array( BasicDBObject, ) as any as S.Schema; /** Tokenizer that you want to use to create tokens. Tokens determine how Atlas Search splits up text into discrete chunks for indexing. */ export type AtlasSearchAnalyzerTokenizerMap = { [key: string]: unknown | undefined; }; export const AtlasSearchAnalyzerTokenizerMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export interface AtlasSearchAnalyzer { /** Filters that examine text one character at a time and perform filtering operations. */ charFilters?: AtlasSearchAnalyzerCharFiltersList; /** Name that identifies the custom analyzer. Names must be unique within an index, and must not start with any of the following strings: - `lucene.` - `builtin.` - `mongodb.` */ name: string; /** Filter that performs operations such as: - Stemming, which reduces related words, such as "talking", "talked", and "talks" to their root word "talk". - Redaction, which is the removal of sensitive information from public documents. */ tokenFilters?: AtlasSearchAnalyzerTokenFiltersList; /** Tokenizer that you want to use to create tokens. Tokens determine how Atlas Search splits up text into discrete chunks for indexing. */ tokenizer: AtlasSearchAnalyzerTokenizerMap; } export const AtlasSearchAnalyzer = /*@__PURE__*/ S.suspend(() => S.Struct({ charFilters: S.optional(AtlasSearchAnalyzerCharFiltersList), name: S.String, tokenFilters: S.optional(AtlasSearchAnalyzerTokenFiltersList), tokenizer: AtlasSearchAnalyzerTokenizerMap, }), ).annotate({ identifier: "AtlasSearchAnalyzer", }) as any as S.Schema; /** List of user-defined methods to convert database field text into searchable words. */ export type TextSearchIndexDefinitionAnalyzersList = Array; export const TextSearchIndexDefinitionAnalyzersList = /*@__PURE__*/ S.Array( AtlasSearchAnalyzer, ) as any as S.Schema; /** One or more field specifications for the Atlas Search index. Required if `mappings.dynamic` is omitted or set to `false`. */ export type SearchMappingsFieldsMap = { [key: string]: unknown | undefined }; export const SearchMappingsFieldsMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; /** Index specifications for the collection's fields. */ export interface SearchMappings { /** Indicates whether the index uses static, default dynamic, or configurable dynamic mappings. Set to `true` to enable dynamic mapping with default type set or define object to specify the name of the configured type sets for dynamic mapping. If you specify configurable dynamic mappings, you must define the referred type sets in the `typeSets` field. Set to `false` to use only static mappings through `mappings.fields`. */ dynamic?: unknown; /** One or more field specifications for the Atlas Search index. Required if `mappings.dynamic` is omitted or set to `false`. */ fields?: SearchMappingsFieldsMap; } export const SearchMappings = /*@__PURE__*/ S.suspend(() => S.Struct({ dynamic: S.optional(S.Unknown), fields: S.optional(SearchMappingsFieldsMap), }), ).annotate({ identifier: "SearchMappings" }) as any as S.Schema; /** Method applied to identify words when searching this index. */ export type TextSearchIndexDefinitionSearchAnalyzer = | "lucene.standard" | "lucene.simple" | "lucene.whitespace" | "lucene.keyword" | "lucene.arabic" | "lucene.armenian" | "lucene.basque" | "lucene.bengali" | "lucene.brazilian" | "lucene.bulgarian" | "lucene.catalan" | "lucene.chinese" | "lucene.cjk" | "lucene.czech" | "lucene.danish" | "lucene.dutch" | "lucene.english" | "lucene.finnish" | "lucene.french" | "lucene.galician" | "lucene.german" | "lucene.greek" | "lucene.hindi" | "lucene.hungarian" | "lucene.indonesian" | "lucene.irish" | "lucene.italian" | "lucene.japanese" | "lucene.korean" | "lucene.kuromoji" | "lucene.latvian" | "lucene.lithuanian" | "lucene.morfologik" | "lucene.nori" | "lucene.norwegian" | "lucene.persian" | "lucene.portuguese" | "lucene.romanian" | "lucene.russian" | "lucene.smartcn" | "lucene.sorani" | "lucene.spanish" | "lucene.swedish" | "lucene.thai" | "lucene.turkish" | "lucene.ukrainian"; export const TextSearchIndexDefinitionSearchAnalyzer = S.String; /** Specific pre-defined method chosen to apply to the synonyms to be searched. */ export type SearchSynonymMappingDefinitionAnalyzer = | "lucene.standard" | "lucene.simple" | "lucene.whitespace" | "lucene.keyword" | "lucene.arabic" | "lucene.armenian" | "lucene.basque" | "lucene.bengali" | "lucene.brazilian" | "lucene.bulgarian" | "lucene.catalan" | "lucene.chinese" | "lucene.cjk" | "lucene.czech" | "lucene.danish" | "lucene.dutch" | "lucene.english" | "lucene.finnish" | "lucene.french" | "lucene.galician" | "lucene.german" | "lucene.greek" | "lucene.hindi" | "lucene.hungarian" | "lucene.indonesian" | "lucene.irish" | "lucene.italian" | "lucene.japanese" | "lucene.korean" | "lucene.kuromoji" | "lucene.latvian" | "lucene.lithuanian" | "lucene.morfologik" | "lucene.nori" | "lucene.norwegian" | "lucene.persian" | "lucene.portuguese" | "lucene.romanian" | "lucene.russian" | "lucene.smartcn" | "lucene.sorani" | "lucene.spanish" | "lucene.swedish" | "lucene.thai" | "lucene.turkish" | "lucene.ukrainian"; export const SearchSynonymMappingDefinitionAnalyzer = S.String; /** Data set that stores words and their applicable synonyms. */ export interface SynonymSource { /** Label that identifies the MongoDB collection that stores words and their applicable synonyms. */ collection: string; } export const SynonymSource = /*@__PURE__*/ S.suspend(() => S.Struct({ collection: S.String, }), ).annotate({ identifier: "SynonymSource" }) as any as S.Schema; /** Synonyms used for this full text index. */ export interface SearchSynonymMappingDefinition { /** Specific pre-defined method chosen to apply to the synonyms to be searched. */ analyzer: SearchSynonymMappingDefinitionAnalyzer | (string & {}); /** Label that identifies the synonym definition. Each `synonym.name` must be unique within the same index definition. */ name: string; source: SynonymSource; } export const SearchSynonymMappingDefinition = /*@__PURE__*/ S.suspend(() => S.Struct({ analyzer: SearchSynonymMappingDefinitionAnalyzer, name: S.String, source: SynonymSource, }), ).annotate({ identifier: "SearchSynonymMappingDefinition", }) as any as S.Schema; /** Rule sets that map words to their synonyms in this index. */ export type TextSearchIndexDefinitionSynonymsList = Array; export const TextSearchIndexDefinitionSynonymsList = /*@__PURE__*/ S.Array( SearchSynonymMappingDefinition, ) as any as S.Schema; /** List of types associated with the type set. Each type definition must include a `type` field specifying the search field type (`autocomplete`, `boolean`, `date`, `geo`, `number`, `objectId`, `string`, `token`, or `uuid`) and may include additional configuration properties specific to that type. */ export type SearchTypeSetsTypesList = Array; export const SearchTypeSetsTypesList = /*@__PURE__*/ S.Array( BasicDBObject, ) as any as S.Schema; /** Type sets for an Atlas Search index definition. */ export interface SearchTypeSets { /** Label that identifies the type set name. Each `typeSets.name` must be unique within the same index definition. */ name: string; /** List of types associated with the type set. Each type definition must include a `type` field specifying the search field type (`autocomplete`, `boolean`, `date`, `geo`, `number`, `objectId`, `string`, `token`, or `uuid`) and may include additional configuration properties specific to that type. */ types: SearchTypeSetsTypesList; } export const SearchTypeSets = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, types: SearchTypeSetsTypesList, }), ).annotate({ identifier: "SearchTypeSets" }) as any as S.Schema; /** Type sets for the index. */ export type TextSearchIndexDefinitionTypeSetsList = Array; export const TextSearchIndexDefinitionTypeSetsList = /*@__PURE__*/ S.Array( SearchTypeSets, ) as any as S.Schema; /** The text search index definition set by the user. */ export interface TextSearchIndexDefinition { /** Specific pre-defined method chosen to convert database field text into searchable words. This conversion reduces the text of fields into the smallest units of text. These units are called a **term** or **token**. This process, known as tokenization, involves making the following changes to the text in fields: - extracting words - removing punctuation - removing accents - changing to lowercase - removing common words - reducing words to their root form (stemming) - changing words to their base form (lemmatization) MongoDB Cloud uses the process you select to build the Atlas Search index. */ analyzer?: TextSearchIndexDefinitionAnalyzer | (string & {}); /** List of user-defined methods to convert database field text into searchable words. */ analyzers?: TextSearchIndexDefinitionAnalyzersList; mappings: SearchMappings; /** Number of index partitions. Allowed values are [1, 2, 4]. */ numPartitions?: number; /** Method applied to identify words when searching this index. */ searchAnalyzer?: TextSearchIndexDefinitionSearchAnalyzer | (string & {}); /** Sort definition for the index. When defined, the index will be pre-sorted on the specified fields, which improves query sort performance for those fields. Supports two formats: simple format with field name and direction, or complex format with additional options. The `order` field is required (1=ascending, -1=descending).The `noData` field is optional and controls how missing values are sorted(default: "lowest"). */ sort?: unknown; /** Flag that indicates whether to store all fields (true) on Atlas Search. By default, Atlas doesn't store (false) the fields on Atlas Search. Alternatively, you can specify an object that only contains the list of fields to store (include) or not store (exclude) on Atlas Search. Note that storing all fields (true) is not allowed for vector search indexes. To learn more, see Stored Source Fields. */ storedSource?: unknown; /** Rule sets that map words to their synonyms in this index. */ synonyms?: TextSearchIndexDefinitionSynonymsList; /** Type sets for the index. */ typeSets?: TextSearchIndexDefinitionTypeSetsList; } export const TextSearchIndexDefinition = /*@__PURE__*/ S.suspend(() => S.Struct({ analyzer: S.optional(TextSearchIndexDefinitionAnalyzer), analyzers: S.optional(TextSearchIndexDefinitionAnalyzersList), mappings: SearchMappings, numPartitions: S.optional(S.Number), searchAnalyzer: S.optional(TextSearchIndexDefinitionSearchAnalyzer), sort: S.optional(S.Unknown), storedSource: S.optional(S.Unknown), synonyms: S.optional(TextSearchIndexDefinitionSynonymsList), typeSets: S.optional(TextSearchIndexDefinitionTypeSetsList), }), ).annotate({ identifier: "TextSearchIndexDefinition", }) as any as S.Schema; /** Settings that configure the fields, one per object, to index. You must define at least one "vector" type field. You can optionally define "filter" type fields also. */ export type VectorSearchIndexDefinitionFieldsList = Array; export const VectorSearchIndexDefinitionFieldsList = /*@__PURE__*/ S.Array( BasicDBObject, ) as any as S.Schema; /** The vector search index definition set by the user. */ export interface VectorSearchIndexDefinition { /** Settings that configure the fields, one per object, to index. You must define at least one "vector" type field. You can optionally define "filter" type fields also. */ fields: VectorSearchIndexDefinitionFieldsList; /** Top-level path to the array that contains vector fields. When provided, vector fields under this path are treated as nested. */ nestedRoot?: string; /** Number of index partitions. Allowed values are [1, 2, 4]. */ numPartitions?: number; /** Flag that indicates whether to store all fields (true) on Atlas Search. By default, Atlas doesn't store (false) the fields on Atlas Search. Alternatively, you can specify an object that only contains the list of fields to store (include) or not store (exclude) on Atlas Search. Note that storing all fields (true) is not allowed for vector search indexes. To learn more, see Stored Source Fields. */ storedSource?: unknown; } export const VectorSearchIndexDefinition = /*@__PURE__*/ S.suspend(() => S.Struct({ fields: VectorSearchIndexDefinitionFieldsList, nestedRoot: S.optional(S.String), numPartitions: S.optional(S.Number), storedSource: S.optional(S.Unknown), }), ).annotate({ identifier: "VectorSearchIndexDefinition", }) as any as S.Schema; /** The index definition to update the search index to. */ export type UpdateGroupClusterSearchIndexRequestDefinition = | TextSearchIndexDefinition | VectorSearchIndexDefinition; export const UpdateGroupClusterSearchIndexRequestDefinition = S.Unknown as any as S.Schema; export interface UpdateGroupClusterSearchIndexRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Name of the cluster that contains the collection whose Atlas Search index you want to update. */ clusterName: string; /** Unique 24-hexadecimal digit string that identifies the Atlas Search [index](https://dochub.mongodb.org/core/index-definitions-fts). Use the [Get All Atlas Search Indexes for a Collection API](https://docs.atlas.mongodb.com/reference/api/fts-indexes-get-all/) endpoint to find the IDs of all Atlas Search indexes. */ indexId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The index definition to update the search index to. */ definition: UpdateGroupClusterSearchIndexRequestDefinition; } export const UpdateGroupClusterSearchIndexRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), indexId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), definition: UpdateGroupClusterSearchIndexRequestDefinition, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "UpdateGroupClusterSearchIndexRequest", }) as any as S.Schema; /** The index definition to update the search index to. */ export type UpdateGroupClusterSearchIndexByNameRequestDefinition = | TextSearchIndexDefinition | VectorSearchIndexDefinition; export const UpdateGroupClusterSearchIndexByNameRequestDefinition = S.Unknown as any as S.Schema; export interface UpdateGroupClusterSearchIndexByNameRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Name of the cluster that contains the collection whose Atlas Search index you want to update. */ clusterName: string; /** Label that identifies the database that contains the collection with one or more Atlas Search indexes. */ databaseName: string; /** Name of the collection that contains one or more Atlas Search indexes. */ collectionName: string; /** Name of the Atlas Search index to update. */ indexName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The index definition to update the search index to. */ definition: UpdateGroupClusterSearchIndexByNameRequestDefinition; } export const UpdateGroupClusterSearchIndexByNameRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clusterName: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), collectionName: S.String.pipe(T.Label()), indexName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), definition: UpdateGroupClusterSearchIndexByNameRequestDefinition, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "UpdateGroupClusterSearchIndexByNameRequest", }) as any as S.Schema; /** Cloud service provider that serves the requested network peering containers. */ export type UpdateGroupContainerRequestProviderName = | "AWS" | "GCP" | "AZURE" | "TENANT" | "SERVERLESS"; export const UpdateGroupContainerRequestProviderName = S.String; export interface UpdateGroupContainerRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud network container that you want to remove. */ containerId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Cloud service provider that serves the requested network peering containers. */ providerName?: UpdateGroupContainerRequestProviderName | (string & {}); } export const UpdateGroupContainerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), containerId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), providerName: S.optional(UpdateGroupContainerRequestProviderName), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/containers/{containerId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupContainerRequest", }) as any as S.Schema; /** List of the individual privilege actions that the role grants. */ export type UpdateGroupCustomDbRoleRoleRequestActionsList = Array; export const UpdateGroupCustomDbRoleRoleRequestActionsList = /*@__PURE__*/ S.Array( DatabasePrivilegeAction, ) as any as S.Schema; /** List of the built-in roles that this custom role inherits. */ export type UpdateGroupCustomDbRoleRoleRequestInheritedRolesList = Array; export const UpdateGroupCustomDbRoleRoleRequestInheritedRolesList = /*@__PURE__*/ S.Array( DatabaseInheritedRole, ) as any as S.Schema; export interface UpdateGroupCustomDbRoleRoleRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the role for the request. This name must be unique for this custom role in this project. */ roleName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** List of the individual privilege actions that the role grants. */ actions?: UpdateGroupCustomDbRoleRoleRequestActionsList; /** List of the built-in roles that this custom role inherits. */ inheritedRoles?: UpdateGroupCustomDbRoleRoleRequestInheritedRolesList; } export const UpdateGroupCustomDbRoleRoleRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), roleName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), actions: S.optional(UpdateGroupCustomDbRoleRoleRequestActionsList), inheritedRoles: S.optional( UpdateGroupCustomDbRoleRoleRequestInheritedRolesList, ), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupCustomDbRoleRoleRequest", }) as any as S.Schema; /** Human-readable label that indicates whether the new database user authenticates with the Amazon Web Services (AWS) Identity and Access Management (IAM) credentials associated with the user or the user's role. */ export type UpdateGroupDatabaseUserRequestAwsIAMType = "NONE" | "USER" | "ROLE"; export const UpdateGroupDatabaseUserRequestAwsIAMType = S.String; /** List that contains the key-value pairs for tagging and categorizing the MongoDB database user. The labels that you define do not appear in the console. */ export type UpdateGroupDatabaseUserRequestLabelsList = Array; export const UpdateGroupDatabaseUserRequestLabelsList = /*@__PURE__*/ S.Array( ComponentLabel, ) as any as S.Schema; /** Part of the Lightweight Directory Access Protocol (LDAP) record that the database uses to authenticate this database user on the LDAP host. */ export type UpdateGroupDatabaseUserRequestLdapAuthType = | "NONE" | "GROUP" | "USER"; export const UpdateGroupDatabaseUserRequestLdapAuthType = S.String; /** Human-readable label that indicates whether the new database user or group authenticates with OIDC federated authentication. To create a federated authentication user, specify the value of USER in this field. To create a federated authentication group, specify the value of `IDP_GROUP` in this field. */ export type UpdateGroupDatabaseUserRequestOidcAuthType = | "NONE" | "IDP_GROUP" | "USER"; export const UpdateGroupDatabaseUserRequestOidcAuthType = S.String; /** List that provides the pairings of one role with one applicable database. */ export type UpdateGroupDatabaseUserRequestRolesList = Array; export const UpdateGroupDatabaseUserRequestRolesList = /*@__PURE__*/ S.Array( DatabaseUserRole, ) as any as S.Schema; /** List that contains clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces that this database user can access. If omitted, MongoDB Cloud grants the database user access to all the clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces in the project. */ export type UpdateGroupDatabaseUserRequestScopesList = Array; export const UpdateGroupDatabaseUserRequestScopesList = /*@__PURE__*/ S.Array( UserScope, ) as any as S.Schema; /** X.509 method that MongoDB Cloud uses to authenticate the database user. - For application-managed X.509, specify `MANAGED`. - For self-managed X.509, specify `CUSTOMER`. Users created with the `CUSTOMER` method require a Common Name (CN) in the **username** parameter. You must create externally authenticated users on the `$external` database. */ export type UpdateGroupDatabaseUserRequestX509Type = | "NONE" | "CUSTOMER" | "MANAGED"; export const UpdateGroupDatabaseUserRequestX509Type = S.String; export interface UpdateGroupDatabaseUserRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The database against which the database user authenticates. Database users must provide both a username and authentication database to log into MongoDB. If the user authenticates with AWS IAM, x.509, LDAP, or OIDC Workload this value should be `$external`. If the user authenticates with SCRAM-SHA or OIDC Workforce, this value should be `admin`. */ databaseName: string; /** Human-readable label that represents the user that authenticates to MongoDB. The format of this label depends on the method of authentication: | Authentication Method | Parameter Needed | Parameter Value | username Format | |---|---|---|---| | AWS IAM | `awsIAMType` | `ROLE` | ARN | | AWS IAM | `awsIAMType` | `USER` | ARN | | x.509 | `x509Type` | `CUSTOMER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | x.509 | `x509Type` | `MANAGED` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `USER` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | LDAP | `ldapAuthType` | `GROUP` | [RFC 2253](https://tools.ietf.org/html/2253) Distinguished Name | | OIDC Workforce | `oidcAuthType` | `IDP_GROUP` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP group name | | OIDC Workload | `oidcAuthType` | `USER` | Atlas OIDC IdP ID (found in federation settings), followed by a '/', followed by the IdP user name | | SCRAM-SHA | `awsIAMType`, `x509Type`, `ldapAuthType`, `oidcAuthType` | `NONE` | Alphanumeric string | */ username: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that indicates whether the new database user authenticates with the Amazon Web Services (AWS) Identity and Access Management (IAM) credentials associated with the user or the user's role. */ awsIAMType?: UpdateGroupDatabaseUserRequestAwsIAMType | (string & {}); /** Date and time when MongoDB Cloud deletes the user. This parameter expresses its value in the ISO 8601 timestamp format in UTC and can include the time zone designation. You must specify a future date that falls within one week of making the Application Programming Interface (API) request. */ deleteAfterDate?: string; /** Description of this database user. */ description?: string; /** List that contains the key-value pairs for tagging and categorizing the MongoDB database user. The labels that you define do not appear in the console. */ labels?: UpdateGroupDatabaseUserRequestLabelsList; /** Part of the Lightweight Directory Access Protocol (LDAP) record that the database uses to authenticate this database user on the LDAP host. */ ldapAuthType?: UpdateGroupDatabaseUserRequestLdapAuthType | (string & {}); /** Human-readable label that indicates whether the new database user or group authenticates with OIDC federated authentication. To create a federated authentication user, specify the value of USER in this field. To create a federated authentication group, specify the value of `IDP_GROUP` in this field. */ oidcAuthType?: UpdateGroupDatabaseUserRequestOidcAuthType | (string & {}); /** Alphanumeric string that authenticates this database user against the database specified in `databaseName`. To authenticate with SCRAM-SHA, you must specify this parameter. This parameter doesn't appear in this response. */ password?: string | Redacted.Redacted; /** List that provides the pairings of one role with one applicable database. */ roles: UpdateGroupDatabaseUserRequestRolesList; /** List that contains clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces that this database user can access. If omitted, MongoDB Cloud grants the database user access to all the clusters, MongoDB Atlas Data Lakes, and MongoDB Atlas Streams Workspaces in the project. */ scopes?: UpdateGroupDatabaseUserRequestScopesList; /** X.509 method that MongoDB Cloud uses to authenticate the database user. - For application-managed X.509, specify `MANAGED`. - For self-managed X.509, specify `CUSTOMER`. Users created with the `CUSTOMER` method require a Common Name (CN) in the **username** parameter. You must create externally authenticated users on the `$external` database. */ x509Type?: UpdateGroupDatabaseUserRequestX509Type | (string & {}); } export const UpdateGroupDatabaseUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), databaseName: S.String.pipe(T.Label()), username: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), awsIAMType: S.optional(UpdateGroupDatabaseUserRequestAwsIAMType), deleteAfterDate: S.optional(S.String), description: S.optional(S.String), labels: S.optional(UpdateGroupDatabaseUserRequestLabelsList), ldapAuthType: S.optional(UpdateGroupDatabaseUserRequestLdapAuthType), oidcAuthType: S.optional(UpdateGroupDatabaseUserRequestOidcAuthType), password: S.optional(S.String.pipe(T.SensitiveValue({}))), roles: UpdateGroupDatabaseUserRequestRolesList, scopes: S.optional(UpdateGroupDatabaseUserRequestScopesList), x509Type: S.optional(UpdateGroupDatabaseUserRequestX509Type), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupDatabaseUserRequest", }) as any as S.Schema; export interface UpdateGroupDataFederationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the federated database instance to update. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether this request should check if the requesting IAM role can read from the S3 bucket. AWS checks if the role can list the objects in the bucket before writing to it. Some IAM roles only need write permissions. This flag allows you to skip that check. */ skipRoleValidation: boolean; cloudProviderConfig?: DataLakeCloudProviderConfigInput; dataProcessRegion?: DataLakeDataProcessRegion; /** Human-readable label that identifies the Federated Database Instance. */ name?: string; storage?: DataLakeStorageInput; } export const UpdateGroupDataFederationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), skipRoleValidation: S.Boolean.pipe(T.Query()), cloudProviderConfig: S.optional(DataLakeCloudProviderConfigInput), dataProcessRegion: S.optional(DataLakeDataProcessRegion), name: S.optional(S.String), storage: S.optional(DataLakeStorageInput), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupDataFederationRequest", }) as any as S.Schema; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ export type AWSKMSConfigurationInputRegion = | "US_GOV_WEST_1" | "US_GOV_EAST_1" | "US_EAST_1" | "US_EAST_2" | "US_WEST_1" | "US_WEST_2" | "CA_CENTRAL_1" | "EU_NORTH_1" | "EU_WEST_1" | "EU_WEST_2" | "EU_WEST_3" | "EU_CENTRAL_1" | "EU_CENTRAL_2" | "AP_EAST_1" | "AP_EAST_2" | "AP_NORTHEAST_1" | "AP_NORTHEAST_2" | "AP_NORTHEAST_3" | "AP_SOUTHEAST_1" | "AP_SOUTHEAST_2" | "AP_SOUTHEAST_3" | "AP_SOUTHEAST_4" | "AP_SOUTHEAST_5" | "AP_SOUTHEAST_6" | "AP_SOUTHEAST_7" | "AP_SOUTH_1" | "AP_SOUTH_2" | "SA_EAST_1" | "CN_NORTH_1" | "CN_NORTHWEST_1" | "ME_SOUTH_1" | "ME_CENTRAL_1" | "AF_SOUTH_1" | "EU_SOUTH_1" | "EU_SOUTH_2" | "IL_CENTRAL_1" | "CA_WEST_1" | "MX_CENTRAL_1" | "GLOBAL"; export const AWSKMSConfigurationInputRegion = S.String; /** Amazon Web Services (AWS) KMS configuration details and encryption at rest configuration set for the specified project. */ export interface AWSKMSConfigurationInput { /** Unique alphanumeric string that identifies an Identity and Access Management (IAM) access key with permissions required to access your Amazon Web Services (AWS) Customer Master Key (CMK). */ accessKeyID?: string | Redacted.Redacted; /** Unique alphanumeric string that identifies the Amazon Web Services (AWS) Customer Master Key (CMK) you used to encrypt and decrypt the MongoDB master keys. */ customerMasterKeyID?: string; /** Flag that indicates whether someone enabled encryption at rest for the specified project through Amazon Web Services (AWS) Key Management Service (KMS). To disable encryption at rest using customer key management and remove the configuration details, pass only this parameter with a value of `false`. */ enabled?: boolean; /** Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts. */ region?: AWSKMSConfigurationInputRegion | (string & {}); /** Enable connection to your Amazon Web Services (AWS) Key Management Service (KMS) over private networking. */ requirePrivateNetworking?: boolean; /** Unique 24-hexadecimal digit string that identifies an Amazon Web Services (AWS) Identity and Access Management (IAM) role. This IAM role has the permissions required to manage your AWS customer master key. */ roleId?: string; /** Human-readable label of the Identity and Access Management (IAM) secret access key with permissions required to access your Amazon Web Services (AWS) customer master key. */ secretAccessKey?: string | Redacted.Redacted; } export const AWSKMSConfigurationInput = /*@__PURE__*/ S.suspend(() => S.Struct({ accessKeyID: S.optional(S.String.pipe(T.SensitiveValue({}))), customerMasterKeyID: S.optional(S.String), enabled: S.optional(S.Boolean), region: S.optional(AWSKMSConfigurationInputRegion), requirePrivateNetworking: S.optional(S.Boolean), roleId: S.optional(S.String), secretAccessKey: S.optional(S.String.pipe(T.SensitiveValue({}))), }), ).annotate({ identifier: "AWSKMSConfigurationInput", }) as any as S.Schema; /** Azure environment in which your account credentials reside. */ export type AzureKeyVaultInputAzureEnvironment = | "AZURE" | "AZURE_CHINA" | "AZURE_US_GOVERNMENT"; export const AzureKeyVaultInputAzureEnvironment = S.String; /** Details that define the configuration of Encryption at Rest using Azure Key Vault (AKV). */ export interface AzureKeyVaultInput { /** Azure environment in which your account credentials reside. */ azureEnvironment?: AzureKeyVaultInputAzureEnvironment | (string & {}); /** Unique 36-hexadecimal character string that identifies an Azure application associated with your Azure Active Directory tenant. */ clientID?: string; /** Flag that indicates whether someone enabled encryption at rest for the specified project. To disable encryption at rest using customer key management and remove the configuration details, pass only this parameter with a value of `false`. */ enabled?: boolean; /** Web address with a unique key that identifies for your Azure Key Vault. */ keyIdentifier?: string; /** Unique string that identifies the Azure Key Vault that contains your key. This field cannot be modified when you enable and set up private endpoint connections to your Azure Key Vault. */ keyVaultName?: string; /** Enable connection to your Azure Key Vault over private networking. */ requirePrivateNetworking?: boolean; /** Name of the Azure resource group that contains your Azure Key Vault. This field cannot be modified when you enable and set up private endpoint connections to your Azure Key Vault. */ resourceGroupName?: string; /** Unique 24-hexadecimal digit string that identifies the Azure Service Principal that MongoDB Cloud uses to access the Azure Key Vault. */ roleId?: string; /** Private data that you need secured and that belongs to the specified Azure Key Vault (AKV) tenant (`azureKeyVault.tenantID`). This data can include any type of sensitive data such as passwords, database connection strings, API keys, and the like. AKV stores this information as encrypted binary data. */ secret?: string | Redacted.Redacted; /** Unique 36-hexadecimal character string that identifies your Azure subscription. This field cannot be modified when you enable and set up private endpoint connections to your Azure Key Vault. */ subscriptionID?: string; /** Unique 36-hexadecimal character string that identifies the Azure Active Directory tenant within your Azure subscription. */ tenantID?: string; } export const AzureKeyVaultInput = /*@__PURE__*/ S.suspend(() => S.Struct({ azureEnvironment: S.optional(AzureKeyVaultInputAzureEnvironment), clientID: S.optional(S.String), enabled: S.optional(S.Boolean), keyIdentifier: S.optional(S.String), keyVaultName: S.optional(S.String), requirePrivateNetworking: S.optional(S.Boolean), resourceGroupName: S.optional(S.String), roleId: S.optional(S.String), secret: S.optional(S.String.pipe(T.SensitiveValue({}))), subscriptionID: S.optional(S.String), tenantID: S.optional(S.String), }), ).annotate({ identifier: "AzureKeyVaultInput", }) as any as S.Schema; /** Details that define the configuration of Encryption at Rest using Google Cloud Key Management Service (KMS). */ export interface GoogleCloudKMSInput { /** Flag that indicates whether someone enabled encryption at rest for the specified project. To disable encryption at rest using customer key management and remove the configuration details, pass only this parameter with a value of `false`. */ enabled?: boolean; /** Resource path that displays the key version resource ID for your Google Cloud KMS. */ keyVersionResourceID?: string; /** Unique 24-hexadecimal digit string that identifies the Google Cloud Provider Access Role that MongoDB Cloud uses to access the Google Cloud KMS. */ roleId?: string; /** JavaScript Object Notation (JSON) object that contains the Google Cloud Key Management Service (KMS). Format the JSON as a string and not as an object. */ serviceAccountKey?: string; } export const GoogleCloudKMSInput = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), keyVersionResourceID: S.optional(S.String), roleId: S.optional(S.String), serviceAccountKey: S.optional(S.String), }), ).annotate({ identifier: "GoogleCloudKMSInput", }) as any as S.Schema; export interface UpdateGroupEncryptionAtRestRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; awsKms?: AWSKMSConfigurationInput; azureKeyVault?: AzureKeyVaultInput; /** Flag that indicates whether Encryption at Rest for Dedicated Search Nodes is enabled in the specified project. */ enabledForSearchNodes?: boolean; googleCloudKms?: GoogleCloudKMSInput; } export const UpdateGroupEncryptionAtRestRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), awsKms: S.optional(AWSKMSConfigurationInput), azureKeyVault: S.optional(AzureKeyVaultInput), enabledForSearchNodes: S.optional(S.Boolean), googleCloudKms: S.optional(GoogleCloudKMSInput), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/encryptionAtRest", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupEncryptionAtRestRequest", }) as any as S.Schema; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the instance. */ export type UpdateGroupFlexClusterRequestTagsList = Array; export const UpdateGroupFlexClusterRequestTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; export interface UpdateGroupFlexClusterRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the flex cluster. */ name: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the instance. */ tags?: UpdateGroupFlexClusterRequestTagsList; /** Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster. */ terminationProtectionEnabled?: boolean; } export const UpdateGroupFlexClusterRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), name: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), tags: S.optional(UpdateGroupFlexClusterRequestTagsList), terminationProtectionEnabled: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/flexClusters/{name}", code: 200, accept: "application/vnd.atlas.2024-11-13+json", }), ), ).annotate({ identifier: "UpdateGroupFlexClusterRequest", }) as any as S.Schema; export type UpdateGroupIntegrationRequestIntegrationType = | "PAGER_DUTY" | "SLACK" | "DATADOG" | "NEW_RELIC" | "OPS_GENIE" | "VICTOR_OPS" | "WEBHOOK" | "HIP_CHAT" | "PROMETHEUS" | "MICROSOFT_TEAMS"; export const UpdateGroupIntegrationRequestIntegrationType = S.String; /** Integration type. */ export type UpdateGroupIntegrationRequestType = | "PAGER_DUTY" | "SLACK" | "DATADOG" | "NEW_RELIC" | "OPS_GENIE" | "VICTOR_OPS" | "WEBHOOK" | "HIP_CHAT" | "PROMETHEUS" | "MICROSOFT_TEAMS"; export const UpdateGroupIntegrationRequestType = S.String; export interface UpdateGroupIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Human-readable label that identifies the service which you want to integrate with MongoDB Cloud. */ integrationType: UpdateGroupIntegrationRequestIntegrationType | (string & {}); /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response returns the total number of items (`totalCount`) in the response. */ includeCount?: boolean; /** Number of items that the response returns per page. */ itemsPerPage?: number; /** Number of the page that displays the current set of the total objects that the response returns. */ pageNum?: number; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Integration id. */ id?: string | null; /** Integration type. */ type?: UpdateGroupIntegrationRequestType | (string & {}); } export const UpdateGroupIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), integrationType: UpdateGroupIntegrationRequestIntegrationType.pipe( T.Label(), ), envelope: S.optional(S.Boolean.pipe(T.Query())), includeCount: S.optional(S.Boolean.pipe(T.Query())), itemsPerPage: S.optional(S.Number.pipe(T.Query())), pageNum: S.optional(S.Number.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), id: S.optional(S.NullOr(S.String)), type: S.optional(UpdateGroupIntegrationRequestType), }).pipe( T.Http({ method: "PUT", uri: "/api/atlas/v2/groups/{groupId}/integrations/{integrationType}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupIntegrationRequest", }) as any as S.Schema; export type UpdateGroupLogIntegrationRequestLogTypesItem = | "MONGOD" | "MONGOS" | "MONGOD_AUDIT" | "MONGOS_AUDIT"; export const UpdateGroupLogIntegrationRequestLogTypesItem = S.String; /** Array of log types exported by this integration. */ export type UpdateGroupLogIntegrationRequestLogTypesList = Array< UpdateGroupLogIntegrationRequestLogTypesItem | (string & {}) >; export const UpdateGroupLogIntegrationRequestLogTypesList = /*@__PURE__*/ S.Array( UpdateGroupLogIntegrationRequestLogTypesItem, ) as any as S.Schema; /** Type of log integration. Identifies which service will receive the exported logs. This value cannot be modified after the integration is created. */ export type UpdateGroupLogIntegrationRequestType = | "S3_LOG_EXPORT" | "DATADOG_LOG_EXPORT" | "GCS_LOG_EXPORT" | "OTEL_LOG_EXPORT" | "SPLUNK_LOG_EXPORT" | "AZURE_LOG_EXPORT"; export const UpdateGroupLogIntegrationRequestType = S.String; export interface UpdateGroupLogIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the log integration configuration. */ id: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Array of log types exported by this integration. */ logTypes: UpdateGroupLogIntegrationRequestLogTypesList; /** Type of log integration. Identifies which service will receive the exported logs. This value cannot be modified after the integration is created. */ type: UpdateGroupLogIntegrationRequestType | (string & {}); } export const UpdateGroupLogIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), id: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), logTypes: UpdateGroupLogIntegrationRequestLogTypesList, type: UpdateGroupLogIntegrationRequestType, }).pipe( T.Http({ method: "PUT", uri: "/api/atlas/v2/groups/{groupId}/logIntegrations/{id}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateGroupLogIntegrationRequest", }) as any as S.Schema; export interface UpdateGroupMaintenanceWindowRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether MongoDB Cloud should defer all maintenance windows for one week after you enable them. This setting controls the same underlying auto-deferral feature as the `/maintenanceWindow/autoDefer` endpoint. Use either this field (to set a specific value) or that endpoint (to toggle the current value). For most use cases, this field in the PATCH request is preferred because it allows setting an explicit value rather than toggling. */ autoDeferOnceEnabled?: boolean; /** One-based integer that represents the day of the week, in the project's configured time zone (see `timeZoneId`), that the maintenance window starts. - `1`: Sunday. - `2`: Monday. - `3`: Tuesday. - `4`: Wednesday. - `5`: Thursday. - `6`: Friday. - `7`: Saturday. */ dayOfWeek: number; /** Zero-based integer that represents the hour of the day, in the project's configured time zone (see `timeZoneId`), that the maintenance window starts according to a 24-hour clock. Use `0` for midnight and `12` for noon. If you haven't changed your project's time zone, this defaults to UTC. */ hourOfDay?: number; protectedHours?: ProtectedHours; /** Flag that indicates whether MongoDB Cloud starts the maintenance window immediately upon receiving this request. To start the maintenance window immediately for your project, MongoDB Cloud must have maintenance scheduled and you must set a maintenance window. This flag resets to `false` after MongoDB Cloud completes maintenance. */ startASAP?: boolean; } export const UpdateGroupMaintenanceWindowRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), autoDeferOnceEnabled: S.optional(S.Boolean), dayOfWeek: S.Number, hourOfDay: S.optional(S.Number), protectedHours: S.optional(ProtectedHours), startASAP: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/maintenanceWindow", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupMaintenanceWindowRequest", }) as any as S.Schema; export interface UpdateGroupMaintenanceWindowResponse {} export const UpdateGroupMaintenanceWindowResponse = /*@__PURE__*/ S.suspend( () => S.Struct({}), ).annotate({ identifier: "UpdateGroupMaintenanceWindowResponse", }) as any as S.Schema; /** List of IP access list entries that define allowed source addresses for this MCP configuration. If provided, replaces the existing IP access list. */ export type UpdateGroupMcpConfigRequestIpAccessListList = Array; export const UpdateGroupMcpConfigRequestIpAccessListList = /*@__PURE__*/ S.Array( ServiceAccountIPAccessListEntryInput, ) as any as S.Schema; /** List of project roles associated with this MCP configuration. If provided, replaces the existing list of roles. */ export type UpdateGroupMcpConfigRequestRolesList = Array; export const UpdateGroupMcpConfigRequestRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UpdateGroupMcpConfigRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the MCP configuration to update. */ mcpConfigId: string; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** List of IP access list entries that define allowed source addresses for this MCP configuration. If provided, replaces the existing IP access list. */ ipAccessList?: UpdateGroupMcpConfigRequestIpAccessListList; /** Updated human-readable name for this MCP configuration. */ mcpConfigName?: string | null; /** List of project roles associated with this MCP configuration. If provided, replaces the existing list of roles. */ roles?: UpdateGroupMcpConfigRequestRolesList; } export const UpdateGroupMcpConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), pretty: S.optional(S.Boolean.pipe(T.Query())), ipAccessList: S.optional(UpdateGroupMcpConfigRequestIpAccessListList), mcpConfigName: S.optional(S.NullOr(S.String)), roles: S.optional(UpdateGroupMcpConfigRequestRolesList), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/mcpConfigs/{mcpConfigId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateGroupMcpConfigRequest", }) as any as S.Schema; /** The temporality to send to the metric integration. */ export type UpdateGroupMetricIntegrationRequestAggregationTemporality = | "DELTA" | "CUMULATIVE"; export const UpdateGroupMetricIntegrationRequestAggregationTemporality = S.String; /** Authentication method the integration uses when exporting metrics to the endpoint. `HEADER` authenticates with the static HTTP headers provided in the `headers` field, which must be set when this value is used. */ export type UpdateGroupMetricIntegrationRequestAuthType = "HEADER"; export const UpdateGroupMetricIntegrationRequestAuthType = S.String; /** HTTP headers for authentication and configuration. Total size limit 2KB. Required when `authType` is `HEADER`. */ export type UpdateGroupMetricIntegrationRequestHeadersList = Array
; export const UpdateGroupMetricIntegrationRequestHeadersList = /*@__PURE__*/ S.Array( Header, ) as any as S.Schema; /** Type of metric integration. Identifies which protocol will be used for the integration. This value cannot be modified after the integration is created. */ export type UpdateGroupMetricIntegrationRequestIntegrationType = "OTEL"; export const UpdateGroupMetricIntegrationRequestIntegrationType = S.String; export type UpdateGroupMetricIntegrationRequestMetricSelectionItem = | "ATLAS_STREAM_PROCESSING" | "MONGODB_METRICS" | "HARDWARE_METRICS"; export const UpdateGroupMetricIntegrationRequestMetricSelectionItem = S.String; /** Array of metric categories to export. Determines which types of metrics are sent to the integration. */ export type UpdateGroupMetricIntegrationRequestMetricSelectionList = Array< UpdateGroupMetricIntegrationRequestMetricSelectionItem | (string & {}) >; export const UpdateGroupMetricIntegrationRequestMetricSelectionList = /*@__PURE__*/ S.Array( UpdateGroupMetricIntegrationRequestMetricSelectionItem, ) as any as S.Schema; /** The provider type for the metric integration. Identifies the third-party service provider. */ export type UpdateGroupMetricIntegrationRequestProviderType = | "CUSTOM" | "DYNATRACE" | "NEW_RELIC"; export const UpdateGroupMetricIntegrationRequestProviderType = S.String; export interface UpdateGroupMetricIntegrationRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique identifier of the metric integration configuration. */ metricIntegrationId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The temporality to send to the metric integration. */ aggregationTemporality: | UpdateGroupMetricIntegrationRequestAggregationTemporality | (string & {}); /** Authentication method the integration uses when exporting metrics to the endpoint. `HEADER` authenticates with the static HTTP headers provided in the `headers` field, which must be set when this value is used. */ authType: UpdateGroupMetricIntegrationRequestAuthType | (string & {}); /** OpenTelemetry collector endpoint URL. Must use HTTPS. */ endpoint: string; /** HTTP headers for authentication and configuration. Total size limit 2KB. Required when `authType` is `HEADER`. */ headers?: UpdateGroupMetricIntegrationRequestHeadersList; /** Type of metric integration. Identifies which protocol will be used for the integration. This value cannot be modified after the integration is created. */ integrationType: | UpdateGroupMetricIntegrationRequestIntegrationType | (string & {}); /** Array of metric categories to export. Determines which types of metrics are sent to the integration. */ metricSelection: UpdateGroupMetricIntegrationRequestMetricSelectionList; /** The provider type for the metric integration. Identifies the third-party service provider. */ providerType: UpdateGroupMetricIntegrationRequestProviderType | (string & {}); } export const UpdateGroupMetricIntegrationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), metricIntegrationId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), aggregationTemporality: UpdateGroupMetricIntegrationRequestAggregationTemporality, authType: UpdateGroupMetricIntegrationRequestAuthType, endpoint: S.String, headers: S.optional(UpdateGroupMetricIntegrationRequestHeadersList), integrationType: UpdateGroupMetricIntegrationRequestIntegrationType, metricSelection: UpdateGroupMetricIntegrationRequestMetricSelectionList, providerType: UpdateGroupMetricIntegrationRequestProviderType, }).pipe( T.Http({ method: "PUT", uri: "/api/atlas/v2/groups/{groupId}/metricIntegrations/{metricIntegrationId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateGroupMetricIntegrationRequest", }) as any as S.Schema; /** Cloud service provider that serves the requested network peering connection. */ export type UpdateGroupPeerRequestProviderName = "AWS" | "AZURE" | "GCP"; export const UpdateGroupPeerRequestProviderName = S.String; export interface UpdateGroupPeerRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the network peering connection that you want to update. */ peerId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Unique 24-hexadecimal digit string that identifies the MongoDB Cloud network container that contains the specified network peering connection. */ containerId: string; /** Cloud service provider that serves the requested network peering connection. */ providerName?: UpdateGroupPeerRequestProviderName | (string & {}); } export const UpdateGroupPeerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), peerId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), containerId: S.String, providerName: S.optional(UpdateGroupPeerRequestProviderName), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/peers/{peerId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupPeerRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud service provider for the private endpoint service which you want to update. */ export type UpdateGroupPrivateEndpointEndpointServiceRequestCloudProvider = "AWS"; export const UpdateGroupPrivateEndpointEndpointServiceRequestCloudProvider = S.String; /** List of regions that the endpoint service supports. Native cross region support is implemented for AWS only. */ export type UpdateGroupPrivateEndpointEndpointServiceRequestSupportedRemoteRegionsList = Array; export const UpdateGroupPrivateEndpointEndpointServiceRequestSupportedRemoteRegionsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UpdateGroupPrivateEndpointEndpointServiceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the private endpoint service that you want to update. */ endpointServiceId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the cloud service provider for the private endpoint service which you want to update. */ cloudProvider: | UpdateGroupPrivateEndpointEndpointServiceRequestCloudProvider | (string & {}); /** List of regions that the endpoint service supports. Native cross region support is implemented for AWS only. */ supportedRemoteRegions?: UpdateGroupPrivateEndpointEndpointServiceRequestSupportedRemoteRegionsList | null; } export const UpdateGroupPrivateEndpointEndpointServiceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), endpointServiceId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), cloudProvider: UpdateGroupPrivateEndpointEndpointServiceRequestCloudProvider, supportedRemoteRegions: S.optional( S.NullOr( UpdateGroupPrivateEndpointEndpointServiceRequestSupportedRemoteRegionsList, ), ), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/privateEndpoint/endpointService/{endpointServiceId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupPrivateEndpointEndpointServiceRequest", }) as any as S.Schema; /** A list of Project roles associated with the Service Account. */ export type UpdateGroupServiceAccountRequestRolesList = Array; export const UpdateGroupServiceAccountRequestRolesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UpdateGroupServiceAccountRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human readable description for the Service Account. */ description?: string | null; /** Human-readable name for the Service Account. The name is modifiable and does not have to be unique. */ name?: string | null; /** A list of Project roles associated with the Service Account. */ roles?: UpdateGroupServiceAccountRequestRolesList; } export const UpdateGroupServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), description: S.optional(S.NullOr(S.String)), name: S.optional(S.NullOr(S.String)), roles: S.optional(UpdateGroupServiceAccountRequestRolesList), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "UpdateGroupServiceAccountRequest", }) as any as S.Schema; export interface UpdateGroupSettingsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether the MongoDB Assistant on the Atlas Home Page is enabled for the specified project. */ isAtlasHomePageAiAssistantEnabled?: boolean; /** Flag that indicates whether the AI Cluster Assistant is enabled for the specified project. */ isClusterAiAssistantEnabled?: boolean; /** Flag that indicates whether to collect database-specific metrics for the specified project. */ isCollectDatabaseSpecificsStatisticsEnabled?: boolean; /** Flag that indicates whether to enable the Data Explorer for the specified project. */ isDataExplorerEnabled?: boolean; /** Flag that indicates whether to enable the use of generative AI features which make requests to 3rd party services in Data Explorer for the specified project. */ isDataExplorerGenAIFeaturesEnabled?: boolean; /** Flag that indicates whether to enable the passing of sample field values with the use of generative AI features in the Data Explorer for the specified project. */ isDataExplorerGenAISampleDocumentPassingEnabled?: boolean; /** Flag that indicates whether data validation is enabled for all clusters in the specified project. */ isDataValidationEnabled?: boolean; /** Flag that indicates whether to enable extended storage sizes for the specified project. */ isExtendedStorageSizesEnabled?: boolean; /** Flag that indicates whether to enable Native Reranking with Voyage AI models in the Aggregation Pipeline for the specified project. */ isNativeRerankingEnabled?: boolean; /** Flag that indicates whether to enable the Performance Advisor and Profiler for the specified project. */ isPerformanceAdvisorEnabled?: boolean; /** Flag that indicates whether to enable the Real Time Performance Panel for the specified project. */ isRealtimePerformancePanelEnabled?: boolean; /** Flag that indicates whether to enable the Schema Advisor for the specified project. */ isSchemaAdvisorEnabled?: boolean; } export const UpdateGroupSettingsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), isAtlasHomePageAiAssistantEnabled: S.optional(S.Boolean), isClusterAiAssistantEnabled: S.optional(S.Boolean), isCollectDatabaseSpecificsStatisticsEnabled: S.optional(S.Boolean), isDataExplorerEnabled: S.optional(S.Boolean), isDataExplorerGenAIFeaturesEnabled: S.optional(S.Boolean), isDataExplorerGenAISampleDocumentPassingEnabled: S.optional(S.Boolean), isDataValidationEnabled: S.optional(S.Boolean), isExtendedStorageSizesEnabled: S.optional(S.Boolean), isNativeRerankingEnabled: S.optional(S.Boolean), isPerformanceAdvisorEnabled: S.optional(S.Boolean), isRealtimePerformancePanelEnabled: S.optional(S.Boolean), isSchemaAdvisorEnabled: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/settings", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupSettingsRequest", }) as any as S.Schema; /** Connection type. */ export type UpdateGroupStreamConnectionRequestType = | "Kafka" | "Cluster" | "Sample" | "Https" | "AzureBlobStorage" | "AWSLambda" | "AWSKinesisDataStreams" | "SchemaRegistry" | "GCPPubSub"; export const UpdateGroupStreamConnectionRequestType = S.String; export interface UpdateGroupStreamConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream connection. */ connectionName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the stream connection. For the Sample type, this is the name of the sample source. */ name?: string; /** Connection region. */ region?: string; /** Connection type. */ type?: UpdateGroupStreamConnectionRequestType | (string & {}); } export const UpdateGroupStreamConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), connectionName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.optional(S.String), region: S.optional(S.String), type: S.optional(UpdateGroupStreamConnectionRequestType), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "UpdateGroupStreamConnectionRequest", }) as any as S.Schema; /** Connection type. */ export type UpdateGroupStreamConnectionFailoverConnectionRequestType = | "Kafka" | "Cluster"; export const UpdateGroupStreamConnectionFailoverConnectionRequestType = S.String; export interface UpdateGroupStreamConnectionFailoverConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream connection. */ connectionName: string; /** Label that identifies the stream failover connection id. */ failoverConnectionId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the stream connection. */ name?: string; /** Connection region. */ region?: string; /** Connection type. */ type?: | UpdateGroupStreamConnectionFailoverConnectionRequestType | (string & {}); } export const UpdateGroupStreamConnectionFailoverConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), connectionName: S.String.pipe(T.Label()), failoverConnectionId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.optional(S.String), region: S.optional(S.String), type: S.optional( UpdateGroupStreamConnectionFailoverConnectionRequestType, ), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}/failoverConnections/{failoverConnectionId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateGroupStreamConnectionFailoverConnectionRequest", }) as any as S.Schema; export interface UpdateGroupStreamPrivateLinkConnectionRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique ID that identifies the Private Link connection. */ connectionId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** The domain hostname for the AWS Confluent Serverless Private Link connection. Allowed only when no domain is currently set, or when the connection is in `IDLE` state. */ dnsDomain?: string; } export const UpdateGroupStreamPrivateLinkConnectionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), connectionId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), dnsDomain: S.optional(S.String), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/streams/privateLinkConnections/{connectionId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateGroupStreamPrivateLinkConnectionRequest", }) as any as S.Schema; /** Additional options for modifying a stream processor. */ export interface StreamsModifyStreamProcessorOptionsInput { autoscaling?: StreamsAutoscalingInput | null; dlq?: StreamsDLQInput; /** When true, the modified stream processor resumes from its last checkpoint. */ resumeFromCheckpoint?: boolean; } export const StreamsModifyStreamProcessorOptionsInput = /*@__PURE__*/ S.suspend( () => S.Struct({ autoscaling: S.optional(S.NullOr(StreamsAutoscalingInput)), dlq: S.optional(StreamsDLQInput), resumeFromCheckpoint: S.optional(S.Boolean), }), ).annotate({ identifier: "StreamsModifyStreamProcessorOptionsInput", }) as any as S.Schema; /** New pipeline for the stream processor. */ export type UpdateGroupStreamProcessorRequestPipelineList = Array; export const UpdateGroupStreamProcessorRequestPipelineList = /*@__PURE__*/ S.Array( Document, ) as any as S.Schema; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ export type UpdateGroupStreamProcessorRequestTier = | "SP50" | "SP30" | "SP10" | "SP5" | "SP2"; export const UpdateGroupStreamProcessorRequestTier = S.String; export interface UpdateGroupStreamProcessorRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace. */ tenantName: string; /** Label that identifies the stream processor. */ processorName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that enables or disables failover for the stream processor. */ failoverEnabled?: boolean; /** New name for the stream processor. */ name?: string; options?: StreamsModifyStreamProcessorOptionsInput; /** New pipeline for the stream processor. */ pipeline?: UpdateGroupStreamProcessorRequestPipelineList; /** Selected tier for the Stream Workspace. Configures Memory or VCPU allowances. */ tier?: UpdateGroupStreamProcessorRequestTier | (string & {}); } export const UpdateGroupStreamProcessorRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), processorName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), failoverEnabled: S.optional(S.Boolean), name: S.optional(S.String), options: S.optional(StreamsModifyStreamProcessorOptionsInput), pipeline: S.optional(UpdateGroupStreamProcessorRequestPipelineList), tier: S.optional(UpdateGroupStreamProcessorRequestTier), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "UpdateGroupStreamProcessorRequest", }) as any as S.Schema; /** Human-readable label that identifies the cloud provider. */ export type UpdateGroupStreamWorkspaceRequestCloudProvider = | "AWS" | "GCP" | "AZURE" | "TENANT" | "SERVERLESS"; export const UpdateGroupStreamWorkspaceRequestCloudProvider = S.String; /** Failover regions for the stream workspace. */ export type UpdateGroupStreamWorkspaceRequestFailoverRegionsList = Array; export const UpdateGroupStreamWorkspaceRequestFailoverRegionsList = /*@__PURE__*/ S.Array( StreamsDataProcessRegionInput, ) as any as S.Schema; /** Strategy for the processor: GRACEFUL - attempt to stop the processor, error if processor cannot be stopped. if stop was successful, start the processor in the new region with the latest checkpoint. FORCED - attempt to stop the processor, proceed to starting the processor in the new region with checkpoints disabled regardless of whether or not the stop succeeds. */ export type StreamsProcessorStatusInputMode = "GRACEFUL" | "FORCED"; export const StreamsProcessorStatusInputMode = S.String; /** Represents the desired action to apply to stream processors within a workspace, such as starting all processors, stopping all processors, or performing a bulk regional failover. */ export type StreamsProcessorStatusInputStatus = | "STARTED" | "STOPPED" | "FAILED_OVER"; export const StreamsProcessorStatusInputStatus = S.String; /** Desired status change to apply to a tenant's stream processors. */ export interface StreamsProcessorStatusInput { /** Strategy for the processor: GRACEFUL - attempt to stop the processor, error if processor cannot be stopped. if stop was successful, start the processor in the new region with the latest checkpoint. FORCED - attempt to stop the processor, proceed to starting the processor in the new region with checkpoints disabled regardless of whether or not the stop succeeds. */ mode?: StreamsProcessorStatusInputMode | (string & {}) | null; /** Name of the region against which to apply the status change. Required when `status` is `FAILED_OVER`; optional otherwise. */ region?: string | null; /** Represents the desired action to apply to stream processors within a workspace, such as starting all processors, stopping all processors, or performing a bulk regional failover. */ status: StreamsProcessorStatusInputStatus | (string & {}); } export const StreamsProcessorStatusInput = /*@__PURE__*/ S.suspend(() => S.Struct({ mode: S.optional(S.NullOr(StreamsProcessorStatusInputMode)), region: S.optional(S.NullOr(S.String)), status: StreamsProcessorStatusInputStatus, }), ).annotate({ identifier: "StreamsProcessorStatusInput", }) as any as S.Schema; export interface UpdateGroupStreamWorkspaceRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Label that identifies the stream workspace to update. */ tenantName: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the cloud provider. */ cloudProvider?: | UpdateGroupStreamWorkspaceRequestCloudProvider | (string & {}); /** Failover regions for the stream workspace. */ failoverRegions?: UpdateGroupStreamWorkspaceRequestFailoverRegionsList; processorStatus?: StreamsProcessorStatusInput; region?: BaseStreamsRegion; streamConfig?: StreamConfigInput | null; } export const UpdateGroupStreamWorkspaceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), tenantName: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), cloudProvider: S.optional(UpdateGroupStreamWorkspaceRequestCloudProvider), failoverRegions: S.optional( UpdateGroupStreamWorkspaceRequestFailoverRegionsList, ), processorStatus: S.optional(StreamsProcessorStatusInput), region: S.optional(BaseStreamsRegion), streamConfig: S.optional(S.NullOr(StreamConfigInput)), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/streams/{tenantName}", code: 200, accept: "application/vnd.atlas.2023-02-01+json", }), ), ).annotate({ identifier: "UpdateGroupStreamWorkspaceRequest", }) as any as S.Schema; /** One or more project-level roles to assign to the team. */ export type UpdateGroupTeamRequestRoleNamesList = Array; export const UpdateGroupTeamRequestRoleNamesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UpdateGroupTeamRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Unique 24-hexadecimal digit string that identifies the team for which you want to update roles. */ teamId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** One or more project-level roles to assign to the team. */ roleNames: UpdateGroupTeamRequestRoleNamesList; } export const UpdateGroupTeamRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), teamId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), roleNames: UpdateGroupTeamRequestRoleNamesList, }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/teams/{teamId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupTeamRequest", }) as any as S.Schema; /** Settings to configure TLS Certificates for database users. */ export interface DBUserTLSX509SettingsInput { /** Concatenated list of customer certificate authority (CA) certificates needed to authenticate database users. MongoDB Cloud expects this as a PEM-formatted certificate. */ cas?: string; } export const DBUserTLSX509SettingsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ cas: S.optional(S.String), }), ).annotate({ identifier: "DBUserTLSX509SettingsInput", }) as any as S.Schema; /** User-to-Distinguished Name (DN) map that MongoDB Cloud uses to transform a Lightweight Directory Access Protocol (LDAP) username into an LDAP DN. */ export type LDAPSecuritySettingsInputUserToDNMappingList = Array; export const LDAPSecuritySettingsInputUserToDNMappingList = /*@__PURE__*/ S.Array( UserToDNMapping, ) as any as S.Schema; /** Lightweight Directory Access Protocol (LDAP) over Transport Layer Security (TLS) configuration details that apply to the specified project. */ export interface LDAPSecuritySettingsInput { /** Flag that indicates whether users can authenticate using an Lightweight Directory Access Protocol (LDAP) host. */ authenticationEnabled?: boolean; /** Flag that indicates whether users can authorize access to MongoDB Cloud resources using an Lightweight Directory Access Protocol (LDAP) host. */ authorizationEnabled?: boolean; /** Lightweight Directory Access Protocol (LDAP) query template that MongoDB Cloud runs to obtain the LDAP groups associated with the authenticated user. MongoDB Cloud uses this parameter only for user authorization. Use the `{USER}` placeholder in the Uniform Resource Locator (URL) to substitute the authenticated username. The query relates to the host specified with the hostname. Format this query according to [RFC 4515](https://datatracker.ietf.org/doc/html/rfc4515) and [RFC 4516](https://datatracker.ietf.org/doc/html/rfc4516). */ authzQueryTemplate?: string; /** Password that MongoDB Cloud uses to authenticate the `bindUsername`. */ bindPassword?: string | Redacted.Redacted; /** Full Distinguished Name (DN) of the Lightweight Directory Access Protocol (LDAP) user that MongoDB Cloud uses to connect to the LDAP host. LDAP distinguished names must be formatted according to RFC 2253. */ bindUsername?: string; /** Certificate Authority (CA) certificate that MongoDB Cloud uses to verify the identity of the Lightweight Directory Access Protocol (LDAP) host. MongoDB Cloud allows self-signed certificates. To delete an assigned value, pass an empty string: `"caCertificate": ""`. */ caCertificate?: string; /** Human-readable label that identifies the hostname or Internet Protocol (IP) address of the Lightweight Directory Access Protocol (LDAP) host. This host must have access to the internet or have a Virtual Private Cloud (VPC) peering connection to your cluster. */ hostname?: string; /** Port to which the Lightweight Directory Access Protocol (LDAP) host listens for client connections. */ port?: number; /** User-to-Distinguished Name (DN) map that MongoDB Cloud uses to transform a Lightweight Directory Access Protocol (LDAP) username into an LDAP DN. */ userToDNMapping?: LDAPSecuritySettingsInputUserToDNMappingList; } export const LDAPSecuritySettingsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ authenticationEnabled: S.optional(S.Boolean), authorizationEnabled: S.optional(S.Boolean), authzQueryTemplate: S.optional(S.String), bindPassword: S.optional(S.String.pipe(T.SensitiveValue({}))), bindUsername: S.optional(S.String), caCertificate: S.optional(S.String), hostname: S.optional(S.String), port: S.optional(S.Number), userToDNMapping: S.optional(LDAPSecuritySettingsInputUserToDNMappingList), }), ).annotate({ identifier: "LDAPSecuritySettingsInput", }) as any as S.Schema; export interface UpdateGroupUserSecurityRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; customerX509?: DBUserTLSX509SettingsInput; ldap?: LDAPSecuritySettingsInput; } export const UpdateGroupUserSecurityRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), customerX509: S.optional(DBUserTLSX509SettingsInput), ldap: S.optional(LDAPSecuritySettingsInput), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/groups/{groupId}/userSecurity", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateGroupUserSecurityRequest", }) as any as S.Schema; export interface UpdateGroupUserSecurityResponse {} export const UpdateGroupUserSecurityResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}), ).annotate({ identifier: "UpdateGroupUserSecurityResponse", }) as any as S.Schema; export interface UpdateOrgRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human-readable label that identifies the organization. */ name: string; /** Disables automatic alert creation. When set to true, no organization level alerts will be created automatically. */ skipDefaultAlertsSettings?: boolean; } export const UpdateOrgRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), name: S.String, skipDefaultAlertsSettings: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/orgs/{orgId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateOrgRequest", }) as any as S.Schema; export type UpdateOrgApiKeyRequestRolesItem = | "ORG_OWNER" | "ORG_MEMBER" | "ORG_GROUP_CREATOR" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_READ_ONLY"; export const UpdateOrgApiKeyRequestRolesItem = S.String; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this organization. */ export type UpdateOrgApiKeyRequestRolesList = Array< UpdateOrgApiKeyRequestRolesItem | (string & {}) | null >; export const UpdateOrgApiKeyRequestRolesList = /*@__PURE__*/ S.Array( S.NullOr(UpdateOrgApiKeyRequestRolesItem), ) as any as S.Schema; export interface UpdateOrgApiKeyRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies this organization API key you want to update. */ apiUserId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Purpose or explanation provided when someone creates this organization API key. */ desc?: string; /** List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this organization. */ roles?: UpdateOrgApiKeyRequestRolesList; } export const UpdateOrgApiKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), apiUserId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), desc: S.optional(S.String), roles: S.optional(UpdateOrgApiKeyRequestRolesList), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateOrgApiKeyRequest", }) as any as S.Schema; /** Policy that controls how MCP (Model Context Protocol) delegated access is permitted within this organization. Possible values are `DISALLOWED`, `READ_ONLY`, and `READ_WRITE`. Defaults to `DISALLOWED`. */ export type UpdateOrgDelegationSettingsRequestDelegatedMcpAccess = | "DISALLOWED" | "READ_ONLY" | "READ_WRITE"; export const UpdateOrgDelegationSettingsRequestDelegatedMcpAccess = S.String; /** Policy that controls whether partner delegated access is permitted within this organization. Possible values are `DISALLOWED` and `READ_WRITE`. Defaults to `DISALLOWED`. */ export type UpdateOrgDelegationSettingsRequestDelegatedPartnerAccess = | "DISALLOWED" | "READ_WRITE"; export const UpdateOrgDelegationSettingsRequestDelegatedPartnerAccess = S.String; export interface UpdateOrgDelegationSettingsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Policy that controls how MCP (Model Context Protocol) delegated access is permitted within this organization. Possible values are `DISALLOWED`, `READ_ONLY`, and `READ_WRITE`. Defaults to `DISALLOWED`. */ delegatedMcpAccess?: | UpdateOrgDelegationSettingsRequestDelegatedMcpAccess | (string & {}) | null; /** Policy that controls whether partner delegated access is permitted within this organization. Possible values are `DISALLOWED` and `READ_WRITE`. Defaults to `DISALLOWED`. */ delegatedPartnerAccess?: | UpdateOrgDelegationSettingsRequestDelegatedPartnerAccess | (string & {}) | null; /** Maximum number of seconds a refresh token may be idle before it expires. Omit to leave unchanged; set to null to reset to the system default. Must be between 1 and 31536000 (1 year) when provided. */ idleRefreshTokenLifetime?: number | null; /** Maximum lifetime of a refresh token in seconds, regardless of activity. Omit to leave unchanged; set to null to reset to the system default. Must be between 1 and 31536000 (1 year) when provided. */ maximumRefreshTokenLifetime?: number | null; } export const UpdateOrgDelegationSettingsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), delegatedMcpAccess: S.optional( S.NullOr(UpdateOrgDelegationSettingsRequestDelegatedMcpAccess), ), delegatedPartnerAccess: S.optional( S.NullOr(UpdateOrgDelegationSettingsRequestDelegatedPartnerAccess), ), idleRefreshTokenLifetime: S.optional(S.NullOr(S.Number)), maximumRefreshTokenLifetime: S.optional(S.NullOr(S.Number)), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/orgs/{orgId}/delegationSettings", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateOrgDelegationSettingsRequest", }) as any as S.Schema; /** List of IP access list entries that define allowed source addresses for this MCP configuration. If provided, replaces the existing IP access list. */ export type UpdateOrgMcpConfigRequestIpAccessListList = Array; export const UpdateOrgMcpConfigRequestIpAccessListList = /*@__PURE__*/ S.Array( ServiceAccountIPAccessListEntryInput, ) as any as S.Schema; /** Organization roles available for Service Accounts. */ export type UpdateOrgMcpConfigRequestRolesItem = | "ORG_MEMBER" | "ORG_READ_ONLY" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_GROUP_CREATOR" | "ORG_OWNER"; export const UpdateOrgMcpConfigRequestRolesItem = S.String; /** List of organization roles associated with this MCP configuration. If provided, replaces the existing list of roles. */ export type UpdateOrgMcpConfigRequestRolesList = Array< UpdateOrgMcpConfigRequestRolesItem | (string & {}) | null >; export const UpdateOrgMcpConfigRequestRolesList = /*@__PURE__*/ S.Array( S.NullOr(UpdateOrgMcpConfigRequestRolesItem), ) as any as S.Schema; export interface UpdateOrgMcpConfigRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique identifier of the MCP configuration to update. */ mcpConfigId: string; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** List of IP access list entries that define allowed source addresses for this MCP configuration. If provided, replaces the existing IP access list. */ ipAccessList?: UpdateOrgMcpConfigRequestIpAccessListList; /** Updated human-readable name for this MCP configuration. */ mcpConfigName?: string | null; /** List of organization roles associated with this MCP configuration. If provided, replaces the existing list of roles. */ roles?: UpdateOrgMcpConfigRequestRolesList; } export const UpdateOrgMcpConfigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), mcpConfigId: S.String.pipe(T.Label()), pretty: S.optional(S.Boolean.pipe(T.Query())), ipAccessList: S.optional(UpdateOrgMcpConfigRequestIpAccessListList), mcpConfigName: S.optional(S.NullOr(S.String)), roles: S.optional(UpdateOrgMcpConfigRequestRolesList), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/orgs/{orgId}/mcpConfigs/{mcpConfigId}", code: 200, accept: "application/vnd.atlas.2025-03-12+json", }), ), ).annotate({ identifier: "UpdateOrgMcpConfigRequest", }) as any as S.Schema; /** List of policies that make up the atlas resource policy. */ export type UpdateOrgResourcePolicyRequestPoliciesList = Array; export const UpdateOrgResourcePolicyRequestPoliciesList = /*@__PURE__*/ S.Array( ApiAtlasPolicyCreateView, ) as any as S.Schema; export interface UpdateOrgResourcePolicyRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies an atlas resource policy. */ resourcePolicyId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Description of the atlas resource policy. */ description?: string | null; /** Human-readable label that describes the atlas resource policy. */ name?: string | null; /** List of policies that make up the atlas resource policy. */ policies?: UpdateOrgResourcePolicyRequestPoliciesList; } export const UpdateOrgResourcePolicyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), resourcePolicyId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), description: S.optional(S.NullOr(S.String)), name: S.optional(S.NullOr(S.String)), policies: S.optional(UpdateOrgResourcePolicyRequestPoliciesList), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/orgs/{orgId}/resourcePolicies/{resourcePolicyId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "UpdateOrgResourcePolicyRequest", }) as any as S.Schema; /** Organization roles available for Service Accounts. */ export type UpdateOrgServiceAccountRequestRolesItem = | "ORG_MEMBER" | "ORG_READ_ONLY" | "ORG_BILLING_ADMIN" | "ORG_BILLING_READ_ONLY" | "ORG_STREAM_PROCESSING_ADMIN" | "ORG_GROUP_CREATOR" | "ORG_OWNER"; export const UpdateOrgServiceAccountRequestRolesItem = S.String; /** A list of organization-level roles for the Service Account. */ export type UpdateOrgServiceAccountRequestRolesList = Array< UpdateOrgServiceAccountRequestRolesItem | (string & {}) >; export const UpdateOrgServiceAccountRequestRolesList = /*@__PURE__*/ S.Array( UpdateOrgServiceAccountRequestRolesItem, ) as any as S.Schema; export interface UpdateOrgServiceAccountRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** The Client ID of the Service Account. */ clientId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Human readable description for the Service Account. */ description?: string | null; /** Human-readable name for the Service Account. The name is modifiable and does not have to be unique. */ name?: string | null; /** A list of organization-level roles for the Service Account. */ roles?: UpdateOrgServiceAccountRequestRolesList; } export const UpdateOrgServiceAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), clientId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), description: S.optional(S.NullOr(S.String)), name: S.optional(S.NullOr(S.String)), roles: S.optional(UpdateOrgServiceAccountRequestRolesList), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "UpdateOrgServiceAccountRequest", }) as any as S.Schema; export interface UpdateOrgSettingsRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. */ apiAccessListRequired?: boolean; customSessionTimeouts?: CustomSessionTimeouts; /** Flag that indicates whether this organization has access to generative AI features. This setting only applies to Atlas Commercial and is enabled by default. Once this setting is turned on, Project Owners may be able to enable or disable individual AI features at the project level. */ genAIFeaturesEnabled?: boolean; /** Number that represents the maximum period before expiry in hours for new Atlas Admin API Service Account secrets within the specified organization. */ maxServiceAccountSecretValidityInHours?: number; /** Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. */ multiFactorAuthRequired?: boolean; /** String that specifies a distribution list email address for the specified organization to receive proactive notifications about its infrastructure. The operations contact is used for notifications only and is not authorized to make decisions or approvals. Passing an explicit null clears the existing operations contact (if any). An empty string is invalid and is rejected with a validation error. */ operationsContact?: string | null; /** Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure and cluster logs for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. */ restrictEmployeeAccess?: boolean; /** String that specifies a single email address for the specified organization to receive security-related notifications. Specifying a security contact does not grant them authorization or access to Atlas for security decisions or approvals. An empty string is valid and clears the existing security contact (if any). */ securityContact?: string; /** Flag that indicates whether a group's Atlas Stream Processing workspaces in this organization can create connections to other group's clusters in the same organization. */ streamsCrossGroupEnabled?: boolean; } export const UpdateOrgSettingsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), apiAccessListRequired: S.optional(S.Boolean), customSessionTimeouts: S.optional(CustomSessionTimeouts), genAIFeaturesEnabled: S.optional(S.Boolean), maxServiceAccountSecretValidityInHours: S.optional(S.Number), multiFactorAuthRequired: S.optional(S.Boolean), operationsContact: S.optional(S.NullOr(S.String)), restrictEmployeeAccess: S.optional(S.Boolean), securityContact: S.optional(S.String), streamsCrossGroupEnabled: S.optional(S.Boolean), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/orgs/{orgId}/settings", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpdateOrgSettingsRequest", }) as any as S.Schema; /** List of unique 24-hexadecimal digit strings that identifies the teams to assign the MongoDB Cloud user. */ export type UpdateOrgUserRequestTeamIdsList = Array; export const UpdateOrgUserRequestTeamIdsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UpdateOrgUserRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Unique 24-hexadecimal digit string that identifies the pending or active user in the organization. If you need to lookup a user's `userId` or verify a user's status in the organization, use the Return All MongoDB Cloud Users in One Organization resource and filter by `username`. */ userId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; roles?: OrgUserRolesRequest; /** List of unique 24-hexadecimal digit strings that identifies the teams to assign the MongoDB Cloud user. */ teamIds?: UpdateOrgUserRequestTeamIdsList; } export const UpdateOrgUserRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), userId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), roles: S.optional(OrgUserRolesRequest), teamIds: S.optional(UpdateOrgUserRequestTeamIdsList), }).pipe( T.Http({ method: "PATCH", uri: "/api/atlas/v2/orgs/{orgId}/users/{userId}", code: 200, accept: "application/vnd.atlas.2025-02-19+json", }), ), ).annotate({ identifier: "UpdateOrgUserRequest", }) as any as S.Schema; /** Collection of settings that configures how a cluster might scale its cluster tier and whether the cluster can scale down. Cluster tier auto-scaling is unavailable for clusters using Low CPU or NVME storage classes. */ export interface ClusterComputeAutoScaling { /** Flag that indicates whether instance size reactive auto-scaling is enabled. - Set to `true` to enable instance size reactive auto-scaling. If enabled, you must specify a value for `providerSettings.autoScaling.compute.maxInstanceSize`. - Set to `false` to disable instance size reactive auto-scaling. */ enabled?: boolean; /** Flag that indicates whether the cluster tier can scale down via reactive auto-scaling. This is required if `autoScaling.compute.enabled` is `true`. If you enable this option, specify a value for `providerSettings.autoScaling.compute.minInstanceSize`. */ scaleDownEnabled?: boolean; } export const ClusterComputeAutoScaling = /*@__PURE__*/ S.suspend(() => S.Struct({ enabled: S.optional(S.Boolean), scaleDownEnabled: S.optional(S.Boolean), }), ).annotate({ identifier: "ClusterComputeAutoScaling", }) as any as S.Schema; /** Range of instance sizes to which your cluster can scale. */ export interface ClusterAutoScalingSettings { compute?: ClusterComputeAutoScaling; /** Flag that indicates whether someone enabled disk auto-scaling for this cluster. */ diskGBEnabled?: boolean; } export const ClusterAutoScalingSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ compute: S.optional(ClusterComputeAutoScaling), diskGBEnabled: S.optional(S.Boolean), }), ).annotate({ identifier: "ClusterAutoScalingSettings", }) as any as S.Schema; /** Configuration of nodes that comprise the cluster. */ export type UpgradeGroupClusterTenantUpgradeRequestClusterType = | "REPLICASET" | "SHARDED" | "GEOSHARDED"; export const UpgradeGroupClusterTenantUpgradeRequestClusterType = S.String; /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ export type UpgradeGroupClusterTenantUpgradeRequestConfigServerManagementMode = | "ATLAS_MANAGED" | "FIXED_TO_DEDICATED"; export const UpgradeGroupClusterTenantUpgradeRequestConfigServerManagementMode = S.String; /** Disk warming mode selection. */ export type UpgradeGroupClusterTenantUpgradeRequestDiskWarmingMode = | "FULLY_WARMED" | "VISIBLE_EARLIER" | "ENHANCED_FULLY_WARMED"; export const UpgradeGroupClusterTenantUpgradeRequestDiskWarmingMode = S.String; /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ export type UpgradeGroupClusterTenantUpgradeRequestEncryptionAtRestProvider = | "NONE" | "AWS" | "AZURE" | "GCP"; export const UpgradeGroupClusterTenantUpgradeRequestEncryptionAtRestProvider = S.String; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ export type UpgradeGroupClusterTenantUpgradeRequestLabelsList = Array; export const UpgradeGroupClusterTenantUpgradeRequestLabelsList = /*@__PURE__*/ S.Array( ComponentLabel, ) as any as S.Schema; /** Maximum instance size to which your cluster can automatically scale. */ export type AzureComputeAutoScalingRulesMaxInstanceSize = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const AzureComputeAutoScalingRulesMaxInstanceSize = S.String; /** Minimum instance size to which your cluster can automatically scale. */ export type AzureComputeAutoScalingRulesMinInstanceSize = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const AzureComputeAutoScalingRulesMinInstanceSize = S.String; /** Collection of settings that configures how a cluster might scale its cluster tier and whether the cluster can scale down. Cluster tier auto-scaling is unavailable for clusters using Low CPU or NVME storage classes. */ export interface AzureComputeAutoScalingRules { /** Maximum instance size to which your cluster can automatically scale. */ maxInstanceSize?: AzureComputeAutoScalingRulesMaxInstanceSize | (string & {}); /** Minimum instance size to which your cluster can automatically scale. */ minInstanceSize?: AzureComputeAutoScalingRulesMinInstanceSize | (string & {}); } export const AzureComputeAutoScalingRules = /*@__PURE__*/ S.suspend(() => S.Struct({ maxInstanceSize: S.optional(AzureComputeAutoScalingRulesMaxInstanceSize), minInstanceSize: S.optional(AzureComputeAutoScalingRulesMinInstanceSize), }), ).annotate({ identifier: "AzureComputeAutoScalingRules", }) as any as S.Schema; /** Range of instance sizes to which your cluster can scale. */ export interface CloudProviderAzureAutoScaling { compute?: AzureComputeAutoScalingRules; } export const CloudProviderAzureAutoScaling = /*@__PURE__*/ S.suspend(() => S.Struct({ compute: S.optional(AzureComputeAutoScalingRules), }), ).annotate({ identifier: "CloudProviderAzureAutoScaling", }) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type AWSCloudProviderSettingsInputDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const AWSCloudProviderSettingsInputDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type AWSCloudProviderSettingsInputInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const AWSCloudProviderSettingsInputInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type AWSCloudProviderSettingsInputRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AWSCloudProviderSettingsInputRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type AWSCloudProviderSettingsInputBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const AWSCloudProviderSettingsInputBackingProviderName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type AWSCloudProviderSettingsInputVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const AWSCloudProviderSettingsInputVolumeType = S.String; export interface AWSCloudProviderSettingsInput { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: AWSCloudProviderSettingsInputDiskTypeName | (string & {}); /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: | AWSCloudProviderSettingsInputInstanceSizeName | (string & {}); /** Microsoft Azure Regions. */ regionName?: AWSCloudProviderSettingsInputRegionName | (string & {}); /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: | AWSCloudProviderSettingsInputBackingProviderName | (string & {}); providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: AWSCloudProviderSettingsInputVolumeType | (string & {}); } export const AWSCloudProviderSettingsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(AWSCloudProviderSettingsInputDiskTypeName), instanceSizeName: S.optional(AWSCloudProviderSettingsInputInstanceSizeName), regionName: S.optional(AWSCloudProviderSettingsInputRegionName), backingProviderName: S.optional( AWSCloudProviderSettingsInputBackingProviderName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(AWSCloudProviderSettingsInputVolumeType), }), ).annotate({ identifier: "AWSCloudProviderSettingsInput", }) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type AzureCloudProviderSettingsInputDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const AzureCloudProviderSettingsInputDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type AzureCloudProviderSettingsInputInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const AzureCloudProviderSettingsInputInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type AzureCloudProviderSettingsInputRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AzureCloudProviderSettingsInputRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type AzureCloudProviderSettingsInputBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const AzureCloudProviderSettingsInputBackingProviderName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type AzureCloudProviderSettingsInputVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const AzureCloudProviderSettingsInputVolumeType = S.String; export interface AzureCloudProviderSettingsInput { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: AzureCloudProviderSettingsInputDiskTypeName | (string & {}); /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: | AzureCloudProviderSettingsInputInstanceSizeName | (string & {}); /** Microsoft Azure Regions. */ regionName?: AzureCloudProviderSettingsInputRegionName | (string & {}); /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: | AzureCloudProviderSettingsInputBackingProviderName | (string & {}); providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: AzureCloudProviderSettingsInputVolumeType | (string & {}); } export const AzureCloudProviderSettingsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(AzureCloudProviderSettingsInputDiskTypeName), instanceSizeName: S.optional( AzureCloudProviderSettingsInputInstanceSizeName, ), regionName: S.optional(AzureCloudProviderSettingsInputRegionName), backingProviderName: S.optional( AzureCloudProviderSettingsInputBackingProviderName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(AzureCloudProviderSettingsInputVolumeType), }), ).annotate({ identifier: "AzureCloudProviderSettingsInput", }) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type CloudGCPProviderSettingsInputDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const CloudGCPProviderSettingsInputDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type CloudGCPProviderSettingsInputInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const CloudGCPProviderSettingsInputInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type CloudGCPProviderSettingsInputRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const CloudGCPProviderSettingsInputRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type CloudGCPProviderSettingsInputBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const CloudGCPProviderSettingsInputBackingProviderName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type CloudGCPProviderSettingsInputVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const CloudGCPProviderSettingsInputVolumeType = S.String; export interface CloudGCPProviderSettingsInput { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: CloudGCPProviderSettingsInputDiskTypeName | (string & {}); /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: | CloudGCPProviderSettingsInputInstanceSizeName | (string & {}); /** Microsoft Azure Regions. */ regionName?: CloudGCPProviderSettingsInputRegionName | (string & {}); /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: | CloudGCPProviderSettingsInputBackingProviderName | (string & {}); providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: CloudGCPProviderSettingsInputVolumeType | (string & {}); } export const CloudGCPProviderSettingsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(CloudGCPProviderSettingsInputDiskTypeName), instanceSizeName: S.optional(CloudGCPProviderSettingsInputInstanceSizeName), regionName: S.optional(CloudGCPProviderSettingsInputRegionName), backingProviderName: S.optional( CloudGCPProviderSettingsInputBackingProviderName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(CloudGCPProviderSettingsInputVolumeType), }), ).annotate({ identifier: "CloudGCPProviderSettingsInput", }) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type ClusterFreeProviderSettingsInputDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const ClusterFreeProviderSettingsInputDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type ClusterFreeProviderSettingsInputInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const ClusterFreeProviderSettingsInputInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type ClusterFreeProviderSettingsInputRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const ClusterFreeProviderSettingsInputRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type ClusterFreeProviderSettingsInputBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const ClusterFreeProviderSettingsInputBackingProviderName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type ClusterFreeProviderSettingsInputVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const ClusterFreeProviderSettingsInputVolumeType = S.String; export interface ClusterFreeProviderSettingsInput { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: ClusterFreeProviderSettingsInputDiskTypeName | (string & {}); /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: | ClusterFreeProviderSettingsInputInstanceSizeName | (string & {}); /** Microsoft Azure Regions. */ regionName?: ClusterFreeProviderSettingsInputRegionName | (string & {}); /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: | ClusterFreeProviderSettingsInputBackingProviderName | (string & {}); providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: ClusterFreeProviderSettingsInputVolumeType | (string & {}); } export const ClusterFreeProviderSettingsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(ClusterFreeProviderSettingsInputDiskTypeName), instanceSizeName: S.optional( ClusterFreeProviderSettingsInputInstanceSizeName, ), regionName: S.optional(ClusterFreeProviderSettingsInputRegionName), backingProviderName: S.optional( ClusterFreeProviderSettingsInputBackingProviderName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(ClusterFreeProviderSettingsInputVolumeType), }), ).annotate({ identifier: "ClusterFreeProviderSettingsInput", }) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type ClusterFlexProviderSettingsInputDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const ClusterFlexProviderSettingsInputDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type ClusterFlexProviderSettingsInputInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const ClusterFlexProviderSettingsInputInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type ClusterFlexProviderSettingsInputRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const ClusterFlexProviderSettingsInputRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type ClusterFlexProviderSettingsInputBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const ClusterFlexProviderSettingsInputBackingProviderName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type ClusterFlexProviderSettingsInputVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const ClusterFlexProviderSettingsInputVolumeType = S.String; export interface ClusterFlexProviderSettingsInput { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: ClusterFlexProviderSettingsInputDiskTypeName | (string & {}); /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: | ClusterFlexProviderSettingsInputInstanceSizeName | (string & {}); /** Microsoft Azure Regions. */ regionName?: ClusterFlexProviderSettingsInputRegionName | (string & {}); /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: | ClusterFlexProviderSettingsInputBackingProviderName | (string & {}); providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: ClusterFlexProviderSettingsInputVolumeType | (string & {}); } export const ClusterFlexProviderSettingsInput = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(ClusterFlexProviderSettingsInputDiskTypeName), instanceSizeName: S.optional( ClusterFlexProviderSettingsInputInstanceSizeName, ), regionName: S.optional(ClusterFlexProviderSettingsInputRegionName), backingProviderName: S.optional( ClusterFlexProviderSettingsInputBackingProviderName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(ClusterFlexProviderSettingsInputVolumeType), }), ).annotate({ identifier: "ClusterFlexProviderSettingsInput", }) as any as S.Schema; /** Group of cloud provider settings that configure the provisioned MongoDB hosts. */ export type ClusterProviderSettingsInput = | AWSCloudProviderSettingsInput | AzureCloudProviderSettingsInput | CloudGCPProviderSettingsInput | ClusterFreeProviderSettingsInput | ClusterFlexProviderSettingsInput; export const ClusterProviderSettingsInput = S.Unknown as any as S.Schema; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ export type UpgradeGroupClusterTenantUpgradeRequestReplicaSetScalingStrategy = | "SEQUENTIAL" | "WORKLOAD_TYPE" | "NODE_TYPE"; export const UpgradeGroupClusterTenantUpgradeRequestReplicaSetScalingStrategy = S.String; /** Number of members that belong to the replica set. Each member retains a copy of your databases, providing high availability and data redundancy. Use `replicationSpecs` instead. */ export type UpgradeGroupClusterTenantUpgradeRequestReplicationFactor = | 3 | 5 | 7; export const UpgradeGroupClusterTenantUpgradeRequestReplicationFactor = S.Number; /** Number of electable nodes to deploy in the specified region. Electable nodes can become the primary and can facilitate local reads. Use `replicationSpecs[n].{region}.electableNodes` instead. */ export type RegionSpecElectableNodes = 0 | 3 | 5 | 7; export const RegionSpecElectableNodes = S.Number; /** Physical location where MongoDB Cloud provisions cluster nodes. */ export interface RegionSpec { /** Number of analytics nodes in the region. Analytics nodes handle analytic data such as reporting queries from MongoDB Connector for Business Intelligence on MongoDB Cloud. Analytics nodes are read-only, and can never become the primary. Use `replicationSpecs[n].{region}.analyticsNodes` instead. */ analyticsNodes?: number; /** Number of electable nodes to deploy in the specified region. Electable nodes can become the primary and can facilitate local reads. Use `replicationSpecs[n].{region}.electableNodes` instead. */ electableNodes?: RegionSpecElectableNodes | (number & {}); /** Number that indicates the election priority of the region. To identify the Preferred Region of the cluster, set this parameter to `7`. The primary node runs in the **Preferred Region**. To identify a read-only region, set this parameter to `0`. */ priority?: number; /** Number of read-only nodes in the region. Read-only nodes can never become the primary member, but can facilitate local reads. Use `replicationSpecs[n].{region}.readOnlyNodes` instead. */ readOnlyNodes?: number; } export const RegionSpec = /*@__PURE__*/ S.suspend(() => S.Struct({ analyticsNodes: S.optional(S.Number), electableNodes: S.optional(RegionSpecElectableNodes), priority: S.optional(S.Number), readOnlyNodes: S.optional(S.Number), }), ).annotate({ identifier: "RegionSpec" }) as any as S.Schema; /** Physical location where MongoDB Cloud provisions cluster nodes. */ export type UpgradeGroupClusterTenantUpgradeRequestReplicationSpecMap = { [key: string]: RegionSpec | undefined; }; export const UpgradeGroupClusterTenantUpgradeRequestReplicationSpecMap = /*@__PURE__*/ S.Record( S.String, RegionSpec, ) as any as S.Schema; /** Physical location where MongoDB Cloud provisions cluster nodes. */ export type LegacyRegionsConfig = { [key: string]: RegionSpec | undefined }; export const LegacyRegionsConfig = /*@__PURE__*/ S.Record( S.String, RegionSpec, ) as any as S.Schema; export interface LegacyReplicationSpec { /** Unique 24-hexadecimal digit string that identifies the replication object for a zone in a Global Cluster. - If you include existing zones in the request, you must specify this parameter. - If you add a new zone to an existing Global Cluster, you may specify this parameter. The request deletes any existing zones in a Global Cluster that you exclude from the request. */ id?: string; /** Positive integer that specifies the number of shards to deploy in each specified zone If you set this value to `1` and `clusterType` is `SHARDED`, MongoDB Cloud deploys a single-shard sharded cluster. Don't create a sharded cluster with a single shard for production environments. Single-shard sharded clusters don't provide the same benefits as multi-shard configurations. If you are upgrading a replica set to a sharded cluster, you cannot increase the number of shards in the same update request. You should wait until after the cluster has completed upgrading to sharded and you have reconnected all application clients to the MongoDB router before adding additional shards. Otherwise, your data might become inconsistent once MongoDB Cloud begins distributing data across shards. */ numShards?: number; regionsConfig?: LegacyRegionsConfig; /** Human-readable label that identifies the zone in a Global Cluster. Provide this value only if `clusterType` is `GEOSHARDED`. */ zoneName?: string; } export const LegacyReplicationSpec = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.String), numShards: S.optional(S.Number), regionsConfig: S.optional(LegacyRegionsConfig), zoneName: S.optional(S.String), }), ).annotate({ identifier: "LegacyReplicationSpec", }) as any as S.Schema; /** List of settings that configure your cluster regions. - For Global Clusters, each object in the array represents one zone where MongoDB Cloud deploys your clusters nodes. - For non-Global sharded clusters and replica sets, the single object represents where MongoDB Cloud deploys your clusters nodes. */ export type UpgradeGroupClusterTenantUpgradeRequestReplicationSpecsList = Array; export const UpgradeGroupClusterTenantUpgradeRequestReplicationSpecsList = /*@__PURE__*/ S.Array( LegacyReplicationSpec, ) as any as S.Schema; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ export type UpgradeGroupClusterTenantUpgradeRequestRootCertType = "ISRGROOTX1"; export const UpgradeGroupClusterTenantUpgradeRequestRootCertType = S.String; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ export type UpgradeGroupClusterTenantUpgradeRequestTagsList = Array; export const UpgradeGroupClusterTenantUpgradeRequestTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ export type UpgradeGroupClusterTenantUpgradeRequestVersionReleaseSystem = | "LTS" | "CONTINUOUS"; export const UpgradeGroupClusterTenantUpgradeRequestVersionReleaseSystem = S.String; export interface UpgradeGroupClusterTenantUpgradeRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** If reconfiguration is necessary to regain a primary due to a regional outage, submit this field alongside your topology reconfiguration to request a new regional outage resistant topology. Forced reconfigurations during an outage of the majority of electable nodes carry a risk of data loss if replicated writes (even majority committed writes) have not been replicated to the new primary node. MongoDB Atlas docs contain more information. To proceed with an operation which carries that risk, set `acceptDataRisksAndForceReplicaSetReconfig` to the current date. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ acceptDataRisksAndForceReplicaSetReconfig?: string; advancedConfiguration?: ApiAtlasClusterAdvancedConfigurationView; autoScaling?: ClusterAutoScalingSettings; /** Flag that indicates whether the cluster can perform backups. If set to `true`, the cluster can perform backups. You must set this value to `true` for NVMe clusters. Backup uses Cloud Backups for dedicated clusters and Shared Cluster Backups for tenant clusters. If set to `false`, the cluster doesn't use MongoDB Cloud backups. */ backupEnabled?: boolean; biConnector?: BiConnector; /** Configuration of nodes that comprise the cluster. */ clusterType?: | UpgradeGroupClusterTenantUpgradeRequestClusterType | (string & {}); /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ configServerManagementMode?: | UpgradeGroupClusterTenantUpgradeRequestConfigServerManagementMode | (string & {}); /** Number of hours after cluster creation that this cluster will be automatically deleted. This field is used to derive `deleteAfterDate` relative to `createDate`. When set to null or zero on cluster creation, the cluster will not be automatically deleted. When set to a positive value on cluster creation, the cluster will be automatically deleted after the specified number of hours. When updating this field on an existing (non-deleted) cluster, and this is set to null, then existing values are preserved for this & `deleteAfterDate`. When updating this field on an existing (non-deleted) cluster, and this is set to zero, then `deleteAfterDate` is reset to null (disable auto deletion) regardless of previous configurations. When updating this field on an existing (non-deleted) cluster, and this is set to a positive value, then `createDate` + `deleteAfterCreationHours` must be later than now else the field update is ignored and existing values are preserved for this & `deleteAfterDate`. */ deleteAfterCreationHours?: number; /** Storage capacity of instance data volumes expressed in gigabytes. Increase this number to add capacity. This value is not configurable on M0/M2/M5 clusters. MongoDB Cloud requires this parameter if you set `replicationSpecs`. If you specify a disk size below the minimum (10 GB), this parameter defaults to the minimum disk size value. Storage charge calculations depend on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require more storage space, consider upgrading your cluster to a higher tier. */ diskSizeGB?: number; /** Disk warming mode selection. */ diskWarmingMode?: | UpgradeGroupClusterTenantUpgradeRequestDiskWarmingMode | (string & {}); /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ encryptionAtRestProvider?: | UpgradeGroupClusterTenantUpgradeRequestEncryptionAtRestProvider | (string & {}); /** Set this field to configure the Sharding Management Mode when creating a new Global Cluster. When set to false, the management mode is set to Atlas-Managed Sharding. This mode fully manages the sharding of your Global Cluster and is built to provide a seamless deployment experience. When set to true, the management mode is set to Self-Managed Sharding. This mode leaves the management of shards in your hands and is built to provide an advanced and flexible deployment experience. This setting cannot be changed once the cluster is deployed. */ globalClusterSelfManagedSharding?: boolean; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ labels?: UpgradeGroupClusterTenantUpgradeRequestLabelsList; /** MongoDB major version of the cluster. On creation: Choose from the available versions of MongoDB, or leave unspecified for the current recommended default in the MongoDB Cloud platform. The recommended version is a recent Long Term Support version. The default is not guaranteed to be the most recently released version throughout the entire release cycle. For versions available in a specific project, see the linked documentation or use the API endpoint for [project LTS versions endpoint](#tag/Projects/operation/getProjectLTSVersions). On update: Increase version only by 1 major version at a time. If the cluster is pinned to a MongoDB feature compatibility version exactly one major version below the current MongoDB version, the MongoDB version can be downgraded to the previous major version. */ mongoDBMajorVersion?: string; /** Version of MongoDB that the cluster runs. */ mongoDBVersion?: string; /** Human-readable label that identifies the cluster. */ name: string; /** Number of shards up to 50 to deploy for a sharded cluster. The resource returns `1` to indicate a replica set and values of `2` and higher to indicate a sharded cluster. The returned value equals the number of shards in the cluster. */ numShards?: number; /** Flag that indicates whether the cluster is paused. */ paused?: boolean; /** Flag that indicates whether the cluster uses continuous cloud backups. */ pitEnabled?: boolean; /** Flag that indicates whether the M10 or higher cluster can perform Cloud Backups. If set to `true`, the cluster can perform backups. If this and `backupEnabled` are set to `false`, the cluster doesn't use MongoDB Cloud backups. */ providerBackupEnabled?: boolean; providerSettings?: ClusterProviderSettingsInput; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ replicaSetScalingStrategy?: | UpgradeGroupClusterTenantUpgradeRequestReplicaSetScalingStrategy | (string & {}); /** Number of members that belong to the replica set. Each member retains a copy of your databases, providing high availability and data redundancy. Use `replicationSpecs` instead. */ replicationFactor?: | UpgradeGroupClusterTenantUpgradeRequestReplicationFactor | (number & {}); /** Physical location where MongoDB Cloud provisions cluster nodes. */ replicationSpec?: UpgradeGroupClusterTenantUpgradeRequestReplicationSpecMap; /** List of settings that configure your cluster regions. - For Global Clusters, each object in the array represents one zone where MongoDB Cloud deploys your clusters nodes. - For non-Global sharded clusters and replica sets, the single object represents where MongoDB Cloud deploys your clusters nodes. */ replicationSpecs?: UpgradeGroupClusterTenantUpgradeRequestReplicationSpecsList; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ rootCertType?: | UpgradeGroupClusterTenantUpgradeRequestRootCertType | (string & {}); /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ tags?: UpgradeGroupClusterTenantUpgradeRequestTagsList; /** Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster. */ terminationProtectionEnabled?: boolean; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ versionReleaseSystem?: | UpgradeGroupClusterTenantUpgradeRequestVersionReleaseSystem | (string & {}); } export const UpgradeGroupClusterTenantUpgradeRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), acceptDataRisksAndForceReplicaSetReconfig: S.optional(S.String), advancedConfiguration: S.optional( ApiAtlasClusterAdvancedConfigurationView, ), autoScaling: S.optional(ClusterAutoScalingSettings), backupEnabled: S.optional(S.Boolean), biConnector: S.optional(BiConnector), clusterType: S.optional( UpgradeGroupClusterTenantUpgradeRequestClusterType, ), configServerManagementMode: S.optional( UpgradeGroupClusterTenantUpgradeRequestConfigServerManagementMode, ), deleteAfterCreationHours: S.optional(S.Number), diskSizeGB: S.optional(S.Number), diskWarmingMode: S.optional( UpgradeGroupClusterTenantUpgradeRequestDiskWarmingMode, ), encryptionAtRestProvider: S.optional( UpgradeGroupClusterTenantUpgradeRequestEncryptionAtRestProvider, ), globalClusterSelfManagedSharding: S.optional(S.Boolean), labels: S.optional(UpgradeGroupClusterTenantUpgradeRequestLabelsList), mongoDBMajorVersion: S.optional(S.String), mongoDBVersion: S.optional(S.String), name: S.String, numShards: S.optional(S.Number), paused: S.optional(S.Boolean), pitEnabled: S.optional(S.Boolean), providerBackupEnabled: S.optional(S.Boolean), providerSettings: S.optional(ClusterProviderSettingsInput), replicaSetScalingStrategy: S.optional( UpgradeGroupClusterTenantUpgradeRequestReplicaSetScalingStrategy, ), replicationFactor: S.optional( UpgradeGroupClusterTenantUpgradeRequestReplicationFactor, ), replicationSpec: S.optional( UpgradeGroupClusterTenantUpgradeRequestReplicationSpecMap, ), replicationSpecs: S.optional( UpgradeGroupClusterTenantUpgradeRequestReplicationSpecsList, ), rootCertType: S.optional( UpgradeGroupClusterTenantUpgradeRequestRootCertType, ), tags: S.optional(UpgradeGroupClusterTenantUpgradeRequestTagsList), terminationProtectionEnabled: S.optional(S.Boolean), versionReleaseSystem: S.optional( UpgradeGroupClusterTenantUpgradeRequestVersionReleaseSystem, ), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/clusters/tenantUpgrade", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "UpgradeGroupClusterTenantUpgradeRequest", }) as any as S.Schema; /** Configuration of nodes that comprise the cluster. */ export type LegacyAtlasClusterClusterType = | "REPLICASET" | "SHARDED" | "GEOSHARDED"; export const LegacyAtlasClusterClusterType = S.String; /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ export type LegacyAtlasClusterConfigServerManagementMode = | "ATLAS_MANAGED" | "FIXED_TO_DEDICATED"; export const LegacyAtlasClusterConfigServerManagementMode = S.String; /** Describes a sharded cluster's config server type. */ export type LegacyAtlasClusterConfigServerType = "DEDICATED" | "EMBEDDED"; export const LegacyAtlasClusterConfigServerType = S.String; /** Disk warming mode selection. */ export type LegacyAtlasClusterDiskWarmingMode = | "FULLY_WARMED" | "VISIBLE_EARLIER" | "ENHANCED_FULLY_WARMED"; export const LegacyAtlasClusterDiskWarmingMode = S.String; /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ export type LegacyAtlasClusterEncryptionAtRestProvider = | "NONE" | "AWS" | "AZURE" | "GCP"; export const LegacyAtlasClusterEncryptionAtRestProvider = S.String; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ export type LegacyAtlasClusterLabelsList = Array; export const LegacyAtlasClusterLabelsList = /*@__PURE__*/ S.Array( ComponentLabel, ) as any as S.Schema; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ export type LegacyAtlasClusterLinksList = Array; export const LegacyAtlasClusterLinksList = /*@__PURE__*/ S.Array( Link, ) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type AWSCloudProviderSettingsDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const AWSCloudProviderSettingsDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type AWSCloudProviderSettingsInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const AWSCloudProviderSettingsInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type AWSCloudProviderSettingsRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AWSCloudProviderSettingsRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type AWSCloudProviderSettingsBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const AWSCloudProviderSettingsBackingProviderName = S.String; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ export type AWSCloudProviderSettingsEffectiveInstanceSizeName = | "FLEX" | "M2" | "M5" | "M0"; export const AWSCloudProviderSettingsEffectiveInstanceSizeName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type AWSCloudProviderSettingsVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const AWSCloudProviderSettingsVolumeType = S.String; export interface AWSCloudProviderSettings { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: AWSCloudProviderSettingsDiskTypeName; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: AWSCloudProviderSettingsInstanceSizeName; /** Microsoft Azure Regions. */ regionName?: AWSCloudProviderSettingsRegionName; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: AWSCloudProviderSettingsBackingProviderName; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ effectiveInstanceSizeName?: AWSCloudProviderSettingsEffectiveInstanceSizeName; providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: AWSCloudProviderSettingsVolumeType; } export const AWSCloudProviderSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(AWSCloudProviderSettingsDiskTypeName), instanceSizeName: S.optional(AWSCloudProviderSettingsInstanceSizeName), regionName: S.optional(AWSCloudProviderSettingsRegionName), backingProviderName: S.optional( AWSCloudProviderSettingsBackingProviderName, ), effectiveInstanceSizeName: S.optional( AWSCloudProviderSettingsEffectiveInstanceSizeName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(AWSCloudProviderSettingsVolumeType), }), ).annotate({ identifier: "AWSCloudProviderSettings", }) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type AzureCloudProviderSettingsDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const AzureCloudProviderSettingsDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type AzureCloudProviderSettingsInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const AzureCloudProviderSettingsInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type AzureCloudProviderSettingsRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const AzureCloudProviderSettingsRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type AzureCloudProviderSettingsBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const AzureCloudProviderSettingsBackingProviderName = S.String; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ export type AzureCloudProviderSettingsEffectiveInstanceSizeName = | "FLEX" | "M2" | "M5" | "M0"; export const AzureCloudProviderSettingsEffectiveInstanceSizeName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type AzureCloudProviderSettingsVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const AzureCloudProviderSettingsVolumeType = S.String; export interface AzureCloudProviderSettings { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: AzureCloudProviderSettingsDiskTypeName; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: AzureCloudProviderSettingsInstanceSizeName; /** Microsoft Azure Regions. */ regionName?: AzureCloudProviderSettingsRegionName; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: AzureCloudProviderSettingsBackingProviderName; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ effectiveInstanceSizeName?: AzureCloudProviderSettingsEffectiveInstanceSizeName; providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: AzureCloudProviderSettingsVolumeType; } export const AzureCloudProviderSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(AzureCloudProviderSettingsDiskTypeName), instanceSizeName: S.optional(AzureCloudProviderSettingsInstanceSizeName), regionName: S.optional(AzureCloudProviderSettingsRegionName), backingProviderName: S.optional( AzureCloudProviderSettingsBackingProviderName, ), effectiveInstanceSizeName: S.optional( AzureCloudProviderSettingsEffectiveInstanceSizeName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(AzureCloudProviderSettingsVolumeType), }), ).annotate({ identifier: "AzureCloudProviderSettings", }) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type CloudGCPProviderSettingsDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const CloudGCPProviderSettingsDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type CloudGCPProviderSettingsInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const CloudGCPProviderSettingsInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type CloudGCPProviderSettingsRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const CloudGCPProviderSettingsRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type CloudGCPProviderSettingsBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const CloudGCPProviderSettingsBackingProviderName = S.String; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ export type CloudGCPProviderSettingsEffectiveInstanceSizeName = | "FLEX" | "M2" | "M5" | "M0"; export const CloudGCPProviderSettingsEffectiveInstanceSizeName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type CloudGCPProviderSettingsVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const CloudGCPProviderSettingsVolumeType = S.String; export interface CloudGCPProviderSettings { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: CloudGCPProviderSettingsDiskTypeName; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: CloudGCPProviderSettingsInstanceSizeName; /** Microsoft Azure Regions. */ regionName?: CloudGCPProviderSettingsRegionName; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: CloudGCPProviderSettingsBackingProviderName; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ effectiveInstanceSizeName?: CloudGCPProviderSettingsEffectiveInstanceSizeName; providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: CloudGCPProviderSettingsVolumeType; } export const CloudGCPProviderSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(CloudGCPProviderSettingsDiskTypeName), instanceSizeName: S.optional(CloudGCPProviderSettingsInstanceSizeName), regionName: S.optional(CloudGCPProviderSettingsRegionName), backingProviderName: S.optional( CloudGCPProviderSettingsBackingProviderName, ), effectiveInstanceSizeName: S.optional( CloudGCPProviderSettingsEffectiveInstanceSizeName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(CloudGCPProviderSettingsVolumeType), }), ).annotate({ identifier: "CloudGCPProviderSettings", }) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type ClusterFreeProviderSettingsDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const ClusterFreeProviderSettingsDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type ClusterFreeProviderSettingsInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const ClusterFreeProviderSettingsInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type ClusterFreeProviderSettingsRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const ClusterFreeProviderSettingsRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type ClusterFreeProviderSettingsBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const ClusterFreeProviderSettingsBackingProviderName = S.String; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ export type ClusterFreeProviderSettingsEffectiveInstanceSizeName = | "FLEX" | "M2" | "M5" | "M0"; export const ClusterFreeProviderSettingsEffectiveInstanceSizeName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type ClusterFreeProviderSettingsVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const ClusterFreeProviderSettingsVolumeType = S.String; export interface ClusterFreeProviderSettings { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: ClusterFreeProviderSettingsDiskTypeName; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: ClusterFreeProviderSettingsInstanceSizeName; /** Microsoft Azure Regions. */ regionName?: ClusterFreeProviderSettingsRegionName; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: ClusterFreeProviderSettingsBackingProviderName; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ effectiveInstanceSizeName?: ClusterFreeProviderSettingsEffectiveInstanceSizeName; providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: ClusterFreeProviderSettingsVolumeType; } export const ClusterFreeProviderSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(ClusterFreeProviderSettingsDiskTypeName), instanceSizeName: S.optional(ClusterFreeProviderSettingsInstanceSizeName), regionName: S.optional(ClusterFreeProviderSettingsRegionName), backingProviderName: S.optional( ClusterFreeProviderSettingsBackingProviderName, ), effectiveInstanceSizeName: S.optional( ClusterFreeProviderSettingsEffectiveInstanceSizeName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(ClusterFreeProviderSettingsVolumeType), }), ).annotate({ identifier: "ClusterFreeProviderSettings", }) as any as S.Schema; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ export type ClusterFlexProviderSettingsDiskTypeName = | "P2" | "P3" | "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50"; export const ClusterFlexProviderSettingsDiskTypeName = S.String; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ export type ClusterFlexProviderSettingsInstanceSizeName = | "M10" | "M20" | "M30" | "M40" | "M50" | "M60" | "M80" | "M90" | "M200" | "R40" | "R50" | "R60" | "R80" | "R200" | "R300" | "R400" | "M60_NVME" | "M80_NVME" | "M200_NVME" | "M300_NVME" | "M400_NVME" | "M600_NVME"; export const ClusterFlexProviderSettingsInstanceSizeName = S.String; /** Microsoft Azure Regions. */ export type ClusterFlexProviderSettingsRegionName = | "US_CENTRAL" | "US_EAST" | "US_EAST_2" | "US_NORTH_CENTRAL" | "US_WEST" | "US_SOUTH_CENTRAL" | "EUROPE_NORTH" | "EUROPE_WEST" | "US_WEST_CENTRAL" | "US_WEST_2" | "US_WEST_3" | "CANADA_EAST" | "CANADA_CENTRAL" | "BRAZIL_SOUTH" | "BRAZIL_SOUTHEAST" | "AUSTRALIA_CENTRAL" | "AUSTRALIA_CENTRAL_2" | "AUSTRALIA_EAST" | "AUSTRALIA_SOUTH_EAST" | "GERMANY_WEST_CENTRAL" | "GERMANY_NORTH" | "SWEDEN_CENTRAL" | "SWEDEN_SOUTH" | "SWITZERLAND_NORTH" | "SWITZERLAND_WEST" | "UK_SOUTH" | "UK_WEST" | "NORWAY_EAST" | "NORWAY_WEST" | "INDIA_CENTRAL" | "INDIA_SOUTH" | "INDIA_WEST" | "CHINA_EAST" | "CHINA_NORTH" | "ASIA_EAST" | "JAPAN_EAST" | "JAPAN_WEST" | "ASIA_SOUTH_EAST" | "KOREA_CENTRAL" | "KOREA_SOUTH" | "FRANCE_CENTRAL" | "FRANCE_SOUTH" | "SOUTH_AFRICA_NORTH" | "SOUTH_AFRICA_WEST" | "UAE_CENTRAL" | "UAE_NORTH" | "QATAR_CENTRAL" | "POLAND_CENTRAL" | "ISRAEL_CENTRAL" | "ITALY_NORTH" | "SPAIN_CENTRAL" | "MEXICO_CENTRAL" | "NEW_ZEALAND_NORTH" | "US_GOV_VIRGINIA" | "US_GOV_ARIZONA" | "US_GOV_TEXAS"; export const ClusterFlexProviderSettingsRegionName = S.String; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ export type ClusterFlexProviderSettingsBackingProviderName = | "AWS" | "GCP" | "AZURE"; export const ClusterFlexProviderSettingsBackingProviderName = S.String; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ export type ClusterFlexProviderSettingsEffectiveInstanceSizeName = | "FLEX" | "M2" | "M5" | "M0"; export const ClusterFlexProviderSettingsEffectiveInstanceSizeName = S.String; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ export type ClusterFlexProviderSettingsVolumeType = | "STANDARD" | "PROVISIONED" | "HIGH_PERFORMANCE"; export const ClusterFlexProviderSettingsVolumeType = S.String; export interface ClusterFlexProviderSettings { autoScaling?: CloudProviderAzureAutoScaling; /** Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies. */ diskTypeName?: ClusterFlexProviderSettingsDiskTypeName; /** Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. */ instanceSizeName?: ClusterFlexProviderSettingsInstanceSizeName; /** Microsoft Azure Regions. */ regionName?: ClusterFlexProviderSettingsRegionName; /** Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. */ backingProviderName?: ClusterFlexProviderSettingsBackingProviderName; /** The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes. */ effectiveInstanceSizeName?: ClusterFlexProviderSettingsEffectiveInstanceSizeName; providerName: string; /** Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform. */ diskIOPS?: number; /** Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled. */ encryptEBSVolume?: boolean; /** Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED` or `HIGH_PERFORMANCE`). NVMe clusters require either `PROVISIONED` or `HIGH_PERFORMANCE`. */ volumeType?: ClusterFlexProviderSettingsVolumeType; } export const ClusterFlexProviderSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ autoScaling: S.optional(CloudProviderAzureAutoScaling), diskTypeName: S.optional(ClusterFlexProviderSettingsDiskTypeName), instanceSizeName: S.optional(ClusterFlexProviderSettingsInstanceSizeName), regionName: S.optional(ClusterFlexProviderSettingsRegionName), backingProviderName: S.optional( ClusterFlexProviderSettingsBackingProviderName, ), effectiveInstanceSizeName: S.optional( ClusterFlexProviderSettingsEffectiveInstanceSizeName, ), providerName: S.String, diskIOPS: S.optional(S.Number), encryptEBSVolume: S.optional(S.Boolean), volumeType: S.optional(ClusterFlexProviderSettingsVolumeType), }), ).annotate({ identifier: "ClusterFlexProviderSettings", }) as any as S.Schema; /** Group of cloud provider settings that configure the provisioned MongoDB hosts. */ export type ClusterProviderSettings = | AWSCloudProviderSettings | AzureCloudProviderSettings | CloudGCPProviderSettings | ClusterFreeProviderSettings | ClusterFlexProviderSettings; export const ClusterProviderSettings = S.Unknown as any as S.Schema; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ export type LegacyAtlasClusterReplicaSetScalingStrategy = | "SEQUENTIAL" | "WORKLOAD_TYPE" | "NODE_TYPE"; export const LegacyAtlasClusterReplicaSetScalingStrategy = S.String; /** Number of members that belong to the replica set. Each member retains a copy of your databases, providing high availability and data redundancy. Use `replicationSpecs` instead. */ export type LegacyAtlasClusterReplicationFactor = 3 | 5 | 7; export const LegacyAtlasClusterReplicationFactor = S.Number; /** Physical location where MongoDB Cloud provisions cluster nodes. */ export type LegacyAtlasClusterReplicationSpecMap = { [key: string]: RegionSpec | undefined; }; export const LegacyAtlasClusterReplicationSpecMap = /*@__PURE__*/ S.Record( S.String, RegionSpec, ) as any as S.Schema; /** List of settings that configure your cluster regions. - For Global Clusters, each object in the array represents one zone where MongoDB Cloud deploys your clusters nodes. - For non-Global sharded clusters and replica sets, the single object represents where MongoDB Cloud deploys your clusters nodes. */ export type LegacyAtlasClusterReplicationSpecsList = Array; export const LegacyAtlasClusterReplicationSpecsList = /*@__PURE__*/ S.Array( LegacyReplicationSpec, ) as any as S.Schema; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ export type LegacyAtlasClusterRootCertType = "ISRGROOTX1"; export const LegacyAtlasClusterRootCertType = S.String; /** Human-readable label that indicates any current activity being taken on this cluster by the Atlas control plane. With the exception of CREATING and DELETING states, clusters should always be available and have a Primary node even when in states indicating ongoing activity. - `IDLE`: Atlas is making no changes to this cluster and all changes requested via the UI or API can be assumed to have been applied. - `CREATING`: A cluster being provisioned for the very first time returns state CREATING until it is ready for connections. Ensure IP Access List and DB Users are configured before attempting to connect. - `UPDATING`: A change requested via the UI, API, AutoScaling, or other scheduled activity is taking place. - `DELETING`: The cluster is in the process of deletion and will soon be deleted. - `REPAIRING`: One or more nodes in the cluster are being returned to service by the Atlas control plane. Other nodes should continue to provide service as normal. */ export type LegacyAtlasClusterStateName = | "IDLE" | "CREATING" | "UPDATING" | "DELETING" | "REPAIRING"; export const LegacyAtlasClusterStateName = S.String; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ export type LegacyAtlasClusterTagsList = Array; export const LegacyAtlasClusterTagsList = /*@__PURE__*/ S.Array( ResourceTag, ) as any as S.Schema; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ export type LegacyAtlasClusterVersionReleaseSystem = "LTS" | "CONTINUOUS"; export const LegacyAtlasClusterVersionReleaseSystem = S.String; /** Group of settings that configure a MongoDB cluster. */ export interface LegacyAtlasCluster { /** If reconfiguration is necessary to regain a primary due to a regional outage, submit this field alongside your topology reconfiguration to request a new regional outage resistant topology. Forced reconfigurations during an outage of the majority of electable nodes carry a risk of data loss if replicated writes (even majority committed writes) have not been replicated to the new primary node. MongoDB Atlas docs contain more information. To proceed with an operation which carries that risk, set `acceptDataRisksAndForceReplicaSetReconfig` to the current date. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ acceptDataRisksAndForceReplicaSetReconfig?: string; advancedConfiguration?: ApiAtlasClusterAdvancedConfigurationView; autoScaling?: ClusterAutoScalingSettings; /** Flag that indicates whether the cluster can perform backups. If set to `true`, the cluster can perform backups. You must set this value to `true` for NVMe clusters. Backup uses Cloud Backups for dedicated clusters and Shared Cluster Backups for tenant clusters. If set to `false`, the cluster doesn't use MongoDB Cloud backups. */ backupEnabled?: boolean; biConnector?: BiConnector; /** Configuration of nodes that comprise the cluster. */ clusterType?: LegacyAtlasClusterClusterType; /** Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server. */ configServerManagementMode?: LegacyAtlasClusterConfigServerManagementMode; /** Describes a sharded cluster's config server type. */ configServerType?: LegacyAtlasClusterConfigServerType; connectionStrings?: ClusterConnectionStrings; /** Date and time when MongoDB Cloud created this serverless instance. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. */ createDate?: string; /** Number of hours after cluster creation that this cluster will be automatically deleted. This field is used to derive `deleteAfterDate` relative to `createDate`. When set to null or zero on cluster creation, the cluster will not be automatically deleted. When set to a positive value on cluster creation, the cluster will be automatically deleted after the specified number of hours. When updating this field on an existing (non-deleted) cluster, and this is set to null, then existing values are preserved for this & `deleteAfterDate`. When updating this field on an existing (non-deleted) cluster, and this is set to zero, then `deleteAfterDate` is reset to null (disable auto deletion) regardless of previous configurations. When updating this field on an existing (non-deleted) cluster, and this is set to a positive value, then `createDate` + `deleteAfterCreationHours` must be later than now else the field update is ignored and existing values are preserved for this & `deleteAfterDate`. */ deleteAfterCreationHours?: number; /** The date at which this cluster will be automatically deleted. This parameter expresses its value in the ISO 8601 timestamp format in UTC and is derived based on the `createDate` + `deleteAfterCreationHours`. */ deleteAfterDate?: string; /** Storage capacity of instance data volumes expressed in gigabytes. Increase this number to add capacity. This value is not configurable on M0/M2/M5 clusters. MongoDB Cloud requires this parameter if you set `replicationSpecs`. If you specify a disk size below the minimum (10 GB), this parameter defaults to the minimum disk size value. Storage charge calculations depend on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require more storage space, consider upgrading your cluster to a higher tier. */ diskSizeGB?: number; /** Disk warming mode selection. */ diskWarmingMode?: LegacyAtlasClusterDiskWarmingMode; /** Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `"backupEnabled" : false` or omitted entirely. */ encryptionAtRestProvider?: LegacyAtlasClusterEncryptionAtRestProvider; /** Feature compatibility version of the cluster. */ featureCompatibilityVersion?: string; /** Feature compatibility version expiration date. This parameter expresses its value in the ISO 8601 timestamp format in UTC. */ featureCompatibilityVersionExpirationDate?: string; /** Set this field to configure the Sharding Management Mode when creating a new Global Cluster. When set to false, the management mode is set to Atlas-Managed Sharding. This mode fully manages the sharding of your Global Cluster and is built to provide a seamless deployment experience. When set to true, the management mode is set to Self-Managed Sharding. This mode leaves the management of shards in your hands and is built to provide an advanced and flexible deployment experience. This setting cannot be changed once the cluster is deployed. */ globalClusterSelfManagedSharding?: boolean; /** Unique 24-hexadecimal character string that identifies the project. */ groupId?: string; /** Unique 24-hexadecimal digit string that identifies the cluster. */ id?: string; /** Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels. Cluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead. */ labels?: LegacyAtlasClusterLabelsList; /** List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships. */ links?: LegacyAtlasClusterLinksList; mongoDBEmployeeAccessGrant?: EmployeeAccessGrantView; /** MongoDB major version of the cluster. On creation: Choose from the available versions of MongoDB, or leave unspecified for the current recommended default in the MongoDB Cloud platform. The recommended version is a recent Long Term Support version. The default is not guaranteed to be the most recently released version throughout the entire release cycle. For versions available in a specific project, see the linked documentation or use the API endpoint for [project LTS versions endpoint](#tag/Projects/operation/getProjectLTSVersions). On update: Increase version only by 1 major version at a time. If the cluster is pinned to a MongoDB feature compatibility version exactly one major version below the current MongoDB version, the MongoDB version can be downgraded to the previous major version. */ mongoDBMajorVersion?: string; /** Version of MongoDB that the cluster runs. */ mongoDBVersion?: string; /** Base connection string that you can use to connect to the cluster. MongoDB Cloud displays the string only after the cluster starts, not while it builds the cluster. */ mongoURI?: string; /** Date and time when someone last updated the connection string. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. */ mongoURIUpdated?: string; /** Connection string that you can use to connect to the cluster including the `replicaSet`, `ssl`, and `authSource` query parameters with values appropriate for the cluster. You may need to add MongoDB database users. The response returns this parameter once the cluster can receive requests, not while it builds the cluster. */ mongoURIWithOptions?: string; /** Human-readable label that identifies the cluster. */ name?: string; /** Number of shards up to 50 to deploy for a sharded cluster. The resource returns `1` to indicate a replica set and values of `2` and higher to indicate a sharded cluster. The returned value equals the number of shards in the cluster. */ numShards?: number; /** Flag that indicates whether the cluster is paused. */ paused?: boolean; /** Flag that indicates whether the cluster uses continuous cloud backups. */ pitEnabled?: boolean; /** Flag that indicates whether the M10 or higher cluster can perform Cloud Backups. If set to `true`, the cluster can perform backups. If this and `backupEnabled` are set to `false`, the cluster doesn't use MongoDB Cloud backups. */ providerBackupEnabled?: boolean; providerSettings?: ClusterProviderSettings; /** Set this field to configure the replica set scaling mode for your cluster. By default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes. When configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads. When configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads. */ replicaSetScalingStrategy?: LegacyAtlasClusterReplicaSetScalingStrategy; /** Number of members that belong to the replica set. Each member retains a copy of your databases, providing high availability and data redundancy. Use `replicationSpecs` instead. */ replicationFactor?: LegacyAtlasClusterReplicationFactor; /** Physical location where MongoDB Cloud provisions cluster nodes. */ replicationSpec?: LegacyAtlasClusterReplicationSpecMap; /** List of settings that configure your cluster regions. - For Global Clusters, each object in the array represents one zone where MongoDB Cloud deploys your clusters nodes. - For non-Global sharded clusters and replica sets, the single object represents where MongoDB Cloud deploys your clusters nodes. */ replicationSpecs?: LegacyAtlasClusterReplicationSpecsList; /** Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group. */ rootCertType?: LegacyAtlasClusterRootCertType; /** Connection string that you can use to connect to the cluster. The `+srv` modifier forces the connection to use Transport Layer Security (TLS). The `mongoURI` parameter lists additional options. */ srvAddress?: string; /** Human-readable label that indicates any current activity being taken on this cluster by the Atlas control plane. With the exception of CREATING and DELETING states, clusters should always be available and have a Primary node even when in states indicating ongoing activity. - `IDLE`: Atlas is making no changes to this cluster and all changes requested via the UI or API can be assumed to have been applied. - `CREATING`: A cluster being provisioned for the very first time returns state CREATING until it is ready for connections. Ensure IP Access List and DB Users are configured before attempting to connect. - `UPDATING`: A change requested via the UI, API, AutoScaling, or other scheduled activity is taking place. - `DELETING`: The cluster is in the process of deletion and will soon be deleted. - `REPAIRING`: One or more nodes in the cluster are being returned to service by the Atlas control plane. Other nodes should continue to provide service as normal. */ stateName?: LegacyAtlasClusterStateName; /** List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster. */ tags?: LegacyAtlasClusterTagsList; /** Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster. */ terminationProtectionEnabled?: boolean; /** Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`. */ versionReleaseSystem?: LegacyAtlasClusterVersionReleaseSystem; } export const LegacyAtlasCluster = /*@__PURE__*/ S.suspend(() => S.Struct({ acceptDataRisksAndForceReplicaSetReconfig: S.optional(S.String), advancedConfiguration: S.optional(ApiAtlasClusterAdvancedConfigurationView), autoScaling: S.optional(ClusterAutoScalingSettings), backupEnabled: S.optional(S.Boolean), biConnector: S.optional(BiConnector), clusterType: S.optional(LegacyAtlasClusterClusterType), configServerManagementMode: S.optional( LegacyAtlasClusterConfigServerManagementMode, ), configServerType: S.optional(LegacyAtlasClusterConfigServerType), connectionStrings: S.optional(ClusterConnectionStrings), createDate: S.optional(S.String), deleteAfterCreationHours: S.optional(S.Number), deleteAfterDate: S.optional(S.String), diskSizeGB: S.optional(S.Number), diskWarmingMode: S.optional(LegacyAtlasClusterDiskWarmingMode), encryptionAtRestProvider: S.optional( LegacyAtlasClusterEncryptionAtRestProvider, ), featureCompatibilityVersion: S.optional(S.String), featureCompatibilityVersionExpirationDate: S.optional(S.String), globalClusterSelfManagedSharding: S.optional(S.Boolean), groupId: S.optional(S.String), id: S.optional(S.String), labels: S.optional(LegacyAtlasClusterLabelsList), links: S.optional(LegacyAtlasClusterLinksList), mongoDBEmployeeAccessGrant: S.optional(EmployeeAccessGrantView), mongoDBMajorVersion: S.optional(S.String), mongoDBVersion: S.optional(S.String), mongoURI: S.optional(S.String), mongoURIUpdated: S.optional(S.String), mongoURIWithOptions: S.optional(S.String), name: S.optional(S.String), numShards: S.optional(S.Number), paused: S.optional(S.Boolean), pitEnabled: S.optional(S.Boolean), providerBackupEnabled: S.optional(S.Boolean), providerSettings: S.optional(ClusterProviderSettings), replicaSetScalingStrategy: S.optional( LegacyAtlasClusterReplicaSetScalingStrategy, ), replicationFactor: S.optional(LegacyAtlasClusterReplicationFactor), replicationSpec: S.optional(LegacyAtlasClusterReplicationSpecMap), replicationSpecs: S.optional(LegacyAtlasClusterReplicationSpecsList), rootCertType: S.optional(LegacyAtlasClusterRootCertType), srvAddress: S.optional(S.String), stateName: S.optional(LegacyAtlasClusterStateName), tags: S.optional(LegacyAtlasClusterTagsList), terminationProtectionEnabled: S.optional(S.Boolean), versionReleaseSystem: S.optional(LegacyAtlasClusterVersionReleaseSystem), }), ).annotate({ identifier: "LegacyAtlasCluster", }) as any as S.Schema; /** List of migration hosts used for this migration. */ export type ValidateGroupLiveMigrationsRequestMigrationHostsList = Array; export const ValidateGroupLiveMigrationsRequestMigrationHostsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ValidateGroupLiveMigrationsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; destination: Destination; /** Flag that indicates whether the migration process drops all collections from the destination cluster before the migration starts. */ dropDestinationData?: boolean; /** List of migration hosts used for this migration. */ migrationHosts: ValidateGroupLiveMigrationsRequestMigrationHostsList; sharding?: ShardingRequest; source: Source; } export const ValidateGroupLiveMigrationsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), destination: Destination, dropDestinationData: S.optional(S.Boolean), migrationHosts: ValidateGroupLiveMigrationsRequestMigrationHostsList, sharding: S.optional(ShardingRequest), source: Source, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/liveMigrations/validate", code: 200, accept: "application/vnd.atlas.2024-05-30+json", }), ), ).annotate({ identifier: "ValidateGroupLiveMigrationsRequest", }) as any as S.Schema; /** List of policies that make up the atlas resource policy. */ export type ValidateOrgResourcePoliciesRequestPoliciesList = Array; export const ValidateOrgResourcePoliciesRequestPoliciesList = /*@__PURE__*/ S.Array( ApiAtlasPolicyCreateView, ) as any as S.Schema; export interface ValidateOrgResourcePoliciesRequest { /** Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. */ orgId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Description of the atlas resource policy. */ description?: string | null; /** Human-readable label that describes the atlas resource policy. */ name: string; /** List of policies that make up the atlas resource policy. */ policies: ValidateOrgResourcePoliciesRequestPoliciesList; } export const ValidateOrgResourcePoliciesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ orgId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), description: S.optional(S.NullOr(S.String)), name: S.String, policies: ValidateOrgResourcePoliciesRequestPoliciesList, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/orgs/{orgId}/resourcePolicies:validate", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "ValidateOrgResourcePoliciesRequest", }) as any as S.Schema; export interface VerifyGroupUserSecurityLdapRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; /** Lightweight Directory Access Protocol (LDAP) query template that MongoDB Cloud applies to create an LDAP query to return the LDAP groups associated with the authenticated MongoDB user. MongoDB Cloud uses this parameter only for user authorization. Use the `{USER}` placeholder in the Uniform Resource Locator (URL) to substitute the authenticated username. The query relates to the host specified with the hostname. Format this query per [RFC 4515](https://datatracker.ietf.org/doc/html/rfc4515) and [RFC 4516](https://datatracker.ietf.org/doc/html/rfc4516). */ authzQueryTemplate?: string; /** Password that MongoDB Cloud uses to authenticate the `bindUsername`. */ bindPassword: string | Redacted.Redacted; /** Full Distinguished Name (DN) of the Lightweight Directory Access Protocol (LDAP) user that MongoDB Cloud uses to connect to the LDAP host. LDAP distinguished names must be formatted according to RFC 2253. */ bindUsername: string; /** Certificate Authority (CA) certificate that MongoDB Cloud uses to verify the identity of the Lightweight Directory Access Protocol (LDAP) host. MongoDB Cloud allows self-signed certificates. To delete an assigned value, pass an empty string: `"caCertificate": ""`. */ caCertificate?: string; /** Human-readable label that identifies the hostname or Internet Protocol (IP) address of the Lightweight Directory Access Protocol (LDAP) host. This host must have access to the internet or have a Virtual Private Cloud (VPC) peering connection to your cluster. */ hostname: string; /** IANA port to which the Lightweight Directory Access Protocol (LDAP) host listens for client connections. */ port: number; } export const VerifyGroupUserSecurityLdapRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), authzQueryTemplate: S.optional(S.String), bindPassword: S.String.pipe(T.SensitiveValue({})), bindUsername: S.String, caCertificate: S.optional(S.String), hostname: S.String, port: S.Number, }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/userSecurity/ldap/verify", code: 200, accept: "application/vnd.atlas.2023-01-01+json", }), ), ).annotate({ identifier: "VerifyGroupUserSecurityLdapRequest", }) as any as S.Schema; export interface WithGroupStreamSampleConnectionsRequest { /** Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access. **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups. */ groupId: string; /** Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. */ envelope?: boolean; /** Flag that indicates whether the response body should be in the prettyprint format. */ pretty?: boolean; } export const WithGroupStreamSampleConnectionsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ groupId: S.String.pipe(T.Label()), envelope: S.optional(S.Boolean.pipe(T.Query())), pretty: S.optional(S.Boolean.pipe(T.Query())), }).pipe( T.Http({ method: "POST", uri: "/api/atlas/v2/groups/{groupId}/streams:withSampleConnections", code: 200, accept: "application/vnd.atlas.2024-08-05+json", }), ), ).annotate({ identifier: "WithGroupStreamSampleConnectionsRequest", }) as any as S.Schema; export type AcceptGroupStreamVpcPeeringConnectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Accept One Incoming VPC Peering Connection Requests the acceptance of an incoming VPC Peering connection. */ export const acceptGroupStreamVpcPeeringConnection: API.OperationMethod< AcceptGroupStreamVpcPeeringConnectionRequest, AcceptGroupStreamVpcPeeringConnectionResponse, AcceptGroupStreamVpcPeeringConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: AcceptGroupStreamVpcPeeringConnectionRequest, output: AcceptGroupStreamVpcPeeringConnectionResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type AcknowledgeGroupAlertError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Acknowledge One Alert from One Project Confirms receipt of one existing alert. This alert applies to any component in one project. Acknowledging an alert prevents successive notifications. You receive an alert when a monitored component meets or exceeds a value you set until you acknowledge the alert. Use the Return All Alerts from One Project endpoint to retrieve all alerts to which the authenticated user has access. This resource remains under revision and may change. Deprecated versions: v2-{2023-01-01} */ export const acknowledgeGroupAlert: API.OperationMethod< AcknowledgeGroupAlertRequest, AcknowledgeGroupAlertResponse, AcknowledgeGroupAlertError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: AcknowledgeGroupAlertRequest, output: AcknowledgeGroupAlertResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type AddGroupApiKeyError = Forbidden | NotFound | MongodbAtlasOpError; /** Assign One Organization API Key to One Project Assigns the specified organization API key to the specified project. Users with the Project Owner role in the project associated with the API key can then use the organization API key to access the resources. */ export const addGroupApiKey: API.OperationMethod< AddGroupApiKeyRequest, AddGroupApiKeyResponse, AddGroupApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: AddGroupApiKeyRequest, output: AddGroupApiKeyResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type AddGroupTeamsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Add Multiple Teams to One Project Adds multiple teams to the specified project. All members of a team share the same project access. MongoDB Cloud limits the number of users to a maximum of 100 teams per project and a maximum of 250 teams per organization. */ export const addGroupTeams: API.OperationMethod< AddGroupTeamsRequest, PaginatedTeamRoleView, AddGroupTeamsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: AddGroupTeamsRequest, output: PaginatedTeamRoleView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type AddGroupUserRoleError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Add One Project Role to One MongoDB Cloud User Adds one project-level role to the MongoDB Cloud user. You can add a role to an active user or a user that has been invited to join the project. **Note**: This resource cannot be used to add a role to users invited using the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. */ export const addGroupUserRole: API.OperationMethod< AddGroupUserRoleRequest, GroupUserResponse, AddGroupUserRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: AddGroupUserRoleRequest, output: GroupUserResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type AddGroupUsersError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Add One MongoDB Cloud User to One Project Adds one MongoDB Cloud user to one project. - If the user has a pending invitation to join the project's organization, MongoDB Cloud modifies it and grants project access. - If the user doesn't have an invitation to join the organization, MongoDB Cloud sends a new invitation that grants the user organization and project access. - If the user is already active in the project's organization, MongoDB Cloud grants access to the project. - Replaces `INVITATION_EXPIRED` and `INVITATION_REJECTED` user with the same email. A conflict, if and only if, there is an existing `PENDING` or `ACTIVE` user. */ export const addGroupUsers: API.OperationMethod< AddGroupUsersRequest, GroupUserResponse, AddGroupUsersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: AddGroupUsersRequest, output: GroupUserResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type AddOrgTeamUserError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Add One MongoDB Cloud User to One Team Adds one MongoDB Cloud user to one team. You can add an active user or a user that has not yet accepted the invitation to join the organization. **Note**: This resource cannot be used to add a user invited via the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. A user whose only organization invitation has `EXPIRED` or been `REJECTED` is treated as not belonging to the organization (`USER_NOT_IN_ORG`); re-invite them to the organization first (which creates a new pending invitation), then add them to the team. */ export const addOrgTeamUser: API.OperationMethod< AddOrgTeamUserRequest, OrgUserResponse, AddOrgTeamUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: AddOrgTeamUserRequest, output: OrgUserResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type AddOrgUserRoleError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Add One Organization Role to One MongoDB Cloud User Adds one organization-level role to the MongoDB Cloud user. You can add a role to an active user or a user that has not yet accepted the invitation to join the organization. **Note**: This operation is atomic. **Note**: This resource cannot be used to add a role to users invited using the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. */ export const addOrgUserRole: API.OperationMethod< AddOrgUserRoleRequest, OrgUserResponse, AddOrgUserRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: AddOrgUserRoleRequest, output: OrgUserResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type AuthorizeGroupCloudProviderAccessRoleError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Authorize One Cloud Provider Access Role Grants access to the specified project for the specified access role. This API endpoint is one step in a procedure to create unified access for MongoDB Cloud services. This is not required for GCP service account access. */ export const authorizeGroupCloudProviderAccessRole: API.OperationMethod< AuthorizeGroupCloudProviderAccessRoleRequest, CloudProviderAccessRole, AuthorizeGroupCloudProviderAccessRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: AuthorizeGroupCloudProviderAccessRoleRequest, output: CloudProviderAccessRole, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CancelGroupClusterBackupRestoreJobError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Cancel One Restore Job for One Cluster Cancels one cloud backup restore job of one cluster from the specified project. */ export const cancelGroupClusterBackupRestoreJob: API.OperationMethod< CancelGroupClusterBackupRestoreJobRequest, CancelGroupClusterBackupRestoreJobResponse, CancelGroupClusterBackupRestoreJobError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CancelGroupClusterBackupRestoreJobRequest, output: CancelGroupClusterBackupRestoreJobResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateFederationSettingConnectedOrgConfigRoleMappingError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Role Mapping in One Organization Configuration Adds one role mapping to the specified organization in the specified federation. */ export const createFederationSettingConnectedOrgConfigRoleMapping: API.OperationMethod< CreateFederationSettingConnectedOrgConfigRoleMappingRequest, AuthFederationRoleMapping, CreateFederationSettingConnectedOrgConfigRoleMappingError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateFederationSettingConnectedOrgConfigRoleMappingRequest, output: AuthFederationRoleMapping, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateFederationSettingIdentityProviderError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Identity Provider Creates one identity provider within the specified federation. To use this resource, the requesting Service Account or API Key must have the Organization Owner role in one of the connected organizations. **Note**: This resource only supports the creation of OIDC identity providers. */ export const createFederationSettingIdentityProvider: API.OperationMethod< CreateFederationSettingIdentityProviderRequest, FederationOidcIdentityProvider, CreateFederationSettingIdentityProviderError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateFederationSettingIdentityProviderRequest, output: FederationOidcIdentityProvider, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Project Creates one project. Projects group clusters into logical collections that support an application environment, workload, or both. Each project can have its own users, teams, security, tags, and alert settings. */ export const createGroup: API.OperationMethod< CreateGroupRequest, Group, CreateGroupError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupRequest, output: Group, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupAccessListEntryError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Add Entries to Project IP Access List Adds one or more access list entries to the specified project. MongoDB Cloud only allows client connections to the cluster from entries in the project's IP access list. Write each entry as either one IP address or one CIDR-notated block of IP addresses. This resource replaces the whitelist resource. MongoDB Cloud removed whitelists in July 2021. Update your applications to use this new resource. The `/groups/{GROUP-ID}/accessList` endpoint manages the database IP access list. This endpoint is distinct from the `orgs/{ORG-ID}/apiKeys/{API-KEY-ID}/accesslist` endpoint, which manages the access list for MongoDB Cloud organizations. This endpoint doesn't support concurrent `POST` requests. You must submit multiple `POST` requests synchronously. */ export const createGroupAccessListEntry: API.OperationMethod< CreateGroupAccessListEntryRequest, PaginatedNetworkAccessView, CreateGroupAccessListEntryError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupAccessListEntryRequest, output: PaginatedNetworkAccessView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupAiModelApiKeyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create New AI Model API Key Create a new AI model API key for the given group. */ export const createGroupAiModelApiKey: API.OperationMethod< CreateGroupAiModelApiKeyRequest, AiModelApiKeyResponse, CreateGroupAiModelApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupAiModelApiKeyRequest, output: AiModelApiKeyResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupAlertConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Alert Configuration in One Project Creates one alert configuration for the specified project. Alert configurations define the triggers and notification methods for alerts. This resource remains under revision and may change. */ export const createGroupAlertConfig: API.OperationMethod< CreateGroupAlertConfigRequest, CreateGroupAlertConfigResponse, CreateGroupAlertConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupAlertConfigRequest, output: CreateGroupAlertConfigResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupApiKeyError = Forbidden | NotFound | MongodbAtlasOpError; /** Create and Assign One Organization API Key to One Project Creates and assigns the specified organization API key to the specified project. Users with the Project Owner role in the project associated with the API key can use the organization API key to access the resources. */ export const createGroupApiKey: API.OperationMethod< CreateGroupApiKeyRequest, ApiKeyUserDetails, CreateGroupApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupApiKeyRequest, output: ApiKeyUserDetails, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupBackupExportBucketError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Snapshot Export Bucket Creates a Snapshot Export Bucket for an AWS S3 Bucket, Azure Blob Storage Container, or Google Cloud Storage Bucket. Once created, an snapshots can be exported to the Export Bucket and its referenced AWS S3 Bucket, Azure Blob Storage Container, or Google Cloud Storage Bucket. Deprecated versions: v2-{2023-01-01} */ export const createGroupBackupExportBucket: API.OperationMethod< CreateGroupBackupExportBucketRequest, DiskBackupSnapshotExportBucketResponse, CreateGroupBackupExportBucketError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupBackupExportBucketRequest, output: DiskBackupSnapshotExportBucketResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupBackupPrivateEndpointError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project Creates a private endpoint in the specified region for secure, private connectivity between Atlas and cloud provider object storage services for backup operations. */ export const createGroupBackupPrivateEndpoint: API.OperationMethod< CreateGroupBackupPrivateEndpointRequest, ObjectStoragePrivateEndpointResponse, CreateGroupBackupPrivateEndpointError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupBackupPrivateEndpointRequest, output: ObjectStoragePrivateEndpointResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupCloudProviderAccessError = | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Cloud Provider Access Role Creates one access role for the specified cloud provider. Some MongoDB Cloud features use these cloud provider access roles for authentication. For the GCP provider, if the project folder is not yet provisioned, Atlas will now create the role asynchronously. An intermediate role with status `IN_PROGRESS` will be returned, and the final service account will be provisioned. Once the GCP project is set up, subsequent requests will create the service account synchronously. */ export const createGroupCloudProviderAccess: API.OperationMethod< CreateGroupCloudProviderAccessRequest, CloudProviderAccessRole, CreateGroupCloudProviderAccessError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupCloudProviderAccessRequest, output: CloudProviderAccessRole, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterError = | BadRequest | PaymentRequired | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Cluster in One Project Creates one cluster in the specified project. Clusters contain a group of hosts that maintain the same data set. This resource can create clusters with asymmetrically-sized shards. Each project supports up to 25 database deployments. This feature is not available for serverless clusters. Please note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward. Deprecated versions: v2-{2024-08-05}, v2-{2023-02-01}, v2-{2023-01-01} */ export const createGroupCluster: API.OperationMethod< CreateGroupClusterRequest, ClusterDescription20240805, CreateGroupClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterRequest, output: ClusterDescription20240805, errors: [ BadRequest, PaymentRequired, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError, ], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterBackupExportError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Snapshot Export Job Exports one backup Snapshot for dedicated Atlas cluster using Cloud Backups to an Export Bucket. */ export const createGroupClusterBackupExport: API.OperationMethod< CreateGroupClusterBackupExportRequest, DiskBackupExportJob, CreateGroupClusterBackupExportError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterBackupExportRequest, output: DiskBackupExportJob, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterBackupRestoreJobError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Restore Job of One Cluster Restores one snapshot of one cluster from the specified project. Atlas takes on-demand snapshots immediately and scheduled snapshots at regular intervals. If an on-demand snapshot with a status of `queued` or `inProgress` exists, before taking another snapshot, wait until Atlas completes processing the previously taken on-demand snapshot. */ export const createGroupClusterBackupRestoreJob: API.OperationMethod< CreateGroupClusterBackupRestoreJobRequest, DiskBackupSnapshotRestoreJob, CreateGroupClusterBackupRestoreJobError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterBackupRestoreJobRequest, output: DiskBackupSnapshotRestoreJob, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterCollectionRestoreJobError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Collection Restore Job Creates one collection-level restore job for one cluster from the specified project. Collection-level restores allow restoring specific databases or collections from a snapshot or point-in-time. */ export const createGroupClusterCollectionRestoreJob: API.OperationMethod< CreateGroupClusterCollectionRestoreJobRequest, ApiAtlasCollectionRestoreJobResponse, CreateGroupClusterCollectionRestoreJobError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterCollectionRestoreJobRequest, output: ApiAtlasCollectionRestoreJobResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterGlobalWriteCustomZoneMappingError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Add One Custom Zone Mapping to One Global Cluster Creates one custom zone mapping for the specified global cluster. A custom zone mapping matches one ISO 3166-2 location code to a zone in your global cluster. By default, MongoDB Cloud maps each location code to the closest geographical zone. Deprecated versions: v2-{2023-02-01}, v2-{2023-01-01} */ export const createGroupClusterGlobalWriteCustomZoneMapping: API.OperationMethod< CreateGroupClusterGlobalWriteCustomZoneMappingRequest, GeoSharding20240805, CreateGroupClusterGlobalWriteCustomZoneMappingError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterGlobalWriteCustomZoneMappingRequest, output: GeoSharding20240805, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterGlobalWriteManagedNamespaceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Managed Namespace in One Global Cluster Creates one managed namespace within the specified global cluster. A managed namespace identifies a collection using the database name, the dot separator, and the collection name. Deprecated versions: v2-{2023-02-01}, v2-{2023-01-01} */ export const createGroupClusterGlobalWriteManagedNamespace: API.OperationMethod< CreateGroupClusterGlobalWriteManagedNamespaceRequest, GeoSharding20240805, CreateGroupClusterGlobalWriteManagedNamespaceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterGlobalWriteManagedNamespaceRequest, output: GeoSharding20240805, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterIndexRollingIndexError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Rolling Index Creates an index on the cluster identified by its name in a rolling manner. Creating the index in this way allows index builds on one replica set member as a standalone at a time, starting with the secondary members. Creating indexes in this way requires at least one replica set election. */ export const createGroupClusterIndexRollingIndex: API.OperationMethod< CreateGroupClusterIndexRollingIndexRequest, CreateGroupClusterIndexRollingIndexResponse, CreateGroupClusterIndexRollingIndexError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterIndexRollingIndexRequest, output: CreateGroupClusterIndexRollingIndexResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterOnlineArchiveError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Online Archive Creates one online archive. This archive stores data from one cluster within one project. */ export const createGroupClusterOnlineArchive: API.OperationMethod< CreateGroupClusterOnlineArchiveRequest, BackupOnlineArchive, CreateGroupClusterOnlineArchiveError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterOnlineArchiveRequest, output: BackupOnlineArchive, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterOverloadSimulationError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Overload Protection Simulation Starts an overload protection simulation for one cluster. Returns a 409 if a simulation is already in progress or completed; DELETE the existing simulation before starting a new one. */ export const createGroupClusterOverloadSimulation: API.OperationMethod< CreateGroupClusterOverloadSimulationRequest, OverloadProtectionSimulationResponse, CreateGroupClusterOverloadSimulationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterOverloadSimulationRequest, output: OverloadProtectionSimulationResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterSearchDeploymentError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create Search Nodes Creates Search Nodes for the specified cluster. */ export const createGroupClusterSearchDeployment: API.OperationMethod< CreateGroupClusterSearchDeploymentRequest, ApiSearchDeploymentResponseView, CreateGroupClusterSearchDeploymentError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterSearchDeploymentRequest, output: ApiSearchDeploymentResponseView, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupClusterSearchIndexError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Atlas Search Index Creates one Atlas Search index on the specified collection. Atlas Search indexes define the fields on which to create the index and the analyzers to use when creating the index. Only clusters running MongoDB v4.2 or later can use Atlas Search. */ export const createGroupClusterSearchIndex: API.OperationMethod< CreateGroupClusterSearchIndexRequest, SearchIndexResponse, CreateGroupClusterSearchIndexError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupClusterSearchIndexRequest, output: SearchIndexResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupContainerError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Network Peering Container Creates one new network peering container in the specified project. MongoDB Cloud can deploy Network Peering connections in a network peering container. GCP can have one container per project. AWS and Azure can have one container per cloud provider region. */ export const createGroupContainer: API.OperationMethod< CreateGroupContainerRequest, CloudProviderContainer, CreateGroupContainerError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupContainerRequest, output: CloudProviderContainer, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupCustomDbRoleRoleError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Custom Role Creates one custom role in the specified project. */ export const createGroupCustomDbRoleRole: API.OperationMethod< CreateGroupCustomDbRoleRoleRequest, CreateGroupCustomDbRoleRoleResponse, CreateGroupCustomDbRoleRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupCustomDbRoleRoleRequest, output: CreateGroupCustomDbRoleRoleResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupDatabaseUserError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Database User in One Project Creates one database user in the specified project. This MongoDB Cloud supports a maximum of 100 database users per project. If you require more than 100 database users on a project, contact Support. */ export const createGroupDatabaseUser: API.OperationMethod< CreateGroupDatabaseUserRequest, CloudDatabaseUserOutput, CreateGroupDatabaseUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupDatabaseUserRequest, output: CloudDatabaseUserOutput, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupDatabaseUserCertError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One X.509 Certificate for One Database User Generates one X.509 certificate for the specified MongoDB user. Atlas manages the certificate and MongoDB user that belong to one project. To get MongoDB Cloud to generate a managed certificate for a database user, set `"x509Type" : "MANAGED"` on the desired MongoDB Database User. If you are managing your own Certificate Authority (CA) in Self-Managed X.509 mode, you must generate certificates for database users using your own CA. */ export const createGroupDatabaseUserCert: API.OperationMethod< CreateGroupDatabaseUserCertRequest, CreateGroupDatabaseUserCertResponse, CreateGroupDatabaseUserCertError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupDatabaseUserCertRequest, output: CreateGroupDatabaseUserCertResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupDataFederationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Federated Database Instance in One Project Creates one federated database instance in the specified project. */ export const createGroupDataFederation: API.OperationMethod< CreateGroupDataFederationRequest, DataLakeTenantOutput, CreateGroupDataFederationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupDataFederationRequest, output: DataLakeTenantOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupEncryptionAtRestPrivateEndpointError = | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Private Endpoint for Encryption at Rest Using Customer Key Management for One Cloud Provider in One Project Creates a private endpoint in the specified region for encryption at rest using customer key management. */ export const createGroupEncryptionAtRestPrivateEndpoint: API.OperationMethod< CreateGroupEncryptionAtRestPrivateEndpointRequest, CreateGroupEncryptionAtRestPrivateEndpointResponse, CreateGroupEncryptionAtRestPrivateEndpointError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupEncryptionAtRestPrivateEndpointRequest, output: CreateGroupEncryptionAtRestPrivateEndpointResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupFlexClusterError = | BadRequest | PaymentRequired | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Flex Cluster in One Project Creates one flex cluster in the specified project. */ export const createGroupFlexCluster: API.OperationMethod< CreateGroupFlexClusterRequest, FlexClusterDescription20241113, CreateGroupFlexClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupFlexClusterRequest, output: FlexClusterDescription20241113, errors: [ BadRequest, PaymentRequired, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError, ], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupFlexClusterBackupRestoreJobError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Restore Job for One Flex Cluster Restores one snapshot of one flex cluster from the specified project. */ export const createGroupFlexClusterBackupRestoreJob: API.OperationMethod< CreateGroupFlexClusterBackupRestoreJobRequest, FlexBackupRestoreJob20241113, CreateGroupFlexClusterBackupRestoreJobError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupFlexClusterBackupRestoreJobRequest, output: FlexBackupRestoreJob20241113, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupIntegrationError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Third-Party Service Integration Adds the settings for configuring one third-party service integration. These settings apply to all databases managed in the specified MongoDB Cloud project. Each project can have only one configuration per `{INTEGRATION-TYPE}`. */ export const createGroupIntegration: API.OperationMethod< CreateGroupIntegrationRequest, PaginatedIntegrationViewOutput, CreateGroupIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupIntegrationRequest, output: PaginatedIntegrationViewOutput, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupLiveMigrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Migration for One Local Managed Cluster to MongoDB Atlas Migrate one cluster that Cloud or Ops Manager manages to MongoDB Atlas. Please make sure to validate your migration before initiating it. You can use this API endpoint for push live migrations only. Your API Key must have the Organization Owner role to successfully call this resource. **NOTE**: Migrating time-series collections is not yet supported on MongoDB 6.0 or higher. Migrations on MongoDB 6.0 or higher will skip any time-series collections on the source cluster. Deprecated versions: v2-{2023-01-01} */ export const createGroupLiveMigration: API.OperationMethod< CreateGroupLiveMigrationRequest, LiveMigrationResponse, CreateGroupLiveMigrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupLiveMigrationRequest, output: LiveMigrationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupLogIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Log Integration Creates a new log integration configuration identified by a unique ID. */ export const createGroupLogIntegration: API.OperationMethod< CreateGroupLogIntegrationRequest, LogIntegrationResponseOutput, CreateGroupLogIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupLogIntegrationRequest, output: LogIntegrationResponseOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupMcpConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One MCP Configuration for One Project Creates an MCP configuration for the specified project. Returns the configuration ID and ingress credentials. */ export const createGroupMcpConfig: API.OperationMethod< CreateGroupMcpConfigRequest, GroupMcpConfigResponse, CreateGroupMcpConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupMcpConfigRequest, output: GroupMcpConfigResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupMcpConfigSecretError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Secret for One Project MCP Configuration Creates a new secret on the ingress service account of the specified project-level MCP configuration. The plain-text secret value is returned only in this response and is never shown again. */ export const createGroupMcpConfigSecret: API.OperationMethod< CreateGroupMcpConfigSecretRequest, ServiceAccountSecret, CreateGroupMcpConfigSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupMcpConfigSecretRequest, output: ServiceAccountSecret, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupMetricIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Metric Integration Creates a new metric integration configuration identified by a unique ID. */ export const createGroupMetricIntegration: API.OperationMethod< CreateGroupMetricIntegrationRequest, MetricIntegrationResponse, CreateGroupMetricIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupMetricIntegrationRequest, output: MetricIntegrationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupPeerError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Network Peering Connection Creates one new network peering connection in the specified project. Network peering allows multiple cloud-hosted applications to securely connect to the same project. To learn more about considerations and prerequisites, see the Network Peering Documentation. */ export const createGroupPeer: API.OperationMethod< CreateGroupPeerRequest, BaseNetworkPeeringConnectionSettings, CreateGroupPeerError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupPeerRequest, output: BaseNetworkPeeringConnectionSettings, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupPrivateEndpointEndpointServiceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Private Endpoint Service for One Provider Creates one private endpoint service for the specified cloud service provider. This cloud service provider manages the private endpoint service for the project. When you create a private endpoint service, MongoDB Cloud creates a network container in the project for the cloud provider for which you create the private endpoint service if one doesn't already exist. To learn more about private endpoint terminology in MongoDB Cloud, see Private Endpoint Concepts. */ export const createGroupPrivateEndpointEndpointService: API.OperationMethod< CreateGroupPrivateEndpointEndpointServiceRequest, EndpointService, CreateGroupPrivateEndpointEndpointServiceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupPrivateEndpointEndpointServiceRequest, output: EndpointService, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupPrivateEndpointEndpointServiceEndpointError = | BadRequest | PaymentRequired | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Private Endpoint for One Provider Creates one private endpoint for the specified cloud service provider. This cloud service provider manages the private endpoint service, which in turn manages the private endpoints for the project. To learn more about considerations, limitations, and prerequisites, see the MongoDB documentation for setting up a private endpoint. */ export const createGroupPrivateEndpointEndpointServiceEndpoint: API.OperationMethod< CreateGroupPrivateEndpointEndpointServiceEndpointRequest, PrivateLinkEndpoint, CreateGroupPrivateEndpointEndpointServiceEndpointError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupPrivateEndpointEndpointServiceEndpointRequest, output: PrivateLinkEndpoint, errors: [ BadRequest, PaymentRequired, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError, ], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupPrivateNetworkSettingEndpointIdError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Federated Database Instance and Online Archive Private Endpoint for One Project Adds one private endpoint for Federated Database Instances and Online Archives to the specified projects. If the endpoint ID already exists and the associated comment is unchanged, Atlas Data Federation makes no change to the endpoint ID list. If the endpoint ID already exists and the associated comment is changed, Atlas Data Federation updates the comment value only in the endpoint ID list. If the endpoint ID doesn't exist, Atlas Data Federation appends the new endpoint to the list of endpoints in the endpoint ID list. Each region has an associated service name for the various endpoints. For the latest list of supported regions and their service names, see the external documentation. */ export const createGroupPrivateNetworkSettingEndpointId: API.OperationMethod< CreateGroupPrivateNetworkSettingEndpointIdRequest, PaginatedPrivateNetworkEndpointIdEntryView, CreateGroupPrivateNetworkSettingEndpointIdError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupPrivateNetworkSettingEndpointIdRequest, output: PaginatedPrivateNetworkEndpointIdEntryView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupServiceAccountError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Project Service Account Creates one Service Account for the specified Project. The Service Account will automatically be added as an Organization Member to the Organization that the specified Project is a part of. */ export const createGroupServiceAccount: API.OperationMethod< CreateGroupServiceAccountRequest, GroupServiceAccount, CreateGroupServiceAccountError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupServiceAccountRequest, output: GroupServiceAccount, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupServiceAccountAccessListError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Add Access List Entries for One Project Service Account Add Access List Entries for the specified Service Account for the project. Resources require all API requests to originate from IP addresses on the API access list. */ export const createGroupServiceAccountAccessList: API.OperationMethod< CreateGroupServiceAccountAccessListRequest, PaginatedServiceAccountIPAccessEntryView, CreateGroupServiceAccountAccessListError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupServiceAccountAccessListRequest, output: PaginatedServiceAccountIPAccessEntryView, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupServiceAccountSecretError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Project Service Account Secret Create a secret for the specified Service Account in the specified Project. */ export const createGroupServiceAccountSecret: API.OperationMethod< CreateGroupServiceAccountSecretRequest, ServiceAccountSecret, CreateGroupServiceAccountSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupServiceAccountSecretRequest, output: ServiceAccountSecret, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupStreamConnectionError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Stream Connection Creates one connection for a stream workspace in the specified project. */ export const createGroupStreamConnection: API.OperationMethod< CreateGroupStreamConnectionRequest, StreamsConnectionOutput, CreateGroupStreamConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupStreamConnectionRequest, output: StreamsConnectionOutput, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupStreamConnectionFailoverConnectionError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Failover Stream Connection Creates one failover connection for a stream workspace in the specified project. */ export const createGroupStreamConnectionFailoverConnection: API.OperationMethod< CreateGroupStreamConnectionFailoverConnectionRequest, StreamsFailoverConnectionOutput, CreateGroupStreamConnectionFailoverConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupStreamConnectionFailoverConnectionRequest, output: StreamsFailoverConnectionOutput, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupStreamPrivateLinkConnectionError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Private Link Connection Creates one Private Link in the specified project. */ export const createGroupStreamPrivateLinkConnection: API.OperationMethod< CreateGroupStreamPrivateLinkConnectionRequest, StreamsPrivateLinkConnection, CreateGroupStreamPrivateLinkConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupStreamPrivateLinkConnectionRequest, output: StreamsPrivateLinkConnection, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupStreamProcessorError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Stream Processor Create one Stream Processor within the specified stream workspace. */ export const createGroupStreamProcessor: API.OperationMethod< CreateGroupStreamProcessorRequest, StreamsProcessor, CreateGroupStreamProcessorError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupStreamProcessorRequest, output: StreamsProcessor, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateGroupStreamWorkspaceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Stream Workspace Creates one stream workspace in the specified project. */ export const createGroupStreamWorkspace: API.OperationMethod< CreateGroupStreamWorkspaceRequest, StreamsTenantOutput, CreateGroupStreamWorkspaceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateGroupStreamWorkspaceRequest, output: StreamsTenantOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Organization Creates one organization in MongoDB Cloud and links it to the requesting Service Account's or API Key's organization. The requesting Service Account's or API Key's organization must be a paying organization. To learn more, see Configure a Paying Organization in the MongoDB Atlas documentation. Optionally, if `federationSettingsId` is provided, the new Organization will be linked to the federation. The requesting Service Account or API Key must be an Organization Owner in the federation. */ export const createOrg: API.OperationMethod< CreateOrgRequest, CreateOrganizationResponse, CreateOrgError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgRequest, output: CreateOrganizationResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgApiKeyError = Forbidden | NotFound | MongodbAtlasOpError; /** Create One Organization API Key Creates one API key for the specified organization. An organization API key grants programmatic access to an organization. You can't use the API key to log into the console. */ export const createOrgApiKey: API.OperationMethod< CreateOrgApiKeyRequest, ApiKeyUserDetails, CreateOrgApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgApiKeyRequest, output: ApiKeyUserDetails, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgApiKeyAccessListEntryError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Access List Entry for One Organization API Key Creates the access list entries for the specified organization API key. Resources require all API requests originate from IP addresses on the API access list. */ export const createOrgApiKeyAccessListEntry: API.OperationMethod< CreateOrgApiKeyAccessListEntryRequest, PaginatedApiUserAccessListResponseView, CreateOrgApiKeyAccessListEntryError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgApiKeyAccessListEntryRequest, output: PaginatedApiUserAccessListResponseView, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgBillingCostExplorerUsageProcessError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Cost Explorer Query Process Creates a query process within the Cost Explorer for the given parameters. A token is returned that can be used to poll the status of the query and eventually retrieve the results. */ export const createOrgBillingCostExplorerUsageProcess: API.OperationMethod< CreateOrgBillingCostExplorerUsageProcessRequest, CreateOrgBillingCostExplorerUsageProcessResponse, CreateOrgBillingCostExplorerUsageProcessError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgBillingCostExplorerUsageProcessRequest, output: CreateOrgBillingCostExplorerUsageProcessResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgInvoiceReportError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Invoice Report Requests asynchronous generation of a report for the specified invoice. Returns a report identifier that can be used to poll the report status. */ export const createOrgInvoiceReport: API.OperationMethod< CreateOrgInvoiceReportRequest, InvoiceReportResponse, CreateOrgInvoiceReportError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgInvoiceReportRequest, output: InvoiceReportResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgLiveMigrationLinkTokenError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Link-Token Create one link-token that contains all the information required to complete the link. MongoDB Atlas uses the link-token for push live migrations only. Live migration (push) allows you to securely push data from Cloud Manager or Ops Manager into MongoDB Atlas. Your API Key must have the Organization Owner role to successfully call this resource. */ export const createOrgLiveMigrationLinkToken: API.OperationMethod< CreateOrgLiveMigrationLinkTokenRequest, TargetOrg, CreateOrgLiveMigrationLinkTokenError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgLiveMigrationLinkTokenRequest, output: TargetOrg, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgMcpConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One MCP Configuration for One Organization Creates an MCP configuration for the specified organization. Returns the configuration ID and ingress credentials. */ export const createOrgMcpConfig: API.OperationMethod< CreateOrgMcpConfigRequest, OrgMcpConfigResponse, CreateOrgMcpConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgMcpConfigRequest, output: OrgMcpConfigResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgMcpConfigSecretError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Secret for One Organization MCP Configuration Creates a new secret on the ingress service account of the specified organization-level MCP configuration. The plain-text secret value is returned only in this response and is never shown again. */ export const createOrgMcpConfigSecret: API.OperationMethod< CreateOrgMcpConfigSecretRequest, ServiceAccountSecret, CreateOrgMcpConfigSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgMcpConfigSecretRequest, output: ServiceAccountSecret, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgResourcePolicyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Atlas Resource Policy Create one Atlas Resource Policy for an organization. */ export const createOrgResourcePolicy: API.OperationMethod< CreateOrgResourcePolicyRequest, ApiAtlasResourcePolicyView, CreateOrgResourcePolicyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgResourcePolicyRequest, output: ApiAtlasResourcePolicyView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgServiceAccountError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Organization Service Account Creates one Service Account for the specified Organization. */ export const createOrgServiceAccount: API.OperationMethod< CreateOrgServiceAccountRequest, OrgServiceAccount, CreateOrgServiceAccountError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgServiceAccountRequest, output: OrgServiceAccount, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgServiceAccountAccessListError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Add Access List Entries for One Organization Service Account Add Access List Entries for the specified Service Account for the organization. Resources require all API requests to originate from IP addresses on the API access list. */ export const createOrgServiceAccountAccessList: API.OperationMethod< CreateOrgServiceAccountAccessListRequest, PaginatedServiceAccountIPAccessEntryView, CreateOrgServiceAccountAccessListError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgServiceAccountAccessListRequest, output: PaginatedServiceAccountIPAccessEntryView, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgServiceAccountSecretError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Organization Service Account Secret Create a secret for the specified Service Account. */ export const createOrgServiceAccountSecret: API.OperationMethod< CreateOrgServiceAccountSecretRequest, ServiceAccountSecret, CreateOrgServiceAccountSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgServiceAccountSecretRequest, output: ServiceAccountSecret, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgTeamError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Create One Team in One Organization Creates one team in the specified organization. Teams enable you to grant project access roles to MongoDB Cloud users. MongoDB Cloud limits the number of teams to a maximum of 250 teams per organization. */ export const createOrgTeam: API.OperationMethod< CreateOrgTeamRequest, Team, CreateOrgTeamError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgTeamRequest, output: Team, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CreateOrgUserError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Add One MongoDB Cloud User to One Organization Invites one new or existing MongoDB Cloud user to join the organization. The invitation to join the organization will be sent to the username provided and must be accepted within 30 days. **Note**: If the user does not have an existing MongoDB Cloud account, they will be prompted to finish setting up an account upon accepting the invitation. If the user already has an account, they will still receive an invitation to access the organization. Replaces `INVITATION_EXPIRED` and `INVITATION_REJECTED` user with the same email. A conflict, if and only if, there is an existing `PENDING` or `ACTIVE` user. */ export const createOrgUser: API.OperationMethod< CreateOrgUserRequest, OrgUserResponse, CreateOrgUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateOrgUserRequest, output: OrgUserResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type CutoverGroupLiveMigrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Cut Over One Migrated Cluster Cut over the migrated cluster to MongoDB Atlas. Confirm when the cut over completes. When the cut over completes, MongoDB Atlas completes the live migration process and stops synchronizing with the source cluster. Your API Key must have the Organization Owner role to successfully call this resource. */ export const cutoverGroupLiveMigration: API.OperationMethod< CutoverGroupLiveMigrationRequest, CutoverGroupLiveMigrationResponse, CutoverGroupLiveMigrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: CutoverGroupLiveMigrationRequest, output: CutoverGroupLiveMigrationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeauthorizeGroupCloudProviderAccessRoleError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Deauthorize One Cloud Provider Access Role Revokes access to the specified project for the specified access role. */ export const deauthorizeGroupCloudProviderAccessRole: API.OperationMethod< DeauthorizeGroupCloudProviderAccessRoleRequest, DeauthorizeGroupCloudProviderAccessRoleResponse, DeauthorizeGroupCloudProviderAccessRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeauthorizeGroupCloudProviderAccessRoleRequest, output: DeauthorizeGroupCloudProviderAccessRoleResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeferGroupMaintenanceWindowError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Defer One Maintenance Window for One Project Defers the maintenance window for the specified project. Urgent maintenance activities such as security patches can't wait for your chosen window. MongoDB Cloud starts those maintenance activities when needed. After you schedule maintenance for your cluster, you can't change your maintenance window until the current maintenance efforts complete. The maintenance procedure that MongoDB Cloud performs requires at least one replica set election during the maintenance window per replica set. Maintenance always begins as close to the scheduled hour as possible, but in-progress cluster updates or unexpected system issues could delay the start time. You can only defer maintenance within a limited time window before the scheduled maintenance starts; deferral requests made outside of this window return an error. */ export const deferGroupMaintenanceWindow: API.OperationMethod< DeferGroupMaintenanceWindowRequest, DeferGroupMaintenanceWindowResponse, DeferGroupMaintenanceWindowError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeferGroupMaintenanceWindowRequest, output: DeferGroupMaintenanceWindowResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteFederationSettingError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Federation Settings Instance Deletes the federation settings instance and all associated data, including identity providers and domains. To use this resource, the requesting Service Account or API Key must have the Organization Owner role in the last remaining connected organization. **Note**: requests to this resource will fail if there is more than one connected organization in the federation. */ export const deleteFederationSetting: API.OperationMethod< DeleteFederationSettingRequest, DeleteFederationSettingResponse, DeleteFederationSettingError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteFederationSettingRequest, output: DeleteFederationSettingResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteFederationSettingConnectedOrgConfigRoleMappingError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Role Mapping from One Organization Removes one role mapping in the specified organization from the specified federation. */ export const deleteFederationSettingConnectedOrgConfigRoleMapping: API.OperationMethod< DeleteFederationSettingConnectedOrgConfigRoleMappingRequest, DeleteFederationSettingConnectedOrgConfigRoleMappingResponse, DeleteFederationSettingConnectedOrgConfigRoleMappingError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteFederationSettingConnectedOrgConfigRoleMappingRequest, output: DeleteFederationSettingConnectedOrgConfigRoleMappingResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteFederationSettingIdentityProviderError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Identity Provider Deletes one identity provider in the specified federation. To use this resource, the requesting Service Account or API Key must have the Organization Owner role for the connected organization. **Note**: Requests to this resource will fail if the identity provider is connected to more than one organization or is connected to an organization unowned by the requesting Service Account or API key. Before deleting an identity provider, confirm that no organization in your federation uses this identity provider. */ export const deleteFederationSettingIdentityProvider: API.OperationMethod< DeleteFederationSettingIdentityProviderRequest, DeleteFederationSettingIdentityProviderResponse, DeleteFederationSettingIdentityProviderError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteFederationSettingIdentityProviderRequest, output: DeleteFederationSettingIdentityProviderResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Remove One Project Removes the specified project. Projects group clusters into logical collections that support an application environment, workload, or both. Each project can have its own users, teams, security, tags, and alert settings. You can delete a project only if there are no Online Archives for the clusters in the project. */ export const deleteGroup: API.OperationMethod< DeleteGroupRequest, DeleteGroupResponse, DeleteGroupError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupRequest, output: DeleteGroupResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupAccessListEntryError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Entry from One Project IP Access List Removes one access list entry from the specified project's IP access list. Each entry in the project's IP access list contains one IP address, one CIDR-notated block of IP addresses, or one AWS Security Group ID. MongoDB Cloud only allows client connections to the cluster from entries in the project's IP access list. This resource replaces the whitelist resource. MongoDB Cloud removed whitelists in July 2021. Update your applications to use this new resource. The `/groups/{GROUP-ID}/accessList` endpoint manages the database IP access list. This endpoint is distinct from the `orgs/{ORG-ID}/apiKeys/{API-KEY-ID}/accesslist` endpoint, which manages the access list for MongoDB Cloud organizations. */ export const deleteGroupAccessListEntry: API.OperationMethod< DeleteGroupAccessListEntryRequest, DeleteGroupAccessListEntryResponse, DeleteGroupAccessListEntryError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupAccessListEntryRequest, output: DeleteGroupAccessListEntryResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupAiModelApiKeyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Delete Existing AI Model API Key Delete an existing AI model API key in the given group. */ export const deleteGroupAiModelApiKey: API.OperationMethod< DeleteGroupAiModelApiKeyRequest, DeleteGroupAiModelApiKeyResponse, DeleteGroupAiModelApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupAiModelApiKeyRequest, output: DeleteGroupAiModelApiKeyResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupAlertConfigError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Alert Configuration from One Project Removes one alert configuration from the specified project. Use the Return All Alert Configurations for One Project endpoint to retrieve all alert configurations to which the authenticated user has access. This resource remains under revision and may change. */ export const deleteGroupAlertConfig: API.OperationMethod< DeleteGroupAlertConfigRequest, DeleteGroupAlertConfigResponse, DeleteGroupAlertConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupAlertConfigRequest, output: DeleteGroupAlertConfigResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupBackupExportBucketError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Snapshot Export Bucket Deletes an Export Bucket. Auto export must be disabled on all clusters in this Project exporting to this Export Bucket before revoking access. */ export const deleteGroupBackupExportBucket: API.OperationMethod< DeleteGroupBackupExportBucketRequest, DeleteGroupBackupExportBucketResponse, DeleteGroupBackupExportBucketError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupBackupExportBucketRequest, output: DeleteGroupBackupExportBucketResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupBackupPrivateEndpointError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider from One Project Deletes one private endpoint, identified by its ID, for object storage backup operations. */ export const deleteGroupBackupPrivateEndpoint: API.OperationMethod< DeleteGroupBackupPrivateEndpointRequest, DeleteGroupBackupPrivateEndpointResponse, DeleteGroupBackupPrivateEndpointError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupBackupPrivateEndpointRequest, output: DeleteGroupBackupPrivateEndpointResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Remove One Cluster from One Project Removes one cluster from the specified project. The cluster must have termination protection disabled in order to be deleted. This feature is not available for serverless clusters. This endpoint can also be used on Flex clusters that were created using the [Create Cluster](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Clusters/operation/createCluster) endpoint or former M2/M5 clusters that have been migrated to Flex clusters until January 2026. Please use the Delete Flex Cluster endpoint for Flex clusters instead. Deprecated versions: v2-{2023-01-01} */ export const deleteGroupCluster: API.OperationMethod< DeleteGroupClusterRequest, DeleteGroupClusterResponse, DeleteGroupClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterRequest, output: DeleteGroupClusterResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterBackupScheduleError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove All Cloud Backup Schedules Removes all cloud backup schedules for the specified cluster. This schedule defines when MongoDB Cloud takes scheduled snapshots and how long it stores those snapshots. Deprecated versions: v2-{2023-01-01} */ export const deleteGroupClusterBackupSchedule: API.OperationMethod< DeleteGroupClusterBackupScheduleRequest, DiskBackupSnapshotSchedule20240805Output, DeleteGroupClusterBackupScheduleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterBackupScheduleRequest, output: DiskBackupSnapshotSchedule20240805Output, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterBackupSnapshotError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Replica Set Cloud Backup Removes the specified snapshot. */ export const deleteGroupClusterBackupSnapshot: API.OperationMethod< DeleteGroupClusterBackupSnapshotRequest, DeleteGroupClusterBackupSnapshotResponse, DeleteGroupClusterBackupSnapshotError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterBackupSnapshotRequest, output: DeleteGroupClusterBackupSnapshotResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterBackupSnapshotShardedClusterError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Sharded Cluster Cloud Backup Removes one snapshot of one sharded cluster from the specified project. */ export const deleteGroupClusterBackupSnapshotShardedCluster: API.OperationMethod< DeleteGroupClusterBackupSnapshotShardedClusterRequest, DeleteGroupClusterBackupSnapshotShardedClusterResponse, DeleteGroupClusterBackupSnapshotShardedClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterBackupSnapshotShardedClusterRequest, output: DeleteGroupClusterBackupSnapshotShardedClusterResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterGlobalWriteCustomZoneMappingError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove All Custom Zone Mappings from One Global Cluster Removes all custom zone mappings for the specified global cluster. A custom zone mapping matches one ISO 3166-2 location code to a zone in your global cluster. Removing the custom zone mappings restores the default mapping. By default, MongoDB Cloud maps each location code to the closest geographical zone. Deprecated versions: v2-{2023-02-01}, v2-{2023-01-01} */ export const deleteGroupClusterGlobalWriteCustomZoneMapping: API.OperationMethod< DeleteGroupClusterGlobalWriteCustomZoneMappingRequest, GeoSharding20240805, DeleteGroupClusterGlobalWriteCustomZoneMappingError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterGlobalWriteCustomZoneMappingRequest, output: GeoSharding20240805, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterGlobalWriteManagedNamespacesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Managed Namespace from One Global Cluster Removes one managed namespace within the specified global cluster. A managed namespace identifies a collection using the database name, the dot separator, and the collection name. Deleting a managed namespace does not remove the associated collection or data. Deprecated versions: v2-{2023-02-01}, v2-{2023-01-01} */ export const deleteGroupClusterGlobalWriteManagedNamespaces: API.OperationMethod< DeleteGroupClusterGlobalWriteManagedNamespacesRequest, GeoSharding20240805, DeleteGroupClusterGlobalWriteManagedNamespacesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterGlobalWriteManagedNamespacesRequest, output: GeoSharding20240805, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterOnlineArchiveError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Online Archive Removes one online archive. This archive stores data from one cluster within one project. */ export const deleteGroupClusterOnlineArchive: API.OperationMethod< DeleteGroupClusterOnlineArchiveRequest, DeleteGroupClusterOnlineArchiveResponse, DeleteGroupClusterOnlineArchiveError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterOnlineArchiveRequest, output: DeleteGroupClusterOnlineArchiveResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterOverloadSimulationError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Delete One Overload Protection Simulation Deletes the overload protection simulation for one cluster. */ export const deleteGroupClusterOverloadSimulation: API.OperationMethod< DeleteGroupClusterOverloadSimulationRequest, DeleteGroupClusterOverloadSimulationResponse, DeleteGroupClusterOverloadSimulationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterOverloadSimulationRequest, output: DeleteGroupClusterOverloadSimulationResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterSearchDeploymentError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Delete Search Nodes Deletes the Search Nodes for the specified cluster. */ export const deleteGroupClusterSearchDeployment: API.OperationMethod< DeleteGroupClusterSearchDeploymentRequest, DeleteGroupClusterSearchDeploymentResponse, DeleteGroupClusterSearchDeploymentError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterSearchDeploymentRequest, output: DeleteGroupClusterSearchDeploymentResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterSearchIndexError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Atlas Search Index by ID Removes one Atlas Search index that you identified with its unique ID. This deletion is eventually consistent. */ export const deleteGroupClusterSearchIndex: API.OperationMethod< DeleteGroupClusterSearchIndexRequest, DeleteGroupClusterSearchIndexResponse, DeleteGroupClusterSearchIndexError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterSearchIndexRequest, output: DeleteGroupClusterSearchIndexResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupClusterSearchIndexByNameError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Atlas Search Index by Name Removes one Atlas Search index that you identified with its database, collection, and name. This deletion is eventually consistent. */ export const deleteGroupClusterSearchIndexByName: API.OperationMethod< DeleteGroupClusterSearchIndexByNameRequest, DeleteGroupClusterSearchIndexByNameResponse, DeleteGroupClusterSearchIndexByNameError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupClusterSearchIndexByNameRequest, output: DeleteGroupClusterSearchIndexByNameResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupContainerError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Remove One Network Peering Container Removes one network peering container in the specified project. */ export const deleteGroupContainer: API.OperationMethod< DeleteGroupContainerRequest, DeleteGroupContainerResponse, DeleteGroupContainerError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupContainerRequest, output: DeleteGroupContainerResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupCustomDbRoleRoleError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Remove One Custom Role from One Project Removes one custom role from the specified project. You can't remove a custom role that would leave one or more child roles with no parent roles or actions. You also can't remove a custom role that would leave one or more database users without roles. */ export const deleteGroupCustomDbRoleRole: API.OperationMethod< DeleteGroupCustomDbRoleRoleRequest, DeleteGroupCustomDbRoleRoleResponse, DeleteGroupCustomDbRoleRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupCustomDbRoleRoleRequest, output: DeleteGroupCustomDbRoleRoleResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupDatabaseUserError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Database User from One Project Removes one database user from the specified project. */ export const deleteGroupDatabaseUser: API.OperationMethod< DeleteGroupDatabaseUserRequest, DeleteGroupDatabaseUserResponse, DeleteGroupDatabaseUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupDatabaseUserRequest, output: DeleteGroupDatabaseUserResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupDataFederationError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Federated Database Instance from One Project Removes one federated database instance from the specified project. */ export const deleteGroupDataFederation: API.OperationMethod< DeleteGroupDataFederationRequest, DeleteGroupDataFederationResponse, DeleteGroupDataFederationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupDataFederationRequest, output: DeleteGroupDataFederationResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupDataFederationLimitError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Query Limit for One Federated Database Instance Deletes one query limit for one federated database instance. */ export const deleteGroupDataFederationLimit: API.OperationMethod< DeleteGroupDataFederationLimitRequest, DeleteGroupDataFederationLimitResponse, DeleteGroupDataFederationLimitError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupDataFederationLimitRequest, output: DeleteGroupDataFederationLimitResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupFlexClusterError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Remove One Flex Cluster from One Project Removes one flex cluster from the specified project. The flex cluster must have termination protection disabled in order to be deleted. */ export const deleteGroupFlexCluster: API.OperationMethod< DeleteGroupFlexClusterRequest, DeleteGroupFlexClusterResponse, DeleteGroupFlexClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupFlexClusterRequest, output: DeleteGroupFlexClusterResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Third-Party Service Integration Removes the settings that permit configuring one third-party service integration. These settings apply to all databases managed in one MongoDB Cloud project. If you delete an integration from a project, you remove that integration configuration only for that project. This action doesn't affect any other project or organization's configured `{INTEGRATION-TYPE}` integrations. */ export const deleteGroupIntegration: API.OperationMethod< DeleteGroupIntegrationRequest, DeleteGroupIntegrationResponse, DeleteGroupIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupIntegrationRequest, output: DeleteGroupIntegrationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupLimitError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Remove One Project Limit Removes the specified project limit. Depending on the limit, Atlas either resets the limit to its default value or removes the limit entirely. */ export const deleteGroupLimit: API.OperationMethod< DeleteGroupLimitRequest, DeleteGroupLimitResponse, DeleteGroupLimitError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupLimitRequest, output: DeleteGroupLimitResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupLogIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Log Integration Removes the configuration for one log integration identified by its unique ID. */ export const deleteGroupLogIntegration: API.OperationMethod< DeleteGroupLogIntegrationRequest, DeleteGroupLogIntegrationResponse, DeleteGroupLogIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupLogIntegrationRequest, output: DeleteGroupLogIntegrationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupMcpConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One MCP Configuration for One Project Deletes the MCP configuration with the specified ID for the specified project. */ export const deleteGroupMcpConfig: API.OperationMethod< DeleteGroupMcpConfigRequest, DeleteGroupMcpConfigResponse, DeleteGroupMcpConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupMcpConfigRequest, output: DeleteGroupMcpConfigResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupMcpConfigSecretError = | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Delete One Secret for One Project MCP Configuration Deletes the specified secret from the ingress service account of the specified project-level MCP configuration. */ export const deleteGroupMcpConfigSecret: API.OperationMethod< DeleteGroupMcpConfigSecretRequest, DeleteGroupMcpConfigSecretResponse, DeleteGroupMcpConfigSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupMcpConfigSecretRequest, output: DeleteGroupMcpConfigSecretResponse, errors: [Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupMetricIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Metric Integration Removes the configuration for one metric integration identified by its unique ID. */ export const deleteGroupMetricIntegration: API.OperationMethod< DeleteGroupMetricIntegrationRequest, DeleteGroupMetricIntegrationResponse, DeleteGroupMetricIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupMetricIntegrationRequest, output: DeleteGroupMetricIntegrationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupPeerError = | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Remove One Network Peering Connection Removes one network peering connection in the specified project. If you remove the last network peering connection associated with a project, MongoDB Cloud also removes any AWS security groups from the project IP access list. */ export const deleteGroupPeer: API.OperationMethod< DeleteGroupPeerRequest, DeleteGroupPeerResponse, DeleteGroupPeerError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupPeerRequest, output: DeleteGroupPeerResponse, errors: [Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupPrivateEndpointEndpointServiceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Private Endpoint Service for One Provider Removes one private endpoint service from the specified project. This cloud service provider manages the private endpoint service that belongs to the project. */ export const deleteGroupPrivateEndpointEndpointService: API.OperationMethod< DeleteGroupPrivateEndpointEndpointServiceRequest, DeleteGroupPrivateEndpointEndpointServiceResponse, DeleteGroupPrivateEndpointEndpointServiceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupPrivateEndpointEndpointServiceRequest, output: DeleteGroupPrivateEndpointEndpointServiceResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupPrivateEndpointEndpointServiceEndpointError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Private Endpoint for One Provider Removes one private endpoint from the specified project and private endpoint service, as managed by the specified cloud service provider. When the last private endpoint is removed from a given private endpoint service, that private endpoint service is also removed. */ export const deleteGroupPrivateEndpointEndpointServiceEndpoint: API.OperationMethod< DeleteGroupPrivateEndpointEndpointServiceEndpointRequest, DeleteGroupPrivateEndpointEndpointServiceEndpointResponse, DeleteGroupPrivateEndpointEndpointServiceEndpointError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupPrivateEndpointEndpointServiceEndpointRequest, output: DeleteGroupPrivateEndpointEndpointServiceEndpointResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupPrivateNetworkSettingEndpointIdError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Federated Database Instance and Online Archive Private Endpoint from One Project Removes one private endpoint for Federated Database Instances and Online Archives in the specified project. */ export const deleteGroupPrivateNetworkSettingEndpointId: API.OperationMethod< DeleteGroupPrivateNetworkSettingEndpointIdRequest, DeleteGroupPrivateNetworkSettingEndpointIdResponse, DeleteGroupPrivateNetworkSettingEndpointIdError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupPrivateNetworkSettingEndpointIdRequest, output: DeleteGroupPrivateNetworkSettingEndpointIdResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupServiceAccountError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Project Service Account Removes the specified Service Account from the specified project. The Service Account will still be a part of the Organization it was created in, and the credentials will remain active until expired or manually revoked. */ export const deleteGroupServiceAccount: API.OperationMethod< DeleteGroupServiceAccountRequest, DeleteGroupServiceAccountResponse, DeleteGroupServiceAccountError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupServiceAccountRequest, output: DeleteGroupServiceAccountResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupServiceAccountAccessListEntryError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Access List Entry from One Project Service Account Removes the specified access list entry from the specified Service Account for the project. You can't remove the requesting IP address from the access list. */ export const deleteGroupServiceAccountAccessListEntry: API.OperationMethod< DeleteGroupServiceAccountAccessListEntryRequest, DeleteGroupServiceAccountAccessListEntryResponse, DeleteGroupServiceAccountAccessListEntryError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupServiceAccountAccessListEntryRequest, output: DeleteGroupServiceAccountAccessListEntryResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupServiceAccountSecretError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Project Service Account Secret Deletes the specified Service Account secret. */ export const deleteGroupServiceAccountSecret: API.OperationMethod< DeleteGroupServiceAccountSecretRequest, DeleteGroupServiceAccountSecretResponse, DeleteGroupServiceAccountSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupServiceAccountSecretRequest, output: DeleteGroupServiceAccountSecretResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupStreamConnectionError = | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Delete One Stream Connection Delete one connection of the specified stream workspace. */ export const deleteGroupStreamConnection: API.OperationMethod< DeleteGroupStreamConnectionRequest, DeleteGroupStreamConnectionResponse, DeleteGroupStreamConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupStreamConnectionRequest, output: DeleteGroupStreamConnectionResponse, errors: [Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupStreamConnectionFailoverConnectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Stream Failover Connection Delete one failover connection of the specified stream workspace. */ export const deleteGroupStreamConnectionFailoverConnection: API.OperationMethod< DeleteGroupStreamConnectionFailoverConnectionRequest, DeleteGroupStreamConnectionFailoverConnectionResponse, DeleteGroupStreamConnectionFailoverConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupStreamConnectionFailoverConnectionRequest, output: DeleteGroupStreamConnectionFailoverConnectionResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupStreamPrivateLinkConnectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Private Link Connection Deletes one Private Link in the specified project. */ export const deleteGroupStreamPrivateLinkConnection: API.OperationMethod< DeleteGroupStreamPrivateLinkConnectionRequest, DeleteGroupStreamPrivateLinkConnectionResponse, DeleteGroupStreamPrivateLinkConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupStreamPrivateLinkConnectionRequest, output: DeleteGroupStreamPrivateLinkConnectionResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupStreamProcessorError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Stream Processor Delete a Stream Processor within the specified stream workspace. */ export const deleteGroupStreamProcessor: API.OperationMethod< DeleteGroupStreamProcessorRequest, DeleteGroupStreamProcessorResponse, DeleteGroupStreamProcessorError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupStreamProcessorRequest, output: DeleteGroupStreamProcessorResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupStreamVpcPeeringConnectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One VPC Peering Connection Deletes an incoming VPC Peering connection. */ export const deleteGroupStreamVpcPeeringConnection: API.OperationMethod< DeleteGroupStreamVpcPeeringConnectionRequest, DeleteGroupStreamVpcPeeringConnectionResponse, DeleteGroupStreamVpcPeeringConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupStreamVpcPeeringConnectionRequest, output: DeleteGroupStreamVpcPeeringConnectionResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupStreamWorkspaceError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Stream Workspace Delete one stream workspace in the specified project. */ export const deleteGroupStreamWorkspace: API.OperationMethod< DeleteGroupStreamWorkspaceRequest, DeleteGroupStreamWorkspaceResponse, DeleteGroupStreamWorkspaceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupStreamWorkspaceRequest, output: DeleteGroupStreamWorkspaceResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteGroupUserSecurityLdapUserToDnMappingError = | Forbidden | NotFound | MongodbAtlasOpError; /** Remove LDAP User to DN Mapping Removes the current LDAP Distinguished Name mapping captured in the ``userToDNMapping`` document from the LDAP configuration for the specified project. */ export const deleteGroupUserSecurityLdapUserToDnMapping: API.OperationMethod< DeleteGroupUserSecurityLdapUserToDnMappingRequest, DeleteGroupUserSecurityLdapUserToDnMappingResponse, DeleteGroupUserSecurityLdapUserToDnMappingError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteGroupUserSecurityLdapUserToDnMappingRequest, output: DeleteGroupUserSecurityLdapUserToDnMappingResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgError = | BadRequest | PaymentRequired | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Remove One Organization Removes one specified organization. MongoDB Cloud imposes the following limits on this resource: - Organizations with active projects cannot be removed. - All projects in the organization must be removed before you can remove the organization. */ export const deleteOrg: API.OperationMethod< DeleteOrgRequest, DeleteOrgResponse, DeleteOrgError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgRequest, output: DeleteOrgResponse, errors: [ BadRequest, PaymentRequired, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError, ], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgApiKeyError = Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Organization API Key Removes one organization API key from the specified organization. When you remove an API key from an organization, MongoDB Cloud also removes that key from any projects that use that key. */ export const deleteOrgApiKey: API.OperationMethod< DeleteOrgApiKeyRequest, DeleteOrgApiKeyResponse, DeleteOrgApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgApiKeyRequest, output: DeleteOrgApiKeyResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgApiKeyAccessListEntryError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Access List Entry for One Organization API Key Removes the specified access list entry from the specified organization API key. Resources require all API requests originate from the IP addresses on the API access list. In addition, you cannot remove the requesting IP address from the requesting organization API key. */ export const deleteOrgApiKeyAccessListEntry: API.OperationMethod< DeleteOrgApiKeyAccessListEntryRequest, DeleteOrgApiKeyAccessListEntryResponse, DeleteOrgApiKeyAccessListEntryError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgApiKeyAccessListEntryRequest, output: DeleteOrgApiKeyAccessListEntryResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgLiveMigrationLinkTokensError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Link-Token Remove one organization link and its associated public API key. MongoDB Atlas uses the link-token for push live migrations only. Live migrations (push) let you securely push data from Cloud Manager or Ops Manager into MongoDB Atlas. Your API Key must have the Organization Owner role to successfully call this resource. */ export const deleteOrgLiveMigrationLinkTokens: API.OperationMethod< DeleteOrgLiveMigrationLinkTokensRequest, DeleteOrgLiveMigrationLinkTokensResponse, DeleteOrgLiveMigrationLinkTokensError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgLiveMigrationLinkTokensRequest, output: DeleteOrgLiveMigrationLinkTokensResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgMcpConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One MCP Configuration for One Organization Deletes the MCP configuration with the specified ID for the specified organization. */ export const deleteOrgMcpConfig: API.OperationMethod< DeleteOrgMcpConfigRequest, DeleteOrgMcpConfigResponse, DeleteOrgMcpConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgMcpConfigRequest, output: DeleteOrgMcpConfigResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgMcpConfigSecretError = | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Delete One Secret for One Organization MCP Configuration Deletes the specified secret from the ingress service account of the specified organization-level MCP configuration. */ export const deleteOrgMcpConfigSecret: API.OperationMethod< DeleteOrgMcpConfigSecretRequest, DeleteOrgMcpConfigSecretResponse, DeleteOrgMcpConfigSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgMcpConfigSecretRequest, output: DeleteOrgMcpConfigSecretResponse, errors: [Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgResourcePolicyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Atlas Resource Policy Delete one Atlas Resource Policy for an organization. */ export const deleteOrgResourcePolicy: API.OperationMethod< DeleteOrgResourcePolicyRequest, DeleteOrgResourcePolicyResponse, DeleteOrgResourcePolicyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgResourcePolicyRequest, output: DeleteOrgResourcePolicyResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgServiceAccountError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Organization Service Account Deletes the specified Service Account. */ export const deleteOrgServiceAccount: API.OperationMethod< DeleteOrgServiceAccountRequest, DeleteOrgServiceAccountResponse, DeleteOrgServiceAccountError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgServiceAccountRequest, output: DeleteOrgServiceAccountResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgServiceAccountAccessListEntryError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Access List Entry from One Organization Service Account Removes the specified access list entry from the specified Service Account for the organization. You can't remove the requesting IP address from the access list. */ export const deleteOrgServiceAccountAccessListEntry: API.OperationMethod< DeleteOrgServiceAccountAccessListEntryRequest, DeleteOrgServiceAccountAccessListEntryResponse, DeleteOrgServiceAccountAccessListEntryError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgServiceAccountAccessListEntryRequest, output: DeleteOrgServiceAccountAccessListEntryResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgServiceAccountSecretError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Organization Service Account Secret Deletes the specified Service Account secret. */ export const deleteOrgServiceAccountSecret: API.OperationMethod< DeleteOrgServiceAccountSecretRequest, DeleteOrgServiceAccountSecretResponse, DeleteOrgServiceAccountSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgServiceAccountSecretRequest, output: DeleteOrgServiceAccountSecretResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DeleteOrgTeamError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Team from One Organization Removes one team specified using its unique 24-hexadecimal digit identifier from the organization specified using its unique 24-hexadecimal digit identifier. */ export const deleteOrgTeam: API.OperationMethod< DeleteOrgTeamRequest, DeleteOrgTeamResponse, DeleteOrgTeamError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteOrgTeamRequest, output: DeleteOrgTeamResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DisableGroupBackupCompliancePolicyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Disable Backup Compliance Policy Settings Disables the Backup Compliance Policy settings with the specified project. As a prerequisite, a support ticket needs to be file first, instructions in https://www.mongodb.com/docs/atlas/backup/cloud-backup/backup-compliance-policy/. */ export const disableGroupBackupCompliancePolicy: API.OperationMethod< DisableGroupBackupCompliancePolicyRequest, DisableGroupBackupCompliancePolicyResponse, DisableGroupBackupCompliancePolicyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DisableGroupBackupCompliancePolicyRequest, output: DisableGroupBackupCompliancePolicyResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DisableGroupManagedSlowMsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Disable Managed Slow Operation Threshold Disables the slow operation threshold that MongoDB Cloud calculated for the specified project. The threshold determines which operations the Performance Advisor and Query Profiler considers slow. When enabled, MongoDB Cloud uses the average execution time for operations on your cluster to determine slow-running queries. As a result, the threshold is more pertinent to your cluster workload. The slow operation threshold is enabled by default for dedicated clusters (M10+). When disabled, MongoDB Cloud considers any operation that takes longer than 100 milliseconds to be slow. */ export const disableGroupManagedSlowMs: API.OperationMethod< DisableGroupManagedSlowMsRequest, DisableGroupManagedSlowMsResponse, DisableGroupManagedSlowMsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DisableGroupManagedSlowMsRequest, output: DisableGroupManagedSlowMsResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DisableGroupUserSecurityCustomerX509Error = | Forbidden | NotFound | MongodbAtlasOpError; /** Disable Customer-Managed X.509 Clears the customer-managed X.509 settings on a project, including the uploaded Certificate Authority, which disables self-managed X.509. Updating this configuration triggers a rolling restart of the database. You must have the Project Owner role to use this endpoint. */ export const disableGroupUserSecurityCustomerX509: API.OperationMethod< DisableGroupUserSecurityCustomerX509Request, DisableGroupUserSecurityCustomerX509Response, DisableGroupUserSecurityCustomerX509Error, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DisableGroupUserSecurityCustomerX509Request, output: DisableGroupUserSecurityCustomerX509Response, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DownloadGroupClusterLogError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Download Logs for One Cluster Host in One Project Returns a compressed (.gz) log file that contains a range of log messages for the specified host for the specified project. MongoDB updates process and audit logs from the cluster backend infrastructure every five minutes. Logs are stored in chunks approximately five minutes in length, but this duration may vary. If you poll the API for log files, we recommend polling every five minutes even though consecutive polls could contain some overlapping logs. This feature isn't available for `M0` free clusters, `M2`, `M5`, flex, or serverless clusters. The API does not support direct calls with the json response schema. You must request a gzip response schema using an accept header of the format: `Accept: application/vnd.atlas.YYYY-MM-DD+gzip`. Deprecated versions: v2-{2023-01-01} */ export const downloadGroupClusterLog: API.OperationMethod< DownloadGroupClusterLogRequest, DownloadGroupClusterLogResponse, DownloadGroupClusterLogError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DownloadGroupClusterLogRequest, output: DownloadGroupClusterLogResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DownloadGroupClusterOnlineArchiveQueryLogsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Download Online Archive Query Logs Downloads query logs for the specified online archive. The API does not support direct calls with the json response schema. You must request a gzip response schema using an accept header of the format: `Accept: application/vnd.atlas.YYYY-MM-DD+gzip`. */ export const downloadGroupClusterOnlineArchiveQueryLogs: API.OperationMethod< DownloadGroupClusterOnlineArchiveQueryLogsRequest, DownloadGroupClusterOnlineArchiveQueryLogsResponse, DownloadGroupClusterOnlineArchiveQueryLogsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DownloadGroupClusterOnlineArchiveQueryLogsRequest, output: DownloadGroupClusterOnlineArchiveQueryLogsResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DownloadGroupDataFederationQueryLogsError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Download Query Logs for One Federated Database Instance Downloads the query logs for the specified federated database instance. The API does not support direct calls with the json response schema. You must request a gzip response schema using an accept header of the format: `Accept: application/vnd.atlas.YYYY-MM-DD+gzip`. */ export const downloadGroupDataFederationQueryLogs: API.OperationMethod< DownloadGroupDataFederationQueryLogsRequest, DownloadGroupDataFederationQueryLogsResponse, DownloadGroupDataFederationQueryLogsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DownloadGroupDataFederationQueryLogsRequest, output: DownloadGroupDataFederationQueryLogsResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DownloadGroupFlexClusterBackupError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Download One Flex Cluster Snapshot Requests one snapshot for the specified flex cluster. This resource returns a `snapshotURL` that you can use to download the snapshot. This `snapshotURL` remains active for four hours after you make the request. */ export const downloadGroupFlexClusterBackup: API.OperationMethod< DownloadGroupFlexClusterBackupRequest, FlexBackupRestoreJob20241113, DownloadGroupFlexClusterBackupError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DownloadGroupFlexClusterBackupRequest, output: FlexBackupRestoreJob20241113, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DownloadGroupStreamAuditLogsError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Download Audit Logs for One Atlas Stream Processing Workspace Downloads the audit logs for the specified Atlas Streams Processing workspace or stream processor. By default, logs cover periods of 30 days. The API does not support direct calls with the json response schema. You must request a gzip response schema using an accept header of the format: `Accept: application/vnd.atlas.YYYY-MM-DD+gzip`. */ export const downloadGroupStreamAuditLogs: API.OperationMethod< DownloadGroupStreamAuditLogsRequest, DownloadGroupStreamAuditLogsResponse, DownloadGroupStreamAuditLogsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DownloadGroupStreamAuditLogsRequest, output: DownloadGroupStreamAuditLogsResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type DownloadGroupStreamOperationalLogsError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Download Operational Logs for One Atlas Stream Processing Workspace Downloads the operational logs for the specified Atlas Streams Processing workspace or stream processor. By default, logs cover periods of 30 days. The API does not support direct calls with the json response schema. You must request a gzip response schema using an accept header of the format: "Accept: application/vnd.atlas.2025-03-12+gzip". */ export const downloadGroupStreamOperationalLogs: API.OperationMethod< DownloadGroupStreamOperationalLogsRequest, DownloadGroupStreamOperationalLogsResponse, DownloadGroupStreamOperationalLogsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: DownloadGroupStreamOperationalLogsRequest, output: DownloadGroupStreamOperationalLogsResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type EnableGroupManagedSlowMsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Enable Managed Slow Operation Threshold Enables MongoDB Cloud to use its slow operation threshold for the specified project. The threshold determines which operations the Performance Advisor and Query Profiler considers slow. When enabled, MongoDB Cloud uses the average execution time for operations on your cluster to determine slow-running queries. As a result, the threshold is more pertinent to your cluster workload. The slow operation threshold is enabled by default for dedicated clusters (M10+). When disabled, MongoDB Cloud considers any operation that takes longer than 100 milliseconds to be slow. */ export const enableGroupManagedSlowMs: API.OperationMethod< EnableGroupManagedSlowMsRequest, EnableGroupManagedSlowMsResponse, EnableGroupManagedSlowMsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: EnableGroupManagedSlowMsRequest, output: EnableGroupManagedSlowMsResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type EndGroupClusterOutageSimulationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** End One Outage Simulation Ends a cluster outage simulation. */ export const endGroupClusterOutageSimulation: API.OperationMethod< EndGroupClusterOutageSimulationRequest, ClusterOutageSimulation, EndGroupClusterOutageSimulationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: EndGroupClusterOutageSimulationRequest, output: ClusterOutageSimulation, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetFederationSettingConnectedOrgConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Organization Configuration from One Federation Returns the specified connected organization configuration from the specified federation. To use this resource, the requesting Service Account or API Key must have the Organization Owner role in the connected organization. */ export const getFederationSettingConnectedOrgConfig: API.OperationMethod< GetFederationSettingConnectedOrgConfigRequest, ConnectedOrgConfig, GetFederationSettingConnectedOrgConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetFederationSettingConnectedOrgConfigRequest, output: ConnectedOrgConfig, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetFederationSettingConnectedOrgConfigRoleMappingError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Role Mapping from One Organization Returns one role mapping from the specified organization in the specified federation. */ export const getFederationSettingConnectedOrgConfigRoleMapping: API.OperationMethod< GetFederationSettingConnectedOrgConfigRoleMappingRequest, AuthFederationRoleMapping, GetFederationSettingConnectedOrgConfigRoleMappingError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetFederationSettingConnectedOrgConfigRoleMappingRequest, output: AuthFederationRoleMapping, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetFederationSettingIdentityProviderError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Identity Provider by ID Returns one identity provider in the specified federation by the identity provider's id. To use this resource, the requesting Service Account or API Key must have the Organization Owner role in one of the connected organizations. Deprecated versions: v2-{2023-01-01} */ export const getFederationSettingIdentityProvider: API.OperationMethod< GetFederationSettingIdentityProviderRequest, FederationIdentityProvider, GetFederationSettingIdentityProviderError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetFederationSettingIdentityProviderRequest, output: FederationIdentityProvider, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetFederationSettingIdentityProviderMetadataError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Metadata of One Identity Provider Returns the metadata of one identity provider in the specified federation. To use this resource, the requesting Service Account or API Key must have the Organization Owner role in one of the connected organizations. */ export const getFederationSettingIdentityProviderMetadata: API.OperationMethod< GetFederationSettingIdentityProviderMetadataRequest, GetFederationSettingIdentityProviderMetadataResponse, GetFederationSettingIdentityProviderMetadataError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetFederationSettingIdentityProviderMetadataRequest, output: GetFederationSettingIdentityProviderMetadataResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Project Returns details about the specified project. Projects group clusters into logical collections that support an application environment, workload, or both. Each project can have its own users, teams, security, tags, and alert settings. */ export const getGroup: API.OperationMethod< GetGroupRequest, Group, GetGroupError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupRequest, output: Group, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAccessListEntryError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Project IP Access List Entry Returns one access list entry from the specified project's IP access list. Each entry in the project's IP access list contains either one IP address or one CIDR-notated block of IP addresses. MongoDB Cloud only allows client connections to the cluster from entries in the project's IP access list. This resource replaces the whitelist resource. MongoDB Cloud removed whitelists in July 2021. Update your applications to use this new resource. This endpoint (`/groups/{GROUP-ID}/accessList`) manages the Project IP Access List. It doesn't manage the access list for MongoDB Cloud organizations. The Programmatic API Keys endpoint (`/orgs/{ORG-ID}/apiKeys/{API-KEY-ID}/accesslist`) manages those access lists. */ export const getGroupAccessListEntry: API.OperationMethod< GetGroupAccessListEntryRequest, NetworkPermissionEntry, GetGroupAccessListEntryError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAccessListEntryRequest, output: NetworkPermissionEntry, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAccessListStatusError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Status of One Project IP Access List Entry Returns the status of one project IP access list entry. This resource checks if the provided project IP access list entry applies to all cloud providers serving clusters from the specified project. */ export const getGroupAccessListStatus: API.OperationMethod< GetGroupAccessListStatusRequest, NetworkPermissionEntryStatus, GetGroupAccessListStatusError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAccessListStatusRequest, output: NetworkPermissionEntryStatus, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupActivityFeedError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Pre-Filtered Activity Feed Link for One Project Returns a pre-filtered activity feed link for the specified project based on the provided date range and event types. The returned link can be shared and opened to view the activity feed with the same filters applied. */ export const getGroupActivityFeed: API.OperationMethod< GetGroupActivityFeedRequest, ActivityFeedLinkResponse, GetGroupActivityFeedError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupActivityFeedRequest, output: ActivityFeedLinkResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Single AI Model Rate Limit for One Group Retrieve a single scoped AI model rate limit for the given group. */ export const getGroupAiModelApiCloudGeographyModelGroupNameRateLimits: API.OperationMethod< GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest, AiModelRateLimitResponse, GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest, output: AiModelRateLimitResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAiModelApiKeyError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Single AI Model API Key for One Group Retrieve a single AI model API key for the given group. */ export const getGroupAiModelApiKey: API.OperationMethod< GetGroupAiModelApiKeyRequest, AiModelApiKeyResponse, GetGroupAiModelApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAiModelApiKeyRequest, output: AiModelApiKeyResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAiModelApiRateLimitsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return AI Model Rate Limits for One Group Retrieve AI model rate limits for the given group. */ export const getGroupAiModelApiRateLimits: API.OperationMethod< GetGroupAiModelApiRateLimitsRequest, PaginatedAtlasAiModelRateLimitsResponse, GetGroupAiModelApiRateLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAiModelApiRateLimitsRequest, output: PaginatedAtlasAiModelRateLimitsResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAlertError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One Alert from One Project Returns one alert. This alert applies to any component in one project. You receive an alert when a monitored component meets or exceeds a value you set. Use the Return All Alerts from One Project endpoint to retrieve all alerts to which the authenticated user has access. This resource remains under revision and may change. */ export const getGroupAlert: API.OperationMethod< GetGroupAlertRequest, GetGroupAlertResponse, GetGroupAlertError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAlertRequest, output: GetGroupAlertResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAlertAlertConfigsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Alert Configurations Set for One Alert Returns all alert configurations set for the specified alert. Use the Return All Alerts from One Project endpoint to retrieve all alerts to which the authenticated user has access. This resource remains under revision and may change. */ export const getGroupAlertAlertConfigs: API.OperationMethod< GetGroupAlertAlertConfigsRequest, PaginatedAlertConfigView, GetGroupAlertAlertConfigsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAlertAlertConfigsRequest, output: PaginatedAlertConfigView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAlertConfigError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Alert Configuration from One Project Returns the specified alert configuration from the specified project. Use the Return All Alert Configurations for One Project endpoint to retrieve all alert configurations to which the authenticated user has access. This resource remains under revision and may change. */ export const getGroupAlertConfig: API.OperationMethod< GetGroupAlertConfigRequest, GetGroupAlertConfigResponse, GetGroupAlertConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAlertConfigRequest, output: GetGroupAlertConfigResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAlertConfigAlertsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Open Alerts for One Alert Configuration Returns all open alerts that the specified alert configuration triggers. These alert configurations apply to the specified project only. Alert configurations define the triggers and notification methods for alerts. Open alerts have been triggered but remain unacknowledged. Use the Return All Alert Configurations for One Project endpoint to retrieve all alert configurations to which the authenticated user has access. This resource remains under revision and may change. */ export const getGroupAlertConfigAlerts: API.OperationMethod< GetGroupAlertConfigAlertsRequest, PaginatedAlertView, GetGroupAlertConfigAlertsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAlertConfigAlertsRequest, output: PaginatedAlertView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAuditLogError = Forbidden | NotFound | MongodbAtlasOpError; /** Return Auditing Configuration for One Project Returns the auditing configuration for the specified project. The auditing configuration defines the events that MongoDB Cloud records in the audit log. This feature isn't available for `M0`, `M2`, `M5`, or serverless clusters. */ export const getGroupAuditLog: API.OperationMethod< GetGroupAuditLogRequest, AuditLog, GetGroupAuditLogError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAuditLogRequest, output: AuditLog, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupAwsCustomDnsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Custom DNS Configuration for Atlas Clusters on AWS Returns the custom DNS configuration for AWS clusters in the specified project. */ export const getGroupAwsCustomDns: API.OperationMethod< GetGroupAwsCustomDnsRequest, AWSCustomDNSEnabledView, GetGroupAwsCustomDnsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupAwsCustomDnsRequest, output: AWSCustomDNSEnabledView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupBackupCompliancePolicyError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Backup Compliance Policy Settings Returns the Backup Compliance Policy settings with the specified project. Deprecated versions: v2-{2023-01-01} */ export const getGroupBackupCompliancePolicy: API.OperationMethod< GetGroupBackupCompliancePolicyRequest, DataProtectionSettings20231001, GetGroupBackupCompliancePolicyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupBackupCompliancePolicyRequest, output: DataProtectionSettings20231001, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupBackupExportBucketError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Snapshot Export Bucket Returns one Export Bucket associated with the specified Project. Deprecated versions: v2-{2023-01-01} */ export const getGroupBackupExportBucket: API.OperationMethod< GetGroupBackupExportBucketRequest, DiskBackupSnapshotExportBucketResponse, GetGroupBackupExportBucketError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupBackupExportBucketRequest, output: DiskBackupSnapshotExportBucketResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupBackupPrivateEndpointError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project Returns one private endpoint, identified by its ID, for object storage backup operations. */ export const getGroupBackupPrivateEndpoint: API.OperationMethod< GetGroupBackupPrivateEndpointRequest, ObjectStoragePrivateEndpointResponse, GetGroupBackupPrivateEndpointError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupBackupPrivateEndpointRequest, output: ObjectStoragePrivateEndpointResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupByNameError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return One Project by Name Returns details about the specified project. Projects group clusters into logical collections that support an application environment, workload, or both. Each project can have its own users, teams, security, tags, and alert settings. */ export const getGroupByName: API.OperationMethod< GetGroupByNameRequest, Group, GetGroupByNameError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupByNameRequest, output: Group, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupCloudProviderAccessError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Cloud Provider Access Role Returns the access role with the specified id and with access to the specified project. */ export const getGroupCloudProviderAccess: API.OperationMethod< GetGroupCloudProviderAccessRequest, CloudProviderAccessRole, GetGroupCloudProviderAccessError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupCloudProviderAccessRequest, output: CloudProviderAccessRole, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterError = | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return One Cluster from One Project Returns the details for one cluster in the specified project. Clusters contain a group of hosts that maintain the same data set. The response includes clusters with asymmetrically-sized shards. This feature is not available for serverless clusters. This endpoint can also be used on Flex clusters that were created using the [Create Cluster](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Clusters/operation/createCluster) endpoint or former M2/M5 clusters that have been migrated to Flex clusters until January 2026. Please use the Get Flex Cluster endpoint for Flex clusters instead. Deprecated versions: v2-{2023-02-01}, v2-{2023-01-01} */ export const getGroupCluster: API.OperationMethod< GetGroupClusterRequest, ClusterDescription20240805, GetGroupClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterRequest, output: ClusterDescription20240805, errors: [Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterBackupExportError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Snapshot Export Job Returns one Cloud Backup Snapshot Export Job associated with the specified Atlas cluster. */ export const getGroupClusterBackupExport: API.OperationMethod< GetGroupClusterBackupExportRequest, DiskBackupExportJob, GetGroupClusterBackupExportError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterBackupExportRequest, output: DiskBackupExportJob, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterBackupRestoreJobError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Restore Job for One Cluster Returns one cloud backup restore job for one cluster from the specified project. */ export const getGroupClusterBackupRestoreJob: API.OperationMethod< GetGroupClusterBackupRestoreJobRequest, DiskBackupSnapshotRestoreJob, GetGroupClusterBackupRestoreJobError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterBackupRestoreJobRequest, output: DiskBackupSnapshotRestoreJob, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterBackupScheduleError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Cloud Backup Schedule Returns the cloud backup schedule for the specified cluster within the specified project. This schedule defines when MongoDB Cloud takes scheduled snapshots and how long it stores those snapshots. Deprecated versions: v2-{2023-01-01} */ export const getGroupClusterBackupSchedule: API.OperationMethod< GetGroupClusterBackupScheduleRequest, DiskBackupSnapshotSchedule20240805Output, GetGroupClusterBackupScheduleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterBackupScheduleRequest, output: DiskBackupSnapshotSchedule20240805Output, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterBackupSnapshotError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Replica Set Cloud Backup Returns one snapshot from the specified cluster. */ export const getGroupClusterBackupSnapshot: API.OperationMethod< GetGroupClusterBackupSnapshotRequest, DiskBackupReplicaSet, GetGroupClusterBackupSnapshotError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterBackupSnapshotRequest, output: DiskBackupReplicaSet, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterBackupSnapshotDatabaseError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Database in One Snapshot Returns one database that exists in the specified snapshot. Use this to confirm a known database exists before referencing it in a collection restore job. */ export const getGroupClusterBackupSnapshotDatabase: API.OperationMethod< GetGroupClusterBackupSnapshotDatabaseRequest, DiskBackupDatabaseResponse, GetGroupClusterBackupSnapshotDatabaseError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterBackupSnapshotDatabaseRequest, output: DiskBackupDatabaseResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterBackupSnapshotDatabaseCollectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Collection in One Database in One Snapshot Returns one collection that exists in the specified database in the snapshot. Use this to confirm a known collection exists before referencing it in a collection restore job. */ export const getGroupClusterBackupSnapshotDatabaseCollection: API.OperationMethod< GetGroupClusterBackupSnapshotDatabaseCollectionRequest, DiskBackupCollectionResponse, GetGroupClusterBackupSnapshotDatabaseCollectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterBackupSnapshotDatabaseCollectionRequest, output: DiskBackupCollectionResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterBackupSnapshotShardedClusterError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Sharded Cluster Cloud Backup Returns one snapshot of one sharded cluster from the specified project. */ export const getGroupClusterBackupSnapshotShardedCluster: API.OperationMethod< GetGroupClusterBackupSnapshotShardedClusterRequest, DiskBackupShardedClusterSnapshot, GetGroupClusterBackupSnapshotShardedClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterBackupSnapshotShardedClusterRequest, output: DiskBackupShardedClusterSnapshot, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterCollectionRestoreJobError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Collection Restore Job for One Cluster Returns one collection restore job for one cluster from the specified project. */ export const getGroupClusterCollectionRestoreJob: API.OperationMethod< GetGroupClusterCollectionRestoreJobRequest, ApiAtlasCollectionRestoreJobResponse, GetGroupClusterCollectionRestoreJobError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterCollectionRestoreJobRequest, output: ApiAtlasCollectionRestoreJobResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterCollectionRestoreJobCollectionError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Collection State for One Collection Restore Job Returns one collection-level restore state for one collection restore job from the specified project. */ export const getGroupClusterCollectionRestoreJobCollection: API.OperationMethod< GetGroupClusterCollectionRestoreJobCollectionRequest, ApiAtlasCollectionRestoreCollectionStateResponse, GetGroupClusterCollectionRestoreJobCollectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterCollectionRestoreJobCollectionRequest, output: ApiAtlasCollectionRestoreCollectionStateResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterCollStatNamespacesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Ranked Namespaces from One Cluster Return the subset of namespaces from the given cluster sorted by highest total execution time (descending) within the given time window. */ export const getGroupClusterCollStatNamespaces: API.OperationMethod< GetGroupClusterCollStatNamespacesRequest, CollStatsRankedNamespacesView, GetGroupClusterCollStatNamespacesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterCollStatNamespacesRequest, output: CollStatsRankedNamespacesView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterGlobalWritesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Managed Namespace in One Global Cluster Returns one managed namespace within the specified global cluster. A managed namespace identifies a collection using the database name, the dot separator, and the collection name. Deprecated versions: v2-{2023-02-01}, v2-{2023-01-01} */ export const getGroupClusterGlobalWrites: API.OperationMethod< GetGroupClusterGlobalWritesRequest, GeoSharding20240805, GetGroupClusterGlobalWritesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterGlobalWritesRequest, output: GeoSharding20240805, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterOnlineArchiveError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Online Archive Returns one online archive for one cluster. This archive stores data from one cluster within one project. */ export const getGroupClusterOnlineArchive: API.OperationMethod< GetGroupClusterOnlineArchiveRequest, BackupOnlineArchive, GetGroupClusterOnlineArchiveError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterOnlineArchiveRequest, output: BackupOnlineArchive, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterOutageSimulationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Outage Simulation Returns one outage simulation for one cluster. */ export const getGroupClusterOutageSimulation: API.OperationMethod< GetGroupClusterOutageSimulationRequest, ClusterOutageSimulation, GetGroupClusterOutageSimulationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterOutageSimulationRequest, output: ClusterOutageSimulation, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterOverloadSimulationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Overload Protection Simulation Returns the overload protection simulation for one cluster. */ export const getGroupClusterOverloadSimulation: API.OperationMethod< GetGroupClusterOverloadSimulationRequest, OverloadProtectionSimulationResponse, GetGroupClusterOverloadSimulationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterOverloadSimulationRequest, output: OverloadProtectionSimulationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterProcessArgsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Advanced Configuration Options for One Cluster Returns the advanced configuration details for one cluster in the specified project. Clusters contain a group of hosts that maintain the same data set. Advanced configuration details include the read/write concern, index and oplog limits, and other database settings. This feature isn't available for `M0` free clusters, `M2` and `M5` shared-tier clusters, flex clusters, or serverless clusters. Deprecated versions: v2-{2023-01-01} */ export const getGroupClusterProcessArgs: API.OperationMethod< GetGroupClusterProcessArgsRequest, ClusterDescriptionProcessArgs20240805, GetGroupClusterProcessArgsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterProcessArgsRequest, output: ClusterDescriptionProcessArgs20240805, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterQueryShapeError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Query Shape Returns the details for a single query shape. This endpoint only returns query shapes with REJECTED status. If the specified query shape hash does not correspond to a rejected query shape, a 404 Not Found error is returned. */ export const getGroupClusterQueryShape: API.OperationMethod< GetGroupClusterQueryShapeRequest, QueryShapeResponse, GetGroupClusterQueryShapeError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterQueryShapeRequest, output: QueryShapeResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterQueryShapeInsightDetailsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Query Shape Details Returns the metadata and statistics summary for a given query shape hash. */ export const getGroupClusterQueryShapeInsightDetails: API.OperationMethod< GetGroupClusterQueryShapeInsightDetailsRequest, QueryStatsDetailsResponse, GetGroupClusterQueryShapeInsightDetailsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterQueryShapeInsightDetailsRequest, output: QueryStatsDetailsResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterSearchDeploymentError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Search Nodes Returns the Search Nodes for the specified cluster. Deprecated versions: v2-{2024-05-30}, v2-{2023-01-01} */ export const getGroupClusterSearchDeployment: API.OperationMethod< GetGroupClusterSearchDeploymentRequest, ApiSearchDeploymentResponseView, GetGroupClusterSearchDeploymentError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterSearchDeploymentRequest, output: ApiSearchDeploymentResponseView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterSearchIndexError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Atlas Search Index by ID Returns one Atlas Search index in the specified project. You identify this index using its unique ID. Atlas Search index contains the indexed fields and the analyzers used to create the index. */ export const getGroupClusterSearchIndex: API.OperationMethod< GetGroupClusterSearchIndexRequest, SearchIndexResponse, GetGroupClusterSearchIndexError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterSearchIndexRequest, output: SearchIndexResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterSearchIndexByNameError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Atlas Search Index by Name Returns one Atlas Search index in the specified project. You identify this index using its database, collection and name. Atlas Search index contains the indexed fields and the analyzers used to create the index. */ export const getGroupClusterSearchIndexByName: API.OperationMethod< GetGroupClusterSearchIndexByNameRequest, SearchIndexResponse, GetGroupClusterSearchIndexByNameError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterSearchIndexByNameRequest, output: SearchIndexResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupClusterStatusError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Status of All Cluster Operations Returns the status of all changes that you made to the specified cluster in the specified project. Use this resource to check the progress MongoDB Cloud has made in processing your changes. The response does not include the deployment of new dedicated clusters. */ export const getGroupClusterStatus: API.OperationMethod< GetGroupClusterStatusRequest, ClusterStatus, GetGroupClusterStatusError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupClusterStatusRequest, output: ClusterStatus, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupContainerError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One Network Peering Container Returns details about one network peering container in one specified project. Network peering containers contain network peering connections. */ export const getGroupContainer: API.OperationMethod< GetGroupContainerRequest, CloudProviderContainer, GetGroupContainerError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupContainerRequest, output: CloudProviderContainer, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupCustomDbRoleRoleError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Custom Role in One Project Returns one custom role for the specified project. */ export const getGroupCustomDbRoleRole: API.OperationMethod< GetGroupCustomDbRoleRoleRequest, UserCustomDBRole, GetGroupCustomDbRoleRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupCustomDbRoleRoleRequest, output: UserCustomDBRole, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupDatabaseUserError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Database User from One Project Returns one database user that belong to the specified project. */ export const getGroupDatabaseUser: API.OperationMethod< GetGroupDatabaseUserRequest, CloudDatabaseUserOutput, GetGroupDatabaseUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupDatabaseUserRequest, output: CloudDatabaseUserOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupDataFederationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Federated Database Instance in One Project Returns the details of one federated database instance within the specified project. */ export const getGroupDataFederation: API.OperationMethod< GetGroupDataFederationRequest, DataLakeTenantOutput, GetGroupDataFederationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupDataFederationRequest, output: DataLakeTenantOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupDataFederationLimitError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Federated Database Instance Query Limit for One Project Returns the details of one query limit for the specified federated database instance in the specified project. */ export const getGroupDataFederationLimit: API.OperationMethod< GetGroupDataFederationLimitRequest, DataFederationTenantQueryLimit, GetGroupDataFederationLimitError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupDataFederationLimitRequest, output: DataFederationTenantQueryLimit, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupDbAccessHistoryClusterError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Database Access History for One Cluster by Cluster Name Returns the access logs of one cluster identified by the cluster's name. Access logs contain a list of authentication requests made against your cluster. You can't use this feature on tenant-tier clusters (M0, M2, M5). */ export const getGroupDbAccessHistoryCluster: API.OperationMethod< GetGroupDbAccessHistoryClusterRequest, MongoDBAccessLogsList, GetGroupDbAccessHistoryClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupDbAccessHistoryClusterRequest, output: MongoDBAccessLogsList, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupDbAccessHistoryProcessError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Database Access History for One Cluster by Hostname Returns the access logs of one cluster identified by the cluster's hostname. Access logs contain a list of authentication requests made against your clusters. You can't use this feature on tenant-tier clusters (M0, M2, M5). */ export const getGroupDbAccessHistoryProcess: API.OperationMethod< GetGroupDbAccessHistoryProcessRequest, MongoDBAccessLogsList, GetGroupDbAccessHistoryProcessError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupDbAccessHistoryProcessRequest, output: MongoDBAccessLogsList, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupEncryptionAtRestError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Configuration for Encryption at Rest Using Customer-Managed Keys for One Project Returns the configuration for encryption at rest using the keys you manage through your cloud provider. MongoDB Cloud encrypts all storage even if you don't use your own key management. **LIMITED TO M10 OR GREATER:** MongoDB Cloud limits this feature to dedicated cluster tiers of M10 and greater. */ export const getGroupEncryptionAtRest: API.OperationMethod< GetGroupEncryptionAtRestRequest, EncryptionAtRestOutput, GetGroupEncryptionAtRestError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupEncryptionAtRestRequest, output: EncryptionAtRestOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupEncryptionAtRestPrivateEndpointError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Private Endpoint for Encryption at Rest Using Customer Key Management for One Cloud Provider in One Project Returns one private endpoint, identified by its ID, for encryption at rest using Customer Key Management. */ export const getGroupEncryptionAtRestPrivateEndpoint: API.OperationMethod< GetGroupEncryptionAtRestPrivateEndpointRequest, EARPrivateEndpoint, GetGroupEncryptionAtRestPrivateEndpointError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupEncryptionAtRestPrivateEndpointRequest, output: EARPrivateEndpoint, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupEventError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One Event from One Project Returns one event for the specified project. Events identify significant database, billing, or security activities or status changes. Use the Return Events from One Project endpoint to retrieve all events to which the authenticated user has access. This resource remains under revision and may change. */ export const getGroupEvent: API.OperationMethod< GetGroupEventRequest, GetGroupEventResponse, GetGroupEventError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupEventRequest, output: GetGroupEventResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupFlexClusterError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return One Flex Cluster from One Project Returns details for one flex cluster in the specified project. */ export const getGroupFlexCluster: API.OperationMethod< GetGroupFlexClusterRequest, FlexClusterDescription20241113, GetGroupFlexClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupFlexClusterRequest, output: FlexClusterDescription20241113, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupFlexClusterBackupRestoreJobError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Restore Job for One Flex Cluster Returns one restore job for one flex cluster from the specified project. */ export const getGroupFlexClusterBackupRestoreJob: API.OperationMethod< GetGroupFlexClusterBackupRestoreJobRequest, FlexBackupRestoreJob20241113, GetGroupFlexClusterBackupRestoreJobError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupFlexClusterBackupRestoreJobRequest, output: FlexBackupRestoreJob20241113, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupFlexClusterBackupSnapshotError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Snapshot for One Flex Cluster Returns one snapshot of one flex cluster from the specified project. */ export const getGroupFlexClusterBackupSnapshot: API.OperationMethod< GetGroupFlexClusterBackupSnapshotRequest, FlexBackupSnapshot20241113, GetGroupFlexClusterBackupSnapshotError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupFlexClusterBackupSnapshotRequest, output: FlexBackupSnapshot20241113, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupHostFtsMetricIndexMeasurementsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Atlas Search Metrics for One Index in One Namespace Returns the Atlas Search metrics data series within the provided time range for one namespace and index name on the specified process. You must have the Project Read Only or higher role to view the Atlas Search metric types. */ export const getGroupHostFtsMetricIndexMeasurements: API.OperationMethod< GetGroupHostFtsMetricIndexMeasurementsRequest, MeasurementsIndexes, GetGroupHostFtsMetricIndexMeasurementsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupHostFtsMetricIndexMeasurementsRequest, output: MeasurementsIndexes, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Third-Party Service Integration Returns the settings for configuring integration with one third-party service. These settings apply to all databases managed in one MongoDB Cloud project. */ export const getGroupIntegration: API.OperationMethod< GetGroupIntegrationRequest, ThirdPartyIntegrationOutput, GetGroupIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupIntegrationRequest, output: ThirdPartyIntegrationOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupIpAddressesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All IP Addresses for One Project Returns all IP addresses for this project. */ export const getGroupIpAddresses: API.OperationMethod< GetGroupIpAddressesRequest, GroupIPAddresses, GetGroupIpAddressesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupIpAddressesRequest, output: GroupIPAddresses, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupLimitError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return One Limit for One Project Returns the specified limit for the specified project. */ export const getGroupLimit: API.OperationMethod< GetGroupLimitRequest, DataFederationLimit, GetGroupLimitError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupLimitRequest, output: DataFederationLimit, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupLiveMigrationError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Migration Job Return details of one cluster migration job. Each push live migration job uses one migration host. Your API Key must have the Organization Member role to successfully call this resource. */ export const getGroupLiveMigration: API.OperationMethod< GetGroupLiveMigrationRequest, LiveMigrationResponse, GetGroupLiveMigrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupLiveMigrationRequest, output: LiveMigrationResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupLiveMigrationValidateStatusError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Migration Validation Job Return the status of one migration validation job. Your API Key must have the Organization Owner role to successfully call this resource. */ export const getGroupLiveMigrationValidateStatus: API.OperationMethod< GetGroupLiveMigrationValidateStatusRequest, LiveImportValidation, GetGroupLiveMigrationValidateStatusError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupLiveMigrationValidateStatusRequest, output: LiveImportValidation, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupLogIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Log Integration Returns the configuration for one log integration identified by its unique ID. */ export const getGroupLogIntegration: API.OperationMethod< GetGroupLogIntegrationRequest, LogIntegrationResponseOutput, GetGroupLogIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupLogIntegrationRequest, output: LogIntegrationResponseOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupMaintenanceWindowError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Maintenance Window for One Project Returns the maintenance window for the specified project. MongoDB Cloud starts those maintenance activities when needed. You can't change your maintenance window until the current maintenance efforts complete. The maintenance procedure that MongoDB Cloud performs requires at least one replica set election during the maintenance window per replica set. Maintenance always begins as close to the scheduled hour as possible, but in-progress cluster updates or unexpected system issues could delay the start time. */ export const getGroupMaintenanceWindow: API.OperationMethod< GetGroupMaintenanceWindowRequest, GroupMaintenanceWindow, GetGroupMaintenanceWindowError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupMaintenanceWindowRequest, output: GroupMaintenanceWindow, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupManagedSlowMsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Managed Slow Operation Threshold Status Get whether the Managed Slow MS feature is enabled. */ export const getGroupManagedSlowMs: API.OperationMethod< GetGroupManagedSlowMsRequest, GetGroupManagedSlowMsResponse, GetGroupManagedSlowMsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupManagedSlowMsRequest, output: GetGroupManagedSlowMsResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupMcpConfigError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One MCP Configuration for One Project Returns the MCP configuration with the specified ID for the specified project. */ export const getGroupMcpConfig: API.OperationMethod< GetGroupMcpConfigRequest, GroupMcpConfigResponse, GetGroupMcpConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupMcpConfigRequest, output: GroupMcpConfigResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupMcpConfigSecretError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Secret for One Project MCP Configuration Returns metadata for the specified secret on the ingress service account of a project-level MCP configuration. The secret value is never returned. */ export const getGroupMcpConfigSecret: API.OperationMethod< GetGroupMcpConfigSecretRequest, ServiceAccountSecret, GetGroupMcpConfigSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupMcpConfigSecretRequest, output: ServiceAccountSecret, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupMetricIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Metric Integration Returns the configuration for one metric integration identified by its unique ID. */ export const getGroupMetricIntegration: API.OperationMethod< GetGroupMetricIntegrationRequest, MetricIntegrationResponse, GetGroupMetricIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupMetricIntegrationRequest, output: MetricIntegrationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupMongoDbVersionsError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return All Available MongoDB LTS Versions for Clusters in One Project Returns the MongoDB Long Term Support Major Versions available to new clusters in this project. */ export const getGroupMongoDbVersions: API.OperationMethod< GetGroupMongoDbVersionsRequest, PaginatedAvailableVersionView, GetGroupMongoDbVersionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupMongoDbVersionsRequest, output: PaginatedAvailableVersionView, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupPeerError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Network Peering Connection in One Project Returns details about one specified network peering connection in the specified project. */ export const getGroupPeer: API.OperationMethod< GetGroupPeerRequest, BaseNetworkPeeringConnectionSettings, GetGroupPeerError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupPeerRequest, output: BaseNetworkPeeringConnectionSettings, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupPrivateEndpointEndpointServiceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Private Endpoint Service for One Provider Returns the name, interfaces, and state of the specified private endpoint service from one project. The cloud service provider hosted this private endpoint service that belongs to the project. */ export const getGroupPrivateEndpointEndpointService: API.OperationMethod< GetGroupPrivateEndpointEndpointServiceRequest, EndpointService, GetGroupPrivateEndpointEndpointServiceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupPrivateEndpointEndpointServiceRequest, output: EndpointService, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupPrivateEndpointEndpointServiceEndpointError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Private Endpoint for One Provider Returns the connection state of the specified private endpoint. The private endpoint service manages this private endpoint which belongs to one project hosted from one cloud service provider. */ export const getGroupPrivateEndpointEndpointServiceEndpoint: API.OperationMethod< GetGroupPrivateEndpointEndpointServiceEndpointRequest, PrivateLinkEndpoint, GetGroupPrivateEndpointEndpointServiceEndpointError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupPrivateEndpointEndpointServiceEndpointRequest, output: PrivateLinkEndpoint, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupPrivateEndpointRegionalModeError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Regionalized Private Endpoint Status Checks whether each region in the specified cloud service provider can create multiple private endpoints per region. The cloud service provider manages the private endpoint for the project. */ export const getGroupPrivateEndpointRegionalMode: API.OperationMethod< GetGroupPrivateEndpointRegionalModeRequest, ProjectSettingItemView, GetGroupPrivateEndpointRegionalModeError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupPrivateEndpointRegionalModeRequest, output: ProjectSettingItemView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupPrivateNetworkSettingEndpointIdError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Federated Database Instance and Online Archive Private Endpoint in One Project Returns the specified private endpoint for Federated Database Instances or Online Archives in the specified project. */ export const getGroupPrivateNetworkSettingEndpointId: API.OperationMethod< GetGroupPrivateNetworkSettingEndpointIdRequest, PrivateNetworkEndpointIdEntry, GetGroupPrivateNetworkSettingEndpointIdError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupPrivateNetworkSettingEndpointIdRequest, output: PrivateNetworkEndpointIdEntry, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupProcessError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One MongoDB Process by ID Returns the processes for the specified host for the specified project. */ export const getGroupProcess: API.OperationMethod< GetGroupProcessRequest, ApiHostViewAtlas, GetGroupProcessError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupProcessRequest, output: ApiHostViewAtlas, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupProcessCollStatNamespacesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Ranked Namespaces from One Host Return the subset of namespaces from the given process ranked by highest total execution time (descending) within the given time window. */ export const getGroupProcessCollStatNamespaces: API.OperationMethod< GetGroupProcessCollStatNamespacesRequest, CollStatsRankedNamespacesView, GetGroupProcessCollStatNamespacesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupProcessCollStatNamespacesRequest, output: CollStatsRankedNamespacesView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupProcessDatabaseError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Database for One MongoDB Process Returns one database running on the specified host for the specified project. */ export const getGroupProcessDatabase: API.OperationMethod< GetGroupProcessDatabaseRequest, MesurementsDatabase, GetGroupProcessDatabaseError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupProcessDatabaseRequest, output: MesurementsDatabase, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupProcessDatabaseMeasurementsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Measurements for One Database in One MongoDB Process Returns the measurements of one database for the specified host for the specified project. Returns the database's on-disk storage space based on the MongoDB `dbStats` command output. To calculate some metric series, Atlas takes the rate between every two adjacent points. For these metric series, the first data point has a null value because Atlas can't calculate a rate for the first data point given the query time range. Atlas retrieves database metrics every 20 minutes but reduces frequency when necessary to optimize database performance. */ export const getGroupProcessDatabaseMeasurements: API.OperationMethod< GetGroupProcessDatabaseMeasurementsRequest, ApiMeasurementsGeneralViewAtlas, GetGroupProcessDatabaseMeasurementsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupProcessDatabaseMeasurementsRequest, output: ApiMeasurementsGeneralViewAtlas, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupProcessDiskError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Measurements for One Disk Returns measurement details for one disk or partition for the specified host for the specified project. */ export const getGroupProcessDisk: API.OperationMethod< GetGroupProcessDiskRequest, MeasurementDiskPartition, GetGroupProcessDiskError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupProcessDiskRequest, output: MeasurementDiskPartition, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupProcessDiskMeasurementsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Measurements of One Disk for One MongoDB Process Returns the measurements of one disk or partition for the specified host for the specified project. Returned value can be one of the following: - Throughput of I/O operations for the disk partition used for the MongoDB process - Percentage of time during which requests the partition issued and serviced - Latency per operation type of the disk partition used for the MongoDB process - Amount of free and used disk space on the disk partition used for the MongoDB process. */ export const getGroupProcessDiskMeasurements: API.OperationMethod< GetGroupProcessDiskMeasurementsRequest, ApiMeasurementsGeneralViewAtlas, GetGroupProcessDiskMeasurementsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupProcessDiskMeasurementsRequest, output: ApiMeasurementsGeneralViewAtlas, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupProcessMeasurementsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Measurements for One MongoDB Process Returns disk, partition, or host measurements per process for the specified host for the specified project. Returned value can be one of the following: - Throughput of I/O operations for the disk partition used for the MongoDB process - Percentage of time during which requests the partition issued and serviced - Latency per operation type of the disk partition used for the MongoDB process - Amount of free and used disk space on the disk partition used for the MongoDB process - Measurements for the host, such as CPU usage or number of I/O operations. */ export const getGroupProcessMeasurements: API.OperationMethod< GetGroupProcessMeasurementsRequest, ApiMeasurementsGeneralViewAtlas, GetGroupProcessMeasurementsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupProcessMeasurementsRequest, output: ApiMeasurementsGeneralViewAtlas, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupSampleDatasetLoadError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Status of Sample Dataset Load for One Cluster Checks the progress of loading the sample dataset into one cluster. */ export const getGroupSampleDatasetLoad: API.OperationMethod< GetGroupSampleDatasetLoadRequest, SampleDatasetStatus, GetGroupSampleDatasetLoadError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupSampleDatasetLoadRequest, output: SampleDatasetStatus, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupServiceAccountError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Project Service Account Returns one Service Account in the specified Project. */ export const getGroupServiceAccount: API.OperationMethod< GetGroupServiceAccountRequest, GroupServiceAccount, GetGroupServiceAccountError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupServiceAccountRequest, output: GroupServiceAccount, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupSettingsError = Forbidden | NotFound | MongodbAtlasOpError; /** Return Project Settings Returns details about the specified project's settings. */ export const getGroupSettings: API.OperationMethod< GetGroupSettingsRequest, GroupSettings, GetGroupSettingsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupSettingsRequest, output: GroupSettings, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupStreamAccountDetailsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Account ID and VPC ID for One Project and Region Returns the Account ID, and the VPC ID for the group and region specified. */ export const getGroupStreamAccountDetails: API.OperationMethod< GetGroupStreamAccountDetailsRequest, GetGroupStreamAccountDetailsResponse, GetGroupStreamAccountDetailsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupStreamAccountDetailsRequest, output: GetGroupStreamAccountDetailsResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupStreamConnectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Stream Connection Returns the details of one stream connection within the specified stream workspace. */ export const getGroupStreamConnection: API.OperationMethod< GetGroupStreamConnectionRequest, StreamsConnectionOutput, GetGroupStreamConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupStreamConnectionRequest, output: StreamsConnectionOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupStreamConnectionFailoverConnectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Stream Failover Connection Get one failover connection of the specified stream workspace. */ export const getGroupStreamConnectionFailoverConnection: API.OperationMethod< GetGroupStreamConnectionFailoverConnectionRequest, StreamsFailoverConnectionOutput, GetGroupStreamConnectionFailoverConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupStreamConnectionFailoverConnectionRequest, output: StreamsFailoverConnectionOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupStreamPrivateLinkConnectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Private Link Connection Returns the details of one Private Link connection within the project. */ export const getGroupStreamPrivateLinkConnection: API.OperationMethod< GetGroupStreamPrivateLinkConnectionRequest, StreamsPrivateLinkConnection, GetGroupStreamPrivateLinkConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupStreamPrivateLinkConnectionRequest, output: StreamsPrivateLinkConnection, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupStreamProcessorError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Stream Processor Get one Stream Processor within the specified stream workspace. */ export const getGroupStreamProcessor: API.OperationMethod< GetGroupStreamProcessorRequest, StreamsProcessorWithStats, GetGroupStreamProcessorError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupStreamProcessorRequest, output: StreamsProcessorWithStats, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupStreamProcessorsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Stream Processors in One Stream Workspace Returns all Stream Processors within the specified stream workspace, including information on which processors are failover-eligible. */ export const getGroupStreamProcessors: API.OperationMethod< GetGroupStreamProcessorsRequest, PaginatedApiStreamsStreamProcessorWithStatsView, GetGroupStreamProcessorsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupStreamProcessorsRequest, output: PaginatedApiStreamsStreamProcessorWithStatsView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupStreamWorkspaceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Stream Workspace Returns the details of one stream workspace within the specified project. */ export const getGroupStreamWorkspace: API.OperationMethod< GetGroupStreamWorkspaceRequest, StreamsTenantOutput, GetGroupStreamWorkspaceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupStreamWorkspaceRequest, output: StreamsTenantOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupTeamError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Team in One Project Returns one team to which the authenticated user has access in the project specified using its unique 24-hexadecimal digit identifier. All members of the team share the same project access. */ export const getGroupTeam: API.OperationMethod< GetGroupTeamRequest, TeamRole, GetGroupTeamError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupTeamRequest, output: TeamRole, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupUserError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One MongoDB Cloud User in One Project Returns information about the specified MongoDB Cloud user within the context of the specified project. **Note**: You can only use this resource to fetch information about MongoDB Cloud human users. To return information about an API Key, use the [Return One Organization API Key](#tag/Programmatic-API-Keys/operation/getApiKey) endpoint. **Note**: This resource does not return information about pending users invited via the deprecated [Invite One MongoDB Cloud User to Join One Project](#tag/Projects/operation/createProjectInvitation) endpoint. */ export const getGroupUser: API.OperationMethod< GetGroupUserRequest, GroupUserResponse, GetGroupUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupUserRequest, output: GroupUserResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupUserSecurityError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return LDAP or X.509 Configuration Returns the current LDAP configuration for the specified project. */ export const getGroupUserSecurity: API.OperationMethod< GetGroupUserSecurityRequest, UserSecurityOutput, GetGroupUserSecurityError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupUserSecurityRequest, output: UserSecurityOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetGroupUserSecurityLdapVerifyError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Status of LDAP Configuration Verification in One Project Returns the status of one request to verify one LDAP configuration for the specified project. */ export const getGroupUserSecurityLdapVerify: API.OperationMethod< GetGroupUserSecurityLdapVerifyRequest, LDAPVerifyConnectivityJobRequestOutput, GetGroupUserSecurityLdapVerifyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGroupUserSecurityLdapVerifyRequest, output: LDAPVerifyConnectivityJobRequestOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return One Organization Returns one organization to which the requesting Service Account or API Key has access. */ export const getOrg: API.OperationMethod< GetOrgRequest, AtlasOrganization, GetOrgError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgRequest, output: AtlasOrganization, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgActivityFeedError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Pre-Filtered Activity Feed Link for One Organization Returns a pre-filtered activity feed link for the specified organization based on the provided date range and event types. The returned link can be shared and opened to view the activity feed with the same filters applied. */ export const getOrgActivityFeed: API.OperationMethod< GetOrgActivityFeedRequest, ActivityFeedLinkResponse, GetOrgActivityFeedError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgActivityFeedRequest, output: ActivityFeedLinkResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Single AI Model Rate Limit for One Organization Retrieve a single scoped AI model rate limit for the given organization. */ export const getOrgAiModelApiCloudGeographyModelGroupNameRateLimits: API.OperationMethod< GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequest, AiModelRateLimitResponse, GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgAiModelApiCloudGeographyModelGroupNameRateLimitsRequest, output: AiModelRateLimitResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgAiModelApiKeyError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Single AI Model API Key for One Organization Retrieve a single AI model API key for the given organization. */ export const getOrgAiModelApiKey: API.OperationMethod< GetOrgAiModelApiKeyRequest, AiModelApiKeyResponse, GetOrgAiModelApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgAiModelApiKeyRequest, output: AiModelApiKeyResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgAiModelApiRateLimitsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return AI Model Rate Limits for One Organization Retrieve AI model rate limits for the given organization. */ export const getOrgAiModelApiRateLimits: API.OperationMethod< GetOrgAiModelApiRateLimitsRequest, PaginatedAtlasAiModelRateLimitsResponse, GetOrgAiModelApiRateLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgAiModelApiRateLimitsRequest, output: PaginatedAtlasAiModelRateLimitsResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgApiKeyError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One Organization API Key Returns one organization API key. The organization API keys grant programmatic access to an organization. You can't use the API key to log into MongoDB Cloud through the user interface. */ export const getOrgApiKey: API.OperationMethod< GetOrgApiKeyRequest, ApiKeyUserDetails, GetOrgApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgApiKeyRequest, output: ApiKeyUserDetails, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgApiKeyAccessListEntryError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Access List Entry for One Organization API Key Returns one access list entry for the specified organization API key. Resources require all API requests originate from IP addresses on the API access list. */ export const getOrgApiKeyAccessListEntry: API.OperationMethod< GetOrgApiKeyAccessListEntryRequest, UserAccessListResponse, GetOrgApiKeyAccessListEntryError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgApiKeyAccessListEntryRequest, output: UserAccessListResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgAssociatedInvoicesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Associated Invoices Returns a list of invoice IDs for the specified organization and month/year. Optionally includes invoices from linked organizations. */ export const getOrgAssociatedInvoices: API.OperationMethod< GetOrgAssociatedInvoicesRequest, OrgAssociatedInvoiceResponse, GetOrgAssociatedInvoicesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgAssociatedInvoicesRequest, output: OrgAssociatedInvoiceResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgBillingCostExplorerUsageError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Usage Details for One Cost Explorer Query Returns the usage details for a Cost Explorer query, if the query is finished and the data is ready to be viewed. If the data is not ready, a 'processing' response will indicate that another request should be sent later to view the data. */ export const getOrgBillingCostExplorerUsage: API.OperationMethod< GetOrgBillingCostExplorerUsageRequest, GetOrgBillingCostExplorerUsageResponse, GetOrgBillingCostExplorerUsageError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgBillingCostExplorerUsageRequest, output: GetOrgBillingCostExplorerUsageResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgDelegationSettingsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Delegation Settings for One Organization Returns the delegation settings for the specified organization. */ export const getOrgDelegationSettings: API.OperationMethod< GetOrgDelegationSettingsRequest, OrgDelegationSettingsResponse, GetOrgDelegationSettingsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgDelegationSettingsRequest, output: OrgDelegationSettingsResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgEventError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One Event from One Organization Returns one event for the specified organization. Events identify significant database, billing, or security activities or status changes. Use the Return Events from One Organization endpoint to retrieve all events to which the authenticated user has access. This resource remains under revision and may change. */ export const getOrgEvent: API.OperationMethod< GetOrgEventRequest, GetOrgEventResponse, GetOrgEventError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgEventRequest, output: GetOrgEventResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgFederationSettingsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Federation Settings for One Organization Returns information about the federation settings for the specified organization. */ export const getOrgFederationSettings: API.OperationMethod< GetOrgFederationSettingsRequest, OrgFederationSettings, GetOrgFederationSettingsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgFederationSettingsRequest, output: OrgFederationSettings, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgGroupsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Projects in One Organization Returns multiple projects in the specified organization. Each organization can have multiple projects. Use projects to: - Isolate different environments, such as development, test, or production environments, from each other. - Associate different MongoDB Cloud users or teams with different environments, or give different permission to MongoDB Cloud users in different environments. - Maintain separate cluster security configurations. - Create different alert settings. */ export const getOrgGroups: API.OperationMethod< GetOrgGroupsRequest, PaginatedAtlasGroupView, GetOrgGroupsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgGroupsRequest, output: PaginatedAtlasGroupView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgInvoiceError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One Invoice for One Organization Returns one invoice that MongoDB issued to the specified organization. A unique 24-hexadecimal digit string identifies the invoice. You can choose to receive this invoice in JSON or CSV format. If you have a cross-organization setup, you can query for a linked invoice if you have the Organization Billing Admin or Organization Owner role. To compute the total owed amount of the invoice - sum up total owed amount of each payment included into the invoice. To compute payment's owed amount - use formula `totalBilledCents` * `unitPrice` + `salesTax` - `startingBalanceCents`. */ export const getOrgInvoice: API.OperationMethod< GetOrgInvoiceRequest, BillingInvoice, GetOrgInvoiceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgInvoiceRequest, output: BillingInvoice, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgInvoiceCsvError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One Invoice as CSV for One Organization Returns one invoice that MongoDB issued to the specified organization in CSV format. A unique 24-hexadecimal digit string identifies the invoice. If you have a cross-organization setup, you can query for a linked invoice if you have the Organization Billing Admin or Organization Owner Role. To compute the total owed amount of the invoice - sum up total owed amount of each payment included into the invoice. To compute payment's owed amount - use formula `totalBilledCents` * `unitPrice` + `salesTax` - `startingBalanceCents`. */ export const getOrgInvoiceCsv: API.OperationMethod< GetOrgInvoiceCsvRequest, GetOrgInvoiceCsvResponse, GetOrgInvoiceCsvError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgInvoiceCsvRequest, output: GetOrgInvoiceCsvResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgInvoiceReportError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Invoice Report Returns the status and details of a previously requested invoice report. */ export const getOrgInvoiceReport: API.OperationMethod< GetOrgInvoiceReportRequest, InvoiceReportResponse, GetOrgInvoiceReportError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgInvoiceReportRequest, output: InvoiceReportResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgMcpConfigError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One MCP Configuration for One Organization Returns the MCP configuration with the specified ID for the specified organization. */ export const getOrgMcpConfig: API.OperationMethod< GetOrgMcpConfigRequest, OrgMcpConfigResponse, GetOrgMcpConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgMcpConfigRequest, output: OrgMcpConfigResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgMcpConfigSecretError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Secret for One Organization MCP Configuration Returns metadata for the specified secret on the ingress service account of an organization-level MCP configuration. The secret value is never returned. */ export const getOrgMcpConfigSecret: API.OperationMethod< GetOrgMcpConfigSecretRequest, ServiceAccountSecret, GetOrgMcpConfigSecretError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgMcpConfigSecretRequest, output: ServiceAccountSecret, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgNonCompliantResourcesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Non-Compliant Resources Return all non-compliant resources for an organization. */ export const getOrgNonCompliantResources: API.OperationMethod< GetOrgNonCompliantResourcesRequest, GetOrgNonCompliantResourcesResponse, GetOrgNonCompliantResourcesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgNonCompliantResourcesRequest, output: GetOrgNonCompliantResourcesResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgResourcePolicyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Atlas Resource Policy Return one Atlas Resource Policy for an organization. */ export const getOrgResourcePolicy: API.OperationMethod< GetOrgResourcePolicyRequest, ApiAtlasResourcePolicyView, GetOrgResourcePolicyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgResourcePolicyRequest, output: ApiAtlasResourcePolicyView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgServiceAccountError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Organization Service Account Returns the specified Service Account. */ export const getOrgServiceAccount: API.OperationMethod< GetOrgServiceAccountRequest, OrgServiceAccount, GetOrgServiceAccountError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgServiceAccountRequest, output: OrgServiceAccount, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgServiceAccountGroupsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Service Account Project Assignments Returns a list of all projects the specified Service Account is a part of. */ export const getOrgServiceAccountGroups: API.OperationMethod< GetOrgServiceAccountGroupsRequest, PaginatedServiceAccountGroup, GetOrgServiceAccountGroupsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgServiceAccountGroupsRequest, output: PaginatedServiceAccountGroup, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgSettingsError = Forbidden | NotFound | MongodbAtlasOpError; /** Return Settings for One Organization Returns details about the specified organization's settings. */ export const getOrgSettings: API.OperationMethod< GetOrgSettingsRequest, OrganizationSettings, GetOrgSettingsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgSettingsRequest, output: OrganizationSettings, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgTeamError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Team by ID Returns one team that you identified using its unique 24-hexadecimal digit ID. This team belongs to one organization. Teams enable you to grant project access roles to MongoDB Cloud users. */ export const getOrgTeam: API.OperationMethod< GetOrgTeamRequest, TeamResponse, GetOrgTeamError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgTeamRequest, output: TeamResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgTeamByNameError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Team by Name Returns one team that you identified using its human-readable name. This team belongs to one organization. Teams enable you to grant project access roles to MongoDB Cloud users. */ export const getOrgTeamByName: API.OperationMethod< GetOrgTeamByNameRequest, TeamResponse, GetOrgTeamByNameError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgTeamByNameRequest, output: TeamResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetOrgUserError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One MongoDB Cloud User in One Organization Returns information about the specified MongoDB Cloud user within the context of the specified organization. **Note**: This resource can only be used to fetch information about MongoDB Cloud human users. To return information about an API Key, use the [Return One Organization API Key](#tag/Programmatic-API-Keys/operation/getApiKey) endpoint. **Note**: This resource does not return information about pending users invited via the deprecated [Invite One MongoDB Cloud User to Join One Project](#tag/Projects/operation/createProjectInvitation) endpoint. */ export const getOrgUser: API.OperationMethod< GetOrgUserRequest, OrgUserResponse, GetOrgUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOrgUserRequest, output: OrgUserResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetRateLimitError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return One Rate Limit Get one rate limit endpoint set. */ export const getRateLimit: API.OperationMethod< GetRateLimitRequest, RateLimitEndpointSetResponse, GetRateLimitError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetRateLimitRequest, output: RateLimitEndpointSetResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetSkuError = Forbidden | NotFound | MongodbAtlasOpError; /** Return One Stock Keeping Unit Returns details about a single SKU (Stock Keeping Unit) by its identifier. SKUs represent different products and services offered by MongoDB. */ export const getSku: API.OperationMethod< GetSkuRequest, SkuResponse, GetSkuError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetSkuRequest, output: SkuResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GetSystemStatusError = Forbidden | MongodbAtlasOpError; /** Return the Status of This MongoDB Application This resource returns information about the MongoDB application along with API key meta data. */ export const getSystemStatus: API.OperationMethod< GetSystemStatusRequest, SystemStatus, GetSystemStatusError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetSystemStatusRequest, output: SystemStatus, errors: [Forbidden, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type GrantGroupClusterMongoDbEmployeeAccessError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Grant MongoDB Employee Cluster Access for One Cluster Grants MongoDB employee cluster access for the given duration and at the specified level for one cluster. */ export const grantGroupClusterMongoDbEmployeeAccess: API.OperationMethod< GrantGroupClusterMongoDbEmployeeAccessRequest, GrantGroupClusterMongoDbEmployeeAccessResponse, GrantGroupClusterMongoDbEmployeeAccessError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: GrantGroupClusterMongoDbEmployeeAccessRequest, output: GrantGroupClusterMongoDbEmployeeAccessResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type InviteGroupServiceAccountError = | Forbidden | NotFound | MongodbAtlasOpError; /** Assign One Service Account to One Project Assigns the specified Service Account to the specified Project. */ export const inviteGroupServiceAccount: API.OperationMethod< InviteGroupServiceAccountRequest, GroupServiceAccount, InviteGroupServiceAccountError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: InviteGroupServiceAccountRequest, output: GroupServiceAccount, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListAlertConfigMatcherFieldNamesError = | Forbidden | MongodbAtlasOpError; /** Return All Alert Configuration Matchers Field Names Get all field names that the `matchers.fieldName` parameter accepts when you create or update an Alert Configuration. You can successfully call this endpoint with any assigned role. */ export const listAlertConfigMatcherFieldNames: API.OperationMethod< ListAlertConfigMatcherFieldNamesRequest, ListAlertConfigMatcherFieldNamesResponse, ListAlertConfigMatcherFieldNamesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListAlertConfigMatcherFieldNamesRequest, output: ListAlertConfigMatcherFieldNamesResponse, errors: [Forbidden, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListClusterDetailsError = Forbidden | MongodbAtlasOpError; /** Return All Authorized Clusters in All Projects Returns the details for all clusters in all projects to which you have access. Clusters contain a group of hosts that maintain the same data set. The response does not include multi-cloud clusters. */ export const listClusterDetails: API.OperationMethod< ListClusterDetailsRequest, PaginatedOrgGroupView, ListClusterDetailsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListClusterDetailsRequest, output: PaginatedOrgGroupView, errors: [Forbidden, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListControlPlaneIpAddressesError = MongodbAtlasOpError; /** Return All Control Plane IP Addresses Returns all control plane IP addresses. */ export const listControlPlaneIpAddresses: API.OperationMethod< ListControlPlaneIpAddressesRequest, ControlPlaneIPAddresses, ListControlPlaneIpAddressesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListControlPlaneIpAddressesRequest, output: ControlPlaneIPAddresses, errors: [UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListEventTypesError = Forbidden | MongodbAtlasOpError; /** Return All Event Types Returns a list of all event types, along with a description and additional metadata about each event. */ export const listEventTypes: API.OperationMethod< ListEventTypesRequest, PaginatedEventTypeDetailsResponse, ListEventTypesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListEventTypesRequest, output: PaginatedEventTypeDetailsResponse, errors: [Forbidden, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListFederationSettingConnectedOrgConfigRoleMappingsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Role Mappings from One Organization Returns all role mappings from the specified organization in the specified federation. */ export const listFederationSettingConnectedOrgConfigRoleMappings: API.OperationMethod< ListFederationSettingConnectedOrgConfigRoleMappingsRequest, PaginatedRoleMappingView, ListFederationSettingConnectedOrgConfigRoleMappingsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListFederationSettingConnectedOrgConfigRoleMappingsRequest, output: PaginatedRoleMappingView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListFederationSettingConnectedOrgConfigsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Organization Configurations from One Federation Returns all connected organization configurations in the specified federation. To use this resource, the requesting Service Account or API Key must have the Organization Owner role in one of the connected organizations. */ export const listFederationSettingConnectedOrgConfigs: API.OperationMethod< ListFederationSettingConnectedOrgConfigsRequest, PaginatedConnectedOrgConfigsView, ListFederationSettingConnectedOrgConfigsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListFederationSettingConnectedOrgConfigsRequest, output: PaginatedConnectedOrgConfigsView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListFederationSettingIdentityProvidersError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Identity Providers in One Federation Returns all identity providers with the provided protocol and type in the specified federation. If no protocol is specified, only SAML identity providers will be returned. If no `idpType` is specified, only WORKFORCE identity providers will be returned. To use this resource, the requesting Service Account or API Key must have the Organization Owner role in one of the connected organizations. */ export const listFederationSettingIdentityProviders: API.OperationMethod< ListFederationSettingIdentityProvidersRequest, PaginatedFederationIdentityProvider, ListFederationSettingIdentityProvidersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListFederationSettingIdentityProvidersRequest, output: PaginatedFederationIdentityProvider, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupAccessListEntriesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Project IP Access List Entries Returns all access list entries from the specified project's IP access list. Each entry in the project's IP access list contains either one IP address or one CIDR-notated block of IP addresses. MongoDB Cloud only allows client connections to the cluster from entries in the project's IP access list. This resource replaces the whitelist resource. MongoDB Cloud removed whitelists in July 2021. Update your applications to use this new resource. The `/groups/{GROUP-ID}/accessList` endpoint manages the database IP access list. This endpoint is distinct from the `orgs/{ORG-ID}/apiKeys/{API-KEY-ID}/accesslist` endpoint, which manages the access list for MongoDB Cloud organizations. */ export const listGroupAccessListEntries: API.OperationMethod< ListGroupAccessListEntriesRequest, PaginatedNetworkAccessView, ListGroupAccessListEntriesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupAccessListEntriesRequest, output: PaginatedNetworkAccessView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupAiModelApiKeysError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return AI Model API Keys for One Group Retrieve AI model API keys for the given group. */ export const listGroupAiModelApiKeys: API.OperationMethod< ListGroupAiModelApiKeysRequest, PaginatedAtlasAiModelApiKeysResponse, ListGroupAiModelApiKeysError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupAiModelApiKeysRequest, output: PaginatedAtlasAiModelApiKeysResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupAlertConfigsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Alert Configurations in One Project Returns all alert configurations for one project. These alert configurations apply to any component in the project. Alert configurations define the triggers and notification methods for alerts. This resource remains under revision and may change. */ export const listGroupAlertConfigs: API.OperationMethod< ListGroupAlertConfigsRequest, PaginatedAlertConfigView, ListGroupAlertConfigsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupAlertConfigsRequest, output: PaginatedAlertConfigView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupAlertsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Alerts from One Project Returns all alerts. These alerts apply to all components in one project. You receive an alert when a monitored component meets or exceeds a value you set. This resource remains under revision and may change. */ export const listGroupAlerts: API.OperationMethod< ListGroupAlertsRequest, PaginatedAlertView, ListGroupAlertsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupAlertsRequest, output: PaginatedAlertView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupApiKeysError = Forbidden | NotFound | MongodbAtlasOpError; /** Return All Organization API Keys Assigned to One Project Returns all organization API keys that you assigned to the specified project. Users with the Project Owner role in the project associated with the API key can use the organization API key to access the resources. */ export const listGroupApiKeys: API.OperationMethod< ListGroupApiKeysRequest, PaginatedApiApiUserView, ListGroupApiKeysError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupApiKeysRequest, output: PaginatedApiApiUserView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupBackupExportBucketsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Snapshot Export Buckets Returns all Export Buckets associated with the specified Project. Deprecated versions: v2-{2023-01-01} */ export const listGroupBackupExportBuckets: API.OperationMethod< ListGroupBackupExportBucketsRequest, PaginatedBackupSnapshotExportBucketsView, ListGroupBackupExportBucketsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupBackupExportBucketsRequest, output: PaginatedBackupSnapshotExportBucketsView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupBackupPrivateEndpointsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Object Storage Private Endpoints for Cloud Backups for One Cloud Provider in One Project Returns the private endpoints of the specified cloud provider for object storage backup operations. */ export const listGroupBackupPrivateEndpoints: API.OperationMethod< ListGroupBackupPrivateEndpointsRequest, PaginatedApiAtlasObjectStoragePrivateEndpointResponseView, ListGroupBackupPrivateEndpointsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupBackupPrivateEndpointsRequest, output: PaginatedApiAtlasObjectStoragePrivateEndpointResponseView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupCloudProviderAccessError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Cloud Provider Access Roles Returns all cloud provider access roles with access to the specified project. */ export const listGroupCloudProviderAccess: API.OperationMethod< ListGroupCloudProviderAccessRequest, CloudProviderAccessRoles, ListGroupCloudProviderAccessError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupCloudProviderAccessRequest, output: CloudProviderAccessRoles, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterBackupExportsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Snapshot Export Jobs Returns all Cloud Backup Snapshot Export Jobs associated with the specified Atlas cluster. */ export const listGroupClusterBackupExports: API.OperationMethod< ListGroupClusterBackupExportsRequest, PaginatedApiAtlasDiskBackupExportJobView, ListGroupClusterBackupExportsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterBackupExportsRequest, output: PaginatedApiAtlasDiskBackupExportJobView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterBackupRestoreJobsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Restore Jobs for One Cluster Returns all cloud backup restore jobs for one cluster from the specified project. */ export const listGroupClusterBackupRestoreJobs: API.OperationMethod< ListGroupClusterBackupRestoreJobsRequest, PaginatedCloudBackupRestoreJobView, ListGroupClusterBackupRestoreJobsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterBackupRestoreJobsRequest, output: PaginatedCloudBackupRestoreJobView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterBackupSnapshotDatabaseCollectionsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Collections in One Database in One Snapshot Returns the list of collections in the specified database that exist in the snapshot. Use this to discover namespaces before creating a collection restore job. */ export const listGroupClusterBackupSnapshotDatabaseCollections: API.OperationMethod< ListGroupClusterBackupSnapshotDatabaseCollectionsRequest, PaginatedApiAtlasDiskBackupCollectionView, ListGroupClusterBackupSnapshotDatabaseCollectionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterBackupSnapshotDatabaseCollectionsRequest, output: PaginatedApiAtlasDiskBackupCollectionView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterBackupSnapshotDatabasesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Databases in One Snapshot Returns the list of databases that exist in the specified snapshot. Use this to discover namespaces before creating a collection restore job. */ export const listGroupClusterBackupSnapshotDatabases: API.OperationMethod< ListGroupClusterBackupSnapshotDatabasesRequest, PaginatedApiAtlasDiskBackupDatabaseView, ListGroupClusterBackupSnapshotDatabasesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterBackupSnapshotDatabasesRequest, output: PaginatedApiAtlasDiskBackupDatabaseView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterBackupSnapshotsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Replica Set Cloud Backups Returns all snapshots of one cluster from the specified project. */ export const listGroupClusterBackupSnapshots: API.OperationMethod< ListGroupClusterBackupSnapshotsRequest, PaginatedCloudBackupReplicaSetView, ListGroupClusterBackupSnapshotsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterBackupSnapshotsRequest, output: PaginatedCloudBackupReplicaSetView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterBackupSnapshotShardedClustersError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Sharded Cluster Cloud Backups Returns all snapshots of one sharded cluster from the specified project. */ export const listGroupClusterBackupSnapshotShardedClusters: API.OperationMethod< ListGroupClusterBackupSnapshotShardedClustersRequest, PaginatedCloudBackupShardedClusterSnapshotView, ListGroupClusterBackupSnapshotShardedClustersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterBackupSnapshotShardedClustersRequest, output: PaginatedCloudBackupShardedClusterSnapshotView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterCollectionRestoreJobCollectionsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Collection States for One Collection Restore Job Returns all collection-level restore states for one collection restore job from the specified project. Note: If the restore job is in the INITIALIZING state, this endpoint returns an empty list because collection-level states have not yet been created. */ export const listGroupClusterCollectionRestoreJobCollections: API.OperationMethod< ListGroupClusterCollectionRestoreJobCollectionsRequest, PaginatedApiAtlasCollectionRestoreCollectionStateView, ListGroupClusterCollectionRestoreJobCollectionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterCollectionRestoreJobCollectionsRequest, output: PaginatedApiAtlasCollectionRestoreCollectionStateView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterCollectionRestoreJobsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Collection Restore Jobs for One Cluster Returns all collection restore jobs for one cluster from the specified project. */ export const listGroupClusterCollectionRestoreJobs: API.OperationMethod< ListGroupClusterCollectionRestoreJobsRequest, PaginatedApiAtlasCollectionRestoreJobView, ListGroupClusterCollectionRestoreJobsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterCollectionRestoreJobsRequest, output: PaginatedApiAtlasCollectionRestoreJobView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterCollStatMeasurementsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Cluster-Level Query Latency Get a list of the Coll Stats Latency cluster-level measurements for the given namespace. */ export const listGroupClusterCollStatMeasurements: API.OperationMethod< ListGroupClusterCollStatMeasurementsRequest, MeasurementsCollStatsLatencyCluster, ListGroupClusterCollStatMeasurementsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterCollStatMeasurementsRequest, output: MeasurementsCollStatsLatencyCluster, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterCollStatPinnedNamespacesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Pinned Namespaces Returns a list of given cluster's pinned namespaces, a set of namespaces manually selected by users to collect query latency metrics on. */ export const listGroupClusterCollStatPinnedNamespaces: API.OperationMethod< ListGroupClusterCollStatPinnedNamespacesRequest, PinnedNamespaces, ListGroupClusterCollStatPinnedNamespacesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterCollStatPinnedNamespacesRequest, output: PinnedNamespaces, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterOnlineArchivesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Online Archives for One Cluster Returns details of all online archives. This archive stores data from one cluster within one project. */ export const listGroupClusterOnlineArchives: API.OperationMethod< ListGroupClusterOnlineArchivesRequest, PaginatedOnlineArchiveView, ListGroupClusterOnlineArchivesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterOnlineArchivesRequest, output: PaginatedOnlineArchiveView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterOverloadSimulationsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Overload Protection Simulations Returns all overload protection simulations for one cluster. */ export const listGroupClusterOverloadSimulations: API.OperationMethod< ListGroupClusterOverloadSimulationsRequest, PaginatedOverloadProtectionSimulationResponse, ListGroupClusterOverloadSimulationsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterOverloadSimulationsRequest, output: PaginatedOverloadProtectionSimulationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterPerformanceAdvisorDropIndexSuggestionsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Suggested Indexes to Drop Returns the indexes that the Performance Advisor suggests to drop. The Performance Advisor suggests dropping unused, redundant, and hidden indexes to improve write performance and increase storage space. */ export const listGroupClusterPerformanceAdvisorDropIndexSuggestions: API.OperationMethod< ListGroupClusterPerformanceAdvisorDropIndexSuggestionsRequest, EnvelopedDropIndexSuggestionsResponse, ListGroupClusterPerformanceAdvisorDropIndexSuggestionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterPerformanceAdvisorDropIndexSuggestionsRequest, output: EnvelopedDropIndexSuggestionsResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterPerformanceAdvisorSchemaAdviceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Schema Advice Returns the schema suggestions that the Performance Advisor detects. The Performance Advisor provides holistic schema recommendations for your cluster by sampling documents in your most active collections and collections with slow-running queries. */ export const listGroupClusterPerformanceAdvisorSchemaAdvice: API.OperationMethod< ListGroupClusterPerformanceAdvisorSchemaAdviceRequest, EnvelopedSchemaAdvisorResponse, ListGroupClusterPerformanceAdvisorSchemaAdviceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterPerformanceAdvisorSchemaAdviceRequest, output: EnvelopedSchemaAdvisorResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterPerformanceAdvisorSuggestedIndexesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Suggested Indexes Returns the indexes that the Performance Advisor suggests. The Performance Advisor monitors queries that MongoDB considers slow and suggests new indexes to improve query performance. */ export const listGroupClusterPerformanceAdvisorSuggestedIndexes: API.OperationMethod< ListGroupClusterPerformanceAdvisorSuggestedIndexesRequest, EnvelopedPerformanceAdvisorResponse, ListGroupClusterPerformanceAdvisorSuggestedIndexesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterPerformanceAdvisorSuggestedIndexesRequest, output: EnvelopedPerformanceAdvisorResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterProviderRegionsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Cloud Provider Regions Returns the list of regions available for the specified cloud provider at the specified tier. */ export const listGroupClusterProviderRegions: API.OperationMethod< ListGroupClusterProviderRegionsRequest, PaginatedApiAtlasProviderRegionsView, ListGroupClusterProviderRegionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterProviderRegionsRequest, output: PaginatedApiAtlasProviderRegionsView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterQueryShapeInsightSummariesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Query Statistic Summaries Returns a list of query shape statistics summaries for a given cluster. Query shape statistics provide performance insights about MongoDB queries, helping users identify problematic query patterns and potential optimizations. */ export const listGroupClusterQueryShapeInsightSummaries: API.OperationMethod< ListGroupClusterQueryShapeInsightSummariesRequest, QueryStatsSummaryListResponse, ListGroupClusterQueryShapeInsightSummariesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterQueryShapeInsightSummariesRequest, output: QueryStatsSummaryListResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterQueryShapesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Query Shapes Returns a list of query shapes for one cluster. Query shapes may be filtered by their status; at present, this endpoint supports only the REJECTED status. */ export const listGroupClusterQueryShapes: API.OperationMethod< ListGroupClusterQueryShapesRequest, PaginatedQueryShapes, ListGroupClusterQueryShapesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterQueryShapesRequest, output: PaginatedQueryShapes, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClustersError = Forbidden | NotFound | MongodbAtlasOpError; /** Return All Clusters in One Project Returns the details for all clusters in the specific project to which you have access. Clusters contain a group of hosts that maintain the same data set. The response includes clusters with asymmetrically-sized shards. This feature is not available for serverless clusters. This endpoint can also be used on Flex clusters that were created using the [Create Cluster](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Clusters/operation/createCluster) endpoint or former M2/M5 clusters that have been migrated to Flex clusters until January 2026. Please use the List Flex Clusters endpoint for Flex clusters instead. Deprecated versions: v2-{2023-02-01}, v2-{2023-01-01} */ export const listGroupClusters: API.OperationMethod< ListGroupClustersRequest, PaginatedClusterDescription20240805, ListGroupClustersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClustersRequest, output: PaginatedClusterDescription20240805, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterSearchIndexError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Atlas Search Indexes for One Collection Returns all Atlas Search indexes on the specified collection. Atlas Search indexes contain the indexed fields and the analyzers used to create the indexes. */ export const listGroupClusterSearchIndex: API.OperationMethod< ListGroupClusterSearchIndexRequest, ListGroupClusterSearchIndexResponse, ListGroupClusterSearchIndexError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterSearchIndexRequest, output: ListGroupClusterSearchIndexResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupClusterSearchIndexesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Atlas Search Indexes for One Cluster Returns all Atlas Search indexes on the specified cluster. Atlas Search indexes contain the indexed fields and the analyzers used to create the indexes. */ export const listGroupClusterSearchIndexes: API.OperationMethod< ListGroupClusterSearchIndexesRequest, ListGroupClusterSearchIndexesResponse, ListGroupClusterSearchIndexesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupClusterSearchIndexesRequest, output: ListGroupClusterSearchIndexesResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupCollStatMetricsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Metric Names Returns all available Coll Stats Latency metric names and their respective units for the specified project at the time of request. */ export const listGroupCollStatMetrics: API.OperationMethod< ListGroupCollStatMetricsRequest, CollStatsLatencyNamespaceMetrics, ListGroupCollStatMetricsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupCollStatMetricsRequest, output: CollStatsLatencyNamespaceMetrics, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupContainerAllError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Network Peering Containers in One Project Returns details about all network peering containers in the specified project. Network peering containers contain network peering connections. */ export const listGroupContainerAll: API.OperationMethod< ListGroupContainerAllRequest, PaginatedCloudProviderContainerView, ListGroupContainerAllError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupContainerAllRequest, output: PaginatedCloudProviderContainerView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupContainersError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Network Peering Containers in One Project for One Cloud Provider Returns details about all network peering containers in the specified project for the specified cloud provider. If you do not specify the cloud provider, MongoDB Cloud returns details about all network peering containers in the project for Amazon Web Services (AWS). */ export const listGroupContainers: API.OperationMethod< ListGroupContainersRequest, PaginatedCloudProviderContainerView, ListGroupContainersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupContainersRequest, output: PaginatedCloudProviderContainerView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupCustomDbRoleRolesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Custom Roles in One Project Returns all custom roles for the specified project. */ export const listGroupCustomDbRoleRoles: API.OperationMethod< ListGroupCustomDbRoleRolesRequest, ListGroupCustomDbRoleRolesResponse, ListGroupCustomDbRoleRolesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupCustomDbRoleRolesRequest, output: ListGroupCustomDbRoleRolesResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupDatabaseUserCertsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All X.509 Certificates Assigned to One Database User Returns all unexpired X.509 certificates for the specified MongoDB user. This MongoDB user belongs to one project. Atlas manages these certificates and the MongoDB user. */ export const listGroupDatabaseUserCerts: API.OperationMethod< ListGroupDatabaseUserCertsRequest, PaginatedUserCertViewOutput, ListGroupDatabaseUserCertsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupDatabaseUserCertsRequest, output: PaginatedUserCertViewOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupDatabaseUsersError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Database Users in One Project Returns all database users that belong to the specified project. */ export const listGroupDatabaseUsers: API.OperationMethod< ListGroupDatabaseUsersRequest, PaginatedApiAtlasDatabaseUserViewOutput, ListGroupDatabaseUsersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupDatabaseUsersRequest, output: PaginatedApiAtlasDatabaseUserViewOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupDataFederationError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Federated Database Instances in One Project Returns the details of all federated database instances in the specified project. */ export const listGroupDataFederation: API.OperationMethod< ListGroupDataFederationRequest, ListGroupDataFederationResponse, ListGroupDataFederationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupDataFederationRequest, output: ListGroupDataFederationResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupDataFederationLimitsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Query Limits for One Federated Database Instance Returns query limits for a federated databases instance in the specified project. */ export const listGroupDataFederationLimits: API.OperationMethod< ListGroupDataFederationLimitsRequest, ListGroupDataFederationLimitsResponse, ListGroupDataFederationLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupDataFederationLimitsRequest, output: ListGroupDataFederationLimitsResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupEncryptionAtRestPrivateEndpointsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Private Endpoints for Encryption at Rest Using Customer Key Management for One Cloud Provider in One Project Returns the private endpoints of the specified cloud provider for encryption at rest using customer key management. */ export const listGroupEncryptionAtRestPrivateEndpoints: API.OperationMethod< ListGroupEncryptionAtRestPrivateEndpointsRequest, PaginatedApiAtlasEARPrivateEndpointView, ListGroupEncryptionAtRestPrivateEndpointsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupEncryptionAtRestPrivateEndpointsRequest, output: PaginatedApiAtlasEARPrivateEndpointView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupEventsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Events from One Project Returns events for the specified project. Events identify significant database, billing, or security activities or status changes. This resource remains under revision and may change. */ export const listGroupEvents: API.OperationMethod< ListGroupEventsRequest, GroupPaginatedEventView, ListGroupEventsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupEventsRequest, output: GroupPaginatedEventView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupFlexClusterBackupRestoreJobsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Restore Jobs for One Flex Cluster Returns all restore jobs for one flex cluster from the specified project. */ export const listGroupFlexClusterBackupRestoreJobs: API.OperationMethod< ListGroupFlexClusterBackupRestoreJobsRequest, PaginatedApiAtlasFlexBackupRestoreJob20241113View, ListGroupFlexClusterBackupRestoreJobsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupFlexClusterBackupRestoreJobsRequest, output: PaginatedApiAtlasFlexBackupRestoreJob20241113View, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupFlexClusterBackupSnapshotsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Snapshots for One Flex Cluster Returns all snapshots of one flex cluster from the specified project. */ export const listGroupFlexClusterBackupSnapshots: API.OperationMethod< ListGroupFlexClusterBackupSnapshotsRequest, PaginatedApiAtlasFlexBackupSnapshot20241113View, ListGroupFlexClusterBackupSnapshotsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupFlexClusterBackupSnapshotsRequest, output: PaginatedApiAtlasFlexBackupSnapshot20241113View, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupFlexClustersError = | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return All Flex Clusters from One Project Returns details for all flex clusters in the specified project. */ export const listGroupFlexClusters: API.OperationMethod< ListGroupFlexClustersRequest, PaginatedFlexClusters20241113, ListGroupFlexClustersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupFlexClustersRequest, output: PaginatedFlexClusters20241113, errors: [Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupHostFtsMetricIndexMeasurementsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Atlas Search Index Metrics for One Namespace Returns the Atlas Search index metrics within the specified time range for one namespace in the specified process. */ export const listGroupHostFtsMetricIndexMeasurements: API.OperationMethod< ListGroupHostFtsMetricIndexMeasurementsRequest, MeasurementsIndexes, ListGroupHostFtsMetricIndexMeasurementsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupHostFtsMetricIndexMeasurementsRequest, output: MeasurementsIndexes, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupHostFtsMetricMeasurementsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Atlas Search Hardware and Status Metrics Returns the Atlas Search hardware and status data series within the provided time range for one process in the specified project. You must have the Project Read Only or higher role to view the Atlas Search metric types. */ export const listGroupHostFtsMetricMeasurements: API.OperationMethod< ListGroupHostFtsMetricMeasurementsRequest, MeasurementsNonIndex, ListGroupHostFtsMetricMeasurementsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupHostFtsMetricMeasurementsRequest, output: MeasurementsNonIndex, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupHostFtsMetricsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Atlas Search Metric Types for One Process Returns all Atlas Search metric types available for one process in the specified project. You must have the Project Read Only or higher role to view the Atlas Search metric types. */ export const listGroupHostFtsMetrics: API.OperationMethod< ListGroupHostFtsMetricsRequest, CloudSearchMetrics, ListGroupHostFtsMetricsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupHostFtsMetricsRequest, output: CloudSearchMetrics, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupIntegrationsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Active Third-Party Service Integrations Returns the settings that permit integrations with all configured third-party services. These settings apply to all databases managed in one MongoDB Cloud project. */ export const listGroupIntegrations: API.OperationMethod< ListGroupIntegrationsRequest, PaginatedIntegrationViewOutput, ListGroupIntegrationsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupIntegrationsRequest, output: PaginatedIntegrationViewOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupLimitsError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return All Limits for One Project Returns all the limits for the specified project. */ export const listGroupLimits: API.OperationMethod< ListGroupLimitsRequest, ListGroupLimitsResponse, ListGroupLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupLimitsRequest, output: ListGroupLimitsResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupLogIntegrationsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Active Log Integrations Returns all log integration configurations for the project. Optionally filter by integration type. */ export const listGroupLogIntegrations: API.OperationMethod< ListGroupLogIntegrationsRequest, PaginatedLogIntegrationResponseOutput, ListGroupLogIntegrationsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupLogIntegrationsRequest, output: PaginatedLogIntegrationResponseOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupMcpConfigsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All MCP Configurations for One Project Returns all MCP configurations associated with the specified project. */ export const listGroupMcpConfigs: API.OperationMethod< ListGroupMcpConfigsRequest, PaginatedGroupMcpConfigView, ListGroupMcpConfigsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupMcpConfigsRequest, output: PaginatedGroupMcpConfigView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupMcpConfigSecretsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Secrets for One Project MCP Configuration Returns metadata for all secrets on the ingress service account of the specified project-level MCP configuration. Secret values are never returned. */ export const listGroupMcpConfigSecrets: API.OperationMethod< ListGroupMcpConfigSecretsRequest, PaginatedMcpConfigSecretView, ListGroupMcpConfigSecretsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupMcpConfigSecretsRequest, output: PaginatedMcpConfigSecretView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupMetricIntegrationsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Active Metric Integrations Returns all metric integration configurations for the project. Optionally filter by integration type and provider type. */ export const listGroupMetricIntegrations: API.OperationMethod< ListGroupMetricIntegrationsRequest, PaginatedMetricIntegrationResponse, ListGroupMetricIntegrationsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupMetricIntegrationsRequest, output: PaginatedMetricIntegrationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupPeersError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Network Peering Connections in One Project Returns details about all network peering connections in the specified project. Network peering allows multiple cloud-hosted applications to securely connect to the same project. */ export const listGroupPeers: API.OperationMethod< ListGroupPeersRequest, PaginatedContainerPeerView, ListGroupPeersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupPeersRequest, output: PaginatedContainerPeerView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupPrivateEndpointEndpointServiceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Private Endpoint Services for One Provider Returns the name, interfaces, and state of all private endpoint services for the specified cloud service provider. This cloud service provider manages the private endpoint service for the project. */ export const listGroupPrivateEndpointEndpointService: API.OperationMethod< ListGroupPrivateEndpointEndpointServiceRequest, ListGroupPrivateEndpointEndpointServiceResponse, ListGroupPrivateEndpointEndpointServiceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupPrivateEndpointEndpointServiceRequest, output: ListGroupPrivateEndpointEndpointServiceResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupPrivateNetworkSettingEndpointIdsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Federated Database Instance and Online Archive Private Endpoints in One Project Returns all private endpoints for Federated Database Instances and Online Archives in the specified project. */ export const listGroupPrivateNetworkSettingEndpointIds: API.OperationMethod< ListGroupPrivateNetworkSettingEndpointIdsRequest, PaginatedPrivateNetworkEndpointIdEntryView, ListGroupPrivateNetworkSettingEndpointIdsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupPrivateNetworkSettingEndpointIdsRequest, output: PaginatedPrivateNetworkEndpointIdEntryView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupProcessCollStatMeasurementsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Host-Level Query Latency Get a list of the Coll Stats Latency process-level measurements for the given namespace. */ export const listGroupProcessCollStatMeasurements: API.OperationMethod< ListGroupProcessCollStatMeasurementsRequest, MeasurementsCollStatsLatencyHost, ListGroupProcessCollStatMeasurementsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupProcessCollStatMeasurementsRequest, output: MeasurementsCollStatsLatencyHost, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupProcessDatabasesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Available Databases for One MongoDB Process Returns the list of databases running on the specified host for the specified project. `M0` free clusters, `M2`, `M5`, serverless, and Flex clusters have some operational limits. The MongoDB Cloud process must be a `mongod`. */ export const listGroupProcessDatabases: API.OperationMethod< ListGroupProcessDatabasesRequest, PaginatedDatabaseView, ListGroupProcessDatabasesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupProcessDatabasesRequest, output: PaginatedDatabaseView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupProcessDisksError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Available Disks for One MongoDB Process Returns the list of disks or partitions for the specified host for the specified project. */ export const listGroupProcessDisks: API.OperationMethod< ListGroupProcessDisksRequest, PaginatedDiskPartitionView, ListGroupProcessDisksError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupProcessDisksRequest, output: PaginatedDiskPartitionView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupProcessesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All MongoDB Processes in One Project Returns details of all processes for the specified project. A MongoDB process can be either a `mongod` or `mongos`. */ export const listGroupProcesses: API.OperationMethod< ListGroupProcessesRequest, PaginatedHostViewAtlas, ListGroupProcessesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupProcessesRequest, output: PaginatedHostViewAtlas, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupProcessPerformanceAdvisorNamespacesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Namespaces for One Host Returns up to 20 namespaces for collections experiencing slow queries on the specified host. If you specify a secondary member of a replica set that hasn't received any database read operations, the endpoint doesn't return any namespaces. */ export const listGroupProcessPerformanceAdvisorNamespaces: API.OperationMethod< ListGroupProcessPerformanceAdvisorNamespacesRequest, Namespaces, ListGroupProcessPerformanceAdvisorNamespacesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupProcessPerformanceAdvisorNamespacesRequest, output: Namespaces, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupProcessPerformanceAdvisorSlowQueryLogsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return Slow Queries Returns log lines for slow queries that the Performance Advisor and Query Profiler identified. The Performance Advisor monitors queries that MongoDB considers slow and suggests new indexes to improve query performance. MongoDB Cloud bases the threshold for slow queries on the average time of operations on your cluster. This enables workload-relevant recommendations. */ export const listGroupProcessPerformanceAdvisorSlowQueryLogs: API.OperationMethod< ListGroupProcessPerformanceAdvisorSlowQueryLogsRequest, PerformanceAdvisorSlowQueryList, ListGroupProcessPerformanceAdvisorSlowQueryLogsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupProcessPerformanceAdvisorSlowQueryLogsRequest, output: PerformanceAdvisorSlowQueryList, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupProcessPerformanceAdvisorSuggestedIndexesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Suggested Indexes Returns the indexes that the Performance Advisor suggests. The Performance Advisor monitors queries that MongoDB considers slow and suggests new indexes to improve query performance. */ export const listGroupProcessPerformanceAdvisorSuggestedIndexes: API.OperationMethod< ListGroupProcessPerformanceAdvisorSuggestedIndexesRequest, PerformanceAdvisorResponse, ListGroupProcessPerformanceAdvisorSuggestedIndexesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupProcessPerformanceAdvisorSuggestedIndexesRequest, output: PerformanceAdvisorResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Projects Returns details about all projects. Projects group clusters into logical collections that support an application environment, workload, or both. Each project can have its own users, teams, security, tags, and alert settings. */ export const listGroups: API.OperationMethod< ListGroupsRequest, PaginatedAtlasGroupView, ListGroupsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupsRequest, output: PaginatedAtlasGroupView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupServiceAccountAccessListError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Access List Entries for One Project Service Account Returns all access list entries that you configured for the specified Service Account for the project. */ export const listGroupServiceAccountAccessList: API.OperationMethod< ListGroupServiceAccountAccessListRequest, PaginatedServiceAccountIPAccessEntryView, ListGroupServiceAccountAccessListError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupServiceAccountAccessListRequest, output: PaginatedServiceAccountIPAccessEntryView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupServiceAccountsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Project Service Accounts Returns all Service Accounts for the specified Project. By default, system-managed Service Accounts are excluded. Set `includeSystemManaged=true` to include them. */ export const listGroupServiceAccounts: API.OperationMethod< ListGroupServiceAccountsRequest, PaginatedGroupServiceAccounts, ListGroupServiceAccountsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupServiceAccountsRequest, output: PaginatedGroupServiceAccounts, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupStreamActiveVpcPeeringConnectionsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Active Incoming VPC Peering Connections Returns a list of active incoming VPC Peering Connections. */ export const listGroupStreamActiveVpcPeeringConnections: API.OperationMethod< ListGroupStreamActiveVpcPeeringConnectionsRequest, PaginatedApiStreamsVPCPeeringConnectionView, ListGroupStreamActiveVpcPeeringConnectionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupStreamActiveVpcPeeringConnectionsRequest, output: PaginatedApiStreamsVPCPeeringConnectionView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupStreamConnectionFailoverConnectionsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Stream Failover Connections Returns all failover connections for the specified connection in a stream workspace. */ export const listGroupStreamConnectionFailoverConnections: API.OperationMethod< ListGroupStreamConnectionFailoverConnectionsRequest, PaginatedApiStreamsFailoverConnectionOutput, ListGroupStreamConnectionFailoverConnectionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupStreamConnectionFailoverConnectionsRequest, output: PaginatedApiStreamsFailoverConnectionOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupStreamConnectionsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Connections of the Stream Workspaces Returns all connections of the stream workspace for the specified project. */ export const listGroupStreamConnections: API.OperationMethod< ListGroupStreamConnectionsRequest, PaginatedApiStreamsConnectionViewOutput, ListGroupStreamConnectionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupStreamConnectionsRequest, output: PaginatedApiStreamsConnectionViewOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupStreamPrivateLinkConnectionsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Private Link Connections Returns all Private Link connections for the specified project. */ export const listGroupStreamPrivateLinkConnections: API.OperationMethod< ListGroupStreamPrivateLinkConnectionsRequest, PaginatedApiStreamsPrivateLinkView, ListGroupStreamPrivateLinkConnectionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupStreamPrivateLinkConnectionsRequest, output: PaginatedApiStreamsPrivateLinkView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupStreamVpcPeeringConnectionsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All VPC Peering Connections Returns a list of incoming VPC Peering Connections. */ export const listGroupStreamVpcPeeringConnections: API.OperationMethod< ListGroupStreamVpcPeeringConnectionsRequest, PaginatedApiStreamsVPCPeeringConnectionView, ListGroupStreamVpcPeeringConnectionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupStreamVpcPeeringConnectionsRequest, output: PaginatedApiStreamsVPCPeeringConnectionView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupStreamWorkspacesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Stream Workspaces in One Project Returns all stream workspaces for the specified project. */ export const listGroupStreamWorkspaces: API.OperationMethod< ListGroupStreamWorkspacesRequest, PaginatedApiStreamsTenantViewOutput, ListGroupStreamWorkspacesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupStreamWorkspacesRequest, output: PaginatedApiStreamsTenantViewOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupTeamsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Teams in One Project Returns all teams to which the authenticated user has access in the project specified using its unique 24-hexadecimal digit identifier. All members of the team share the same project access. */ export const listGroupTeams: API.OperationMethod< ListGroupTeamsRequest, PaginatedTeamRoleView, ListGroupTeamsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupTeamsRequest, output: PaginatedTeamRoleView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListGroupUsersError = Forbidden | NotFound | MongodbAtlasOpError; /** Return All MongoDB Cloud Users in One Project Returns details about the pending and active MongoDB Cloud users associated with the specified project. **Note**: This resource cannot be used to view details about users invited via the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. **Note**: To return both pending and active users, use v2-{2025-02-19} or later. If using a deprecated version, only active users will be returned. Deprecated versions: v2-{2023-01-01} */ export const listGroupUsers: API.OperationMethod< ListGroupUsersRequest, PaginatedGroupUserView, ListGroupUsersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGroupUsersRequest, output: PaginatedGroupUserView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgAiModelApiKeysError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return AI Model API Keys for One Organization Retrieve AI model API keys for the given organization. */ export const listOrgAiModelApiKeys: API.OperationMethod< ListOrgAiModelApiKeysRequest, PaginatedAtlasAiModelApiKeysResponse, ListOrgAiModelApiKeysError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgAiModelApiKeysRequest, output: PaginatedAtlasAiModelApiKeysResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgApiKeyAccessListEntriesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Access List Entries for One Organization API Key Returns all access list entries that you configured for the specified organization API key. */ export const listOrgApiKeyAccessListEntries: API.OperationMethod< ListOrgApiKeyAccessListEntriesRequest, PaginatedApiUserAccessListResponseView, ListOrgApiKeyAccessListEntriesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgApiKeyAccessListEntriesRequest, output: PaginatedApiUserAccessListResponseView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgApiKeysError = Forbidden | NotFound | MongodbAtlasOpError; /** Return All Organization API Keys Returns all organization API keys for the specified organization. The organization API keys grant programmatic access to an organization. You can't use the API key to log into MongoDB Cloud through the console. */ export const listOrgApiKeys: API.OperationMethod< ListOrgApiKeysRequest, PaginatedApiApiUserView, ListOrgApiKeysError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgApiKeysRequest, output: PaginatedApiApiUserView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgEventsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return Events from One Organization Returns events for the specified organization. Events identify significant database, billing, or security activities or status changes. This resource remains under revision and may change. */ export const listOrgEvents: API.OperationMethod< ListOrgEventsRequest, OrgPaginatedEventView, ListOrgEventsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgEventsRequest, output: OrgPaginatedEventView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgInvoicePendingError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Pending Invoices for One Organization Returns all invoices accruing charges for the current billing cycle for the specified organization. If you have a cross-organization setup, you can view linked invoices if you have the Organization Billing Admin or Organization Owner Role. */ export const listOrgInvoicePending: API.OperationMethod< ListOrgInvoicePendingRequest, PaginatedApiInvoiceView, ListOrgInvoicePendingError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgInvoicePendingRequest, output: PaginatedApiInvoiceView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgInvoiceReportsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Invoice Reports for One Invoice Returns all unexpired reports for the specified invoice, newest first. Listed reports never include a download URL; retrieve a single report to obtain one. */ export const listOrgInvoiceReports: API.OperationMethod< ListOrgInvoiceReportsRequest, PaginatedInvoiceReportView, ListOrgInvoiceReportsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgInvoiceReportsRequest, output: PaginatedInvoiceReportView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgInvoicesError = Forbidden | NotFound | MongodbAtlasOpError; /** Return All Invoices for One Organization Returns all invoices that MongoDB issued to the specified organization. This list includes all invoices regardless of invoice status. If you have a cross-organization setup, you can view linked invoices if you have the Organization Billing Admin or Organization Owner role. To compute the total owed amount of the invoices - sum up total owed of each invoice. It could be computed as a sum of owed amount of each payment included into the invoice. To compute payment's owed amount - use formula `totalBilledCents` * `unitPrice` + `salesTax` - `startingBalanceCents`. */ export const listOrgInvoices: API.OperationMethod< ListOrgInvoicesRequest, PaginatedApiInvoiceMetadataView, ListOrgInvoicesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgInvoicesRequest, output: PaginatedApiInvoiceMetadataView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgLiveMigrationAvailableProjectsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Projects Available for Migration Return all projects that you can migrate to the specified organization. */ export const listOrgLiveMigrationAvailableProjects: API.OperationMethod< ListOrgLiveMigrationAvailableProjectsRequest, ListOrgLiveMigrationAvailableProjectsResponse, ListOrgLiveMigrationAvailableProjectsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgLiveMigrationAvailableProjectsRequest, output: ListOrgLiveMigrationAvailableProjectsResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgMcpConfigsError = Forbidden | NotFound | MongodbAtlasOpError; /** Return All MCP Configurations for One Organization Returns all MCP configurations associated with the specified organization. */ export const listOrgMcpConfigs: API.OperationMethod< ListOrgMcpConfigsRequest, PaginatedOrgMcpConfigView, ListOrgMcpConfigsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgMcpConfigsRequest, output: PaginatedOrgMcpConfigView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgMcpConfigSecretsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Secrets for One Organization MCP Configuration Returns metadata for all secrets on the ingress service account of the specified organization-level MCP configuration. Secret values are never returned. */ export const listOrgMcpConfigSecrets: API.OperationMethod< ListOrgMcpConfigSecretsRequest, PaginatedMcpConfigSecretView, ListOrgMcpConfigSecretsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgMcpConfigSecretsRequest, output: PaginatedMcpConfigSecretView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgResourcePoliciesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Atlas Resource Policies Return all Atlas Resource Policies for the organization. */ export const listOrgResourcePolicies: API.OperationMethod< ListOrgResourcePoliciesRequest, ListOrgResourcePoliciesResponse, ListOrgResourcePoliciesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgResourcePoliciesRequest, output: ListOrgResourcePoliciesResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgsError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return All Organizations Returns all organizations to which the requesting Service Account or API Key has access. */ export const listOrgs: API.OperationMethod< ListOrgsRequest, PaginatedOrganizationView, ListOrgsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgsRequest, output: PaginatedOrganizationView, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgServiceAccountAccessListError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Access List Entries for One Organization Service Account Returns all access list entries that you configured for the specified Service Account for the organization. */ export const listOrgServiceAccountAccessList: API.OperationMethod< ListOrgServiceAccountAccessListRequest, PaginatedServiceAccountIPAccessEntryView, ListOrgServiceAccountAccessListError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgServiceAccountAccessListRequest, output: PaginatedServiceAccountIPAccessEntryView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgServiceAccountsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Organization Service Accounts Returns all Service Accounts for the specified Organization. By default, system-managed Service Accounts are excluded. Set `includeSystemManaged=true` to include them. */ export const listOrgServiceAccounts: API.OperationMethod< ListOrgServiceAccountsRequest, PaginatedOrgServiceAccounts, ListOrgServiceAccountsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgServiceAccountsRequest, output: PaginatedOrgServiceAccounts, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgTeamsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Teams in One Organization Returns all teams that belong to the specified organization. Teams enable you to grant project access roles to MongoDB Cloud users. MongoDB Cloud only returns teams for which you have access. */ export const listOrgTeams: API.OperationMethod< ListOrgTeamsRequest, PaginatedTeamView, ListOrgTeamsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgTeamsRequest, output: PaginatedTeamView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgTeamUsersError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Return All MongoDB Cloud Users Assigned to One Team Returns details about the pending and active MongoDB Cloud users associated with the specified team in the organization. Teams enable you to grant project access roles to MongoDB Cloud users. **Note**: This resource cannot be used to view details about users invited via the deprecated [Invite One MongoDB Cloud User to Join One Project](#tag/Projects/operation/createProjectInvitation) endpoint. **Note**: To return both pending and active users, use v2-{2025-02-19} or later. If using a deprecated version, only active users will be returned. Deprecated versions: v2-{2023-01-01} */ export const listOrgTeamUsers: API.OperationMethod< ListOrgTeamUsersRequest, PaginatedOrgUserView, ListOrgTeamUsersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgTeamUsersRequest, output: PaginatedOrgUserView, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListOrgUsersError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All MongoDB Cloud Users in One Organization Returns details about the pending and active MongoDB Cloud users associated with the specified organization. **Note**: This resource cannot be used to view details about users invited via the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. **Note**: To return both pending and active users, use v2-{2025-02-19} or later. If using a deprecated version, only active users will be returned. Deprecated versions: v2-{2023-01-01} */ export const listOrgUsers: API.OperationMethod< ListOrgUsersRequest, PaginatedOrgUserView, ListOrgUsersError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOrgUsersRequest, output: PaginatedOrgUserView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListRateLimitsError = BadRequest | Forbidden | MongodbAtlasOpError; /** Return All Rate Limits Get all rate limits for all v2 Atlas Administration API endpoint sets. */ export const listRateLimits: API.OperationMethod< ListRateLimitsRequest, PaginatedRateLimitEndpointSets, ListRateLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListRateLimitsRequest, output: PaginatedRateLimitEndpointSets, errors: [BadRequest, Forbidden, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ListSkusError = Forbidden | MongodbAtlasOpError; /** Return All Stock Keeping Units Returns all available SKUs (Stock Keeping Units) that can appear on MongoDB invoices. SKUs represent different products and services offered by MongoDB. */ export const listSkus: API.OperationMethod< ListSkusRequest, PaginatedApiSKUView, ListSkusError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListSkusRequest, output: PaginatedApiSKUView, errors: [Forbidden, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type MigrateGroupError = | PaymentRequired | Forbidden | NotFound | MongodbAtlasOpError; /** Migrate One Project to Another Organization Migrates a project from its current organization to another organization. All project users and their roles will be copied to the same project in the destination organization. You must include an organization API key with the Organization Owner role for the destination organization to verify access to the destination organization when you authenticate with Programmatic API Keys. Otherwise, the requesting user must have the Organization Owner role in both organizations. */ export const migrateGroup: API.OperationMethod< MigrateGroupRequest, Group, MigrateGroupError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: MigrateGroupRequest, output: Group, errors: [PaymentRequired, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type PinGroupClusterCollStatPinnedNamespacesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Pin Namespaces Pin provided list of namespaces for collection-level latency metrics collection for the given Group and Cluster. This initializes a pinned namespaces list or replaces any existing pinned namespaces list for the Group and Cluster. */ export const pinGroupClusterCollStatPinnedNamespaces: API.OperationMethod< PinGroupClusterCollStatPinnedNamespacesRequest, PinnedNamespaces, PinGroupClusterCollStatPinnedNamespacesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: PinGroupClusterCollStatPinnedNamespacesRequest, output: PinnedNamespaces, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type PinGroupClusterFeatureCompatibilityVersionError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Pin Feature Compatibility Version for One Cluster in One Project Pins the Feature Compatibility Version (FCV) to the current MongoDB version and sets the pin expiration date. If an FCV pin already exists for the cluster, calling this method will only update the expiration date of the existing pin and will not re-pin the FCV. */ export const pinGroupClusterFeatureCompatibilityVersion: API.OperationMethod< PinGroupClusterFeatureCompatibilityVersionRequest, PinGroupClusterFeatureCompatibilityVersionResponse, PinGroupClusterFeatureCompatibilityVersionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: PinGroupClusterFeatureCompatibilityVersionRequest, output: PinGroupClusterFeatureCompatibilityVersionResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RejectGroupStreamVpcPeeringConnectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Reject One Incoming VPC Peering Connection Requests the rejection of an incoming VPC Peering connection. */ export const rejectGroupStreamVpcPeeringConnection: API.OperationMethod< RejectGroupStreamVpcPeeringConnectionRequest, RejectGroupStreamVpcPeeringConnectionResponse, RejectGroupStreamVpcPeeringConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RejectGroupStreamVpcPeeringConnectionRequest, output: RejectGroupStreamVpcPeeringConnectionResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RemoveFederationSettingConnectedOrgConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Organization Configuration from One Federation Removes one connected organization configuration from the specified federation. Note: This request fails if only one connected organization exists in the federation. */ export const removeFederationSettingConnectedOrgConfig: API.OperationMethod< RemoveFederationSettingConnectedOrgConfigRequest, RemoveFederationSettingConnectedOrgConfigResponse, RemoveFederationSettingConnectedOrgConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RemoveFederationSettingConnectedOrgConfigRequest, output: RemoveFederationSettingConnectedOrgConfigResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RemoveGroupApiKeyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Unassign One Organization API Key from One Project Removes one organization API key from the specified project. */ export const removeGroupApiKey: API.OperationMethod< RemoveGroupApiKeyRequest, RemoveGroupApiKeyResponse, RemoveGroupApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RemoveGroupApiKeyRequest, output: RemoveGroupApiKeyResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RemoveGroupTeamError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Team from One Project Removes one team specified using its unique 24-hexadecimal digit identifier from the project specified using its unique 24-hexadecimal digit identifier. */ export const removeGroupTeam: API.OperationMethod< RemoveGroupTeamRequest, RemoveGroupTeamResponse, RemoveGroupTeamError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RemoveGroupTeamRequest, output: RemoveGroupTeamResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RemoveGroupUserError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One MongoDB Cloud User from One Project Removes one MongoDB Cloud user from the specified project. You can remove an active user or a user that has not yet accepted the invitation to join the organization. **Note**: This resource cannot be used to remove pending users invited via the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. **Note**: To remove pending or active users, use v2-{2025-02-19} or later. If using a deprecated version, only active users can be removed. Deprecated versions: v2-{2023-01-01} */ export const removeGroupUser: API.OperationMethod< RemoveGroupUserRequest, RemoveGroupUserResponse, RemoveGroupUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RemoveGroupUserRequest, output: RemoveGroupUserResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RemoveGroupUserRoleError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Remove One Project Role from One MongoDB Cloud User Removes one project-level role from the MongoDB Cloud user. You can remove a role from an active user or a user that has been invited to join the project. To replace a user's only role, add the new role before removing the old role. A user must have at least one role at all times. **Note**: This resource cannot be used to remove a role from users invited using the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. */ export const removeGroupUserRole: API.OperationMethod< RemoveGroupUserRoleRequest, GroupUserResponse, RemoveGroupUserRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RemoveGroupUserRoleRequest, output: GroupUserResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RemoveOrgTeamUserError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One MongoDB Cloud User from One Team Removes one MongoDB Cloud user from one team. You can remove an active user or a user that has not yet accepted the invitation to join the organization. **Note**: This resource cannot be used to remove a user invited via the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. */ export const removeOrgTeamUser: API.OperationMethod< RemoveOrgTeamUserRequest, OrgUserResponse, RemoveOrgTeamUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RemoveOrgTeamUserRequest, output: OrgUserResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RemoveOrgUserError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One MongoDB Cloud User from One Organization Removes one MongoDB Cloud user in the specified organization. You can remove an active user or a user that has not yet accepted the invitation to join the organization. **Note**: This resource cannot be used to remove pending users invited via the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. **Note**: To remove pending or active users, use v2-{2025-02-19} or later. If using a deprecated version, only active users can be removed. Deprecated versions: v2-{2023-01-01} */ export const removeOrgUser: API.OperationMethod< RemoveOrgUserRequest, RemoveOrgUserResponse, RemoveOrgUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RemoveOrgUserRequest, output: RemoveOrgUserResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RemoveOrgUserRoleError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Remove One Organization Role from One MongoDB Cloud User Removes one organization-level role from the MongoDB Cloud user. You can remove a role from an active user or a user that has not yet accepted the invitation to join the organization. To replace a user's only role, add the new role before removing the old role. A user must have at least one role at all times. **Note**: This operation is atomic. **Note**: This resource cannot be used to remove a role from users invited using the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. */ export const removeOrgUserRole: API.OperationMethod< RemoveOrgUserRoleRequest, OrgUserResponse, RemoveOrgUserRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RemoveOrgUserRoleRequest, output: OrgUserResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RenameOrgTeamError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Rename One Team Renames one team in the specified organization. Teams enable you to grant project access roles to MongoDB Cloud users. */ export const renameOrgTeam: API.OperationMethod< RenameOrgTeamRequest, TeamResponse, RenameOrgTeamError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RenameOrgTeamRequest, output: TeamResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RequestGroupEncryptionAtRestPrivateEndpointDeletionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Delete One Private Endpoint for Encryption at Rest Using Customer Key Management for One Cloud Provider from One Project Deletes one private endpoint, identified by its ID, for encryption at rest using Customer Key Management. */ export const requestGroupEncryptionAtRestPrivateEndpointDeletion: API.OperationMethod< RequestGroupEncryptionAtRestPrivateEndpointDeletionRequest, RequestGroupEncryptionAtRestPrivateEndpointDeletionResponse, RequestGroupEncryptionAtRestPrivateEndpointDeletionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RequestGroupEncryptionAtRestPrivateEndpointDeletionRequest, output: RequestGroupEncryptionAtRestPrivateEndpointDeletionResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RequestGroupSampleDatasetLoadError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Load Sample Dataset into One Cluster Requests loading the MongoDB sample dataset into the specified cluster. */ export const requestGroupSampleDatasetLoad: API.OperationMethod< RequestGroupSampleDatasetLoadRequest, SampleDatasetStatus, RequestGroupSampleDatasetLoadError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RequestGroupSampleDatasetLoadRequest, output: SampleDatasetStatus, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Reset AI Model Rate Limit for One Model Group Reset the scoped AI model rate limit for the given model group to default values. */ export const resetGroupAiModelApiCloudGeographyModelGroupNameRateLimits: API.OperationMethod< ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest, AiModelRateLimitResponse, ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ResetGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest, output: AiModelRateLimitResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ResetGroupAiModelApiRateLimitsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Reset AI Model Rate Limits for Group Reset the AI Model rate limits for the given group to default values. */ export const resetGroupAiModelApiRateLimits: API.OperationMethod< ResetGroupAiModelApiRateLimitsRequest, PaginatedAtlasAiModelRateLimitsResponse, ResetGroupAiModelApiRateLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ResetGroupAiModelApiRateLimitsRequest, output: PaginatedAtlasAiModelRateLimitsResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ResetGroupMaintenanceWindowError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Reset One Maintenance Window for One Project Resets the maintenance window for the specified project. Urgent maintenance activities such as security patches can't wait for your chosen window. MongoDB Cloud starts those maintenance activities when needed. After you schedule maintenance for your cluster, you can't change your maintenance window until the current maintenance efforts complete. The maintenance procedure that MongoDB Cloud performs requires at least one replica set election during the maintenance window per replica set. Maintenance always begins as close to the scheduled hour as possible, but in-progress cluster updates or unexpected system issues could delay the start time. */ export const resetGroupMaintenanceWindow: API.OperationMethod< ResetGroupMaintenanceWindowRequest, ResetGroupMaintenanceWindowResponse, ResetGroupMaintenanceWindowError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ResetGroupMaintenanceWindowRequest, output: ResetGroupMaintenanceWindowResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RestartGroupClusterPrimariesError = | Forbidden | NotFound | MongodbAtlasOpError; /** Test Failover for One Cluster Starts a failover test for the specified cluster in the specified project. Clusters contain a group of hosts that maintain the same data set. A failover test checks how MongoDB Cloud handles the failure of the cluster's primary node. During the test, MongoDB Cloud shuts down the primary node and elects a new primary. Deprecated versions: v2-{2023-01-01} */ export const restartGroupClusterPrimaries: API.OperationMethod< RestartGroupClusterPrimariesRequest, RestartGroupClusterPrimariesResponse, RestartGroupClusterPrimariesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RestartGroupClusterPrimariesRequest, output: RestartGroupClusterPrimariesResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RevokeFederationSettingIdentityProviderJwksError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Revoke JWKS from One OIDC Identity Provider Revokes the JWKS tokens from the requested OIDC identity provider. To use this resource, the requesting Service Account or API Key must have the Organization Owner role in one of the connected organizations. **Note**: Revoking your JWKS tokens immediately refreshes your IdP public keys from all your Atlas clusters, invalidating previously signed access tokens and logging out all users. You may need to restart your MongoDB clients. All organizations connected to the identity provider will be affected. */ export const revokeFederationSettingIdentityProviderJwks: API.OperationMethod< RevokeFederationSettingIdentityProviderJwksRequest, RevokeFederationSettingIdentityProviderJwksResponse, RevokeFederationSettingIdentityProviderJwksError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RevokeFederationSettingIdentityProviderJwksRequest, output: RevokeFederationSettingIdentityProviderJwksResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type RevokeGroupClusterMongoDbEmployeeAccessError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Revoke MongoDB Employee Cluster Access for One Cluster Revokes a previously granted MongoDB employee cluster access. */ export const revokeGroupClusterMongoDbEmployeeAccess: API.OperationMethod< RevokeGroupClusterMongoDbEmployeeAccessRequest, RevokeGroupClusterMongoDbEmployeeAccessResponse, RevokeGroupClusterMongoDbEmployeeAccessError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: RevokeGroupClusterMongoDbEmployeeAccessRequest, output: RevokeGroupClusterMongoDbEmployeeAccessResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type SearchOrgInvoiceLineItemsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Return All Line Items for One Invoice by Invoice ID Query the `lineItems` of the specified invoice and return the result JSON. A unique 24-hexadecimal digit string identifies the invoice. */ export const searchOrgInvoiceLineItems: API.OperationMethod< SearchOrgInvoiceLineItemsRequest, PaginatedPublicApiUsageDetailsLineItemView, SearchOrgInvoiceLineItemsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: SearchOrgInvoiceLineItemsRequest, output: PaginatedPublicApiUsageDetailsLineItemView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type SetGroupDataFederationLimitError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Configure One Query Limit for One Federated Database Instance Creates or updates one query limit for one federated database instance. */ export const setGroupDataFederationLimit: API.OperationMethod< SetGroupDataFederationLimitRequest, DataFederationTenantQueryLimit, SetGroupDataFederationLimitError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: SetGroupDataFederationLimitRequest, output: DataFederationTenantQueryLimit, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type SetGroupLimitError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Set One Project Limit Sets the specified project limit. **NOTE**: Increasing the following configuration limits might lead to slower response times in the MongoDB Cloud UI or increased user management overhead leading to authentication or authorization re-architecture. If possible, we recommend that you create additional projects to gain access to more of these resources for a more sustainable growth pattern. */ export const setGroupLimit: API.OperationMethod< SetGroupLimitRequest, DataFederationLimit, SetGroupLimitError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: SetGroupLimitRequest, output: DataFederationLimit, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type StartGroupClusterOutageSimulationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Start One Outage Simulation Starts a cluster outage simulation. */ export const startGroupClusterOutageSimulation: API.OperationMethod< StartGroupClusterOutageSimulationRequest, ClusterOutageSimulation, StartGroupClusterOutageSimulationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: StartGroupClusterOutageSimulationRequest, output: ClusterOutageSimulation, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type StartGroupStreamProcessorError = | Forbidden | NotFound | MongodbAtlasOpError; /** Start One Stream Processor Start a Stream Processor within the specified stream workspace. */ export const startGroupStreamProcessor: API.OperationMethod< StartGroupStreamProcessorRequest, StartGroupStreamProcessorResponse, StartGroupStreamProcessorError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: StartGroupStreamProcessorRequest, output: StartGroupStreamProcessorResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type StartGroupStreamProcessorWithError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Start One Stream Processor With Options Start a Stream Processor within the specified stream workspace. */ export const startGroupStreamProcessorWith: API.OperationMethod< StartGroupStreamProcessorWithRequest, StartGroupStreamProcessorWithResponse, StartGroupStreamProcessorWithError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: StartGroupStreamProcessorWithRequest, output: StartGroupStreamProcessorWithResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type StopGroupStreamProcessorError = | Forbidden | NotFound | MongodbAtlasOpError; /** Stop One Stream Processor Stop a Stream Processor within the specified stream workspace. */ export const stopGroupStreamProcessor: API.OperationMethod< StopGroupStreamProcessorRequest, StopGroupStreamProcessorResponse, StopGroupStreamProcessorError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: StopGroupStreamProcessorRequest, output: StopGroupStreamProcessorResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type TakeGroupClusterBackupSnapshotsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Take One On-Demand Snapshot Takes one on-demand snapshot for the specified cluster. Atlas takes on-demand snapshots immediately and scheduled snapshots at regular intervals. If an on-demand snapshot with a status of `queued` or `inProgress` exists, before taking another snapshot, wait until Atlas completes processing the previously taken on-demand snapshot. */ export const takeGroupClusterBackupSnapshots: API.OperationMethod< TakeGroupClusterBackupSnapshotsRequest, DiskBackupSnapshot, TakeGroupClusterBackupSnapshotsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: TakeGroupClusterBackupSnapshotsRequest, output: DiskBackupSnapshot, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type TenantGroupFlexClusterUpgradeError = | BadRequest | PaymentRequired | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Upgrade One Flex Cluster Upgrades a flex cluster to a dedicated cluster (M10+) in the specified project. */ export const tenantGroupFlexClusterUpgrade: API.OperationMethod< TenantGroupFlexClusterUpgradeRequest, FlexClusterDescription20241113, TenantGroupFlexClusterUpgradeError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: TenantGroupFlexClusterUpgradeRequest, output: FlexClusterDescription20241113, errors: [ BadRequest, PaymentRequired, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError, ], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ToggleGroupAlertConfigError = | Forbidden | NotFound | MongodbAtlasOpError; /** Toggle State of One Alert Configuration in One Project Enables or disables the specified alert configuration in the specified project. The resource enables the specified alert configuration if currently enabled. The resource disables the specified alert configuration if currently disabled. **NOTE**: This endpoint updates only the enabled/disabled state for the alert configuration. To update more than just this configuration, see Update One Alert Configuration. This resource remains under revision and may change. */ export const toggleGroupAlertConfig: API.OperationMethod< ToggleGroupAlertConfigRequest, ToggleGroupAlertConfigResponse, ToggleGroupAlertConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ToggleGroupAlertConfigRequest, output: ToggleGroupAlertConfigResponse, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ToggleGroupAwsCustomDnsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Update State of One Custom DNS Configuration for Atlas Clusters on AWS Enables or disables the custom DNS configuration for AWS clusters in the specified project. Enable custom DNS if you use AWS VPC peering and use your own DNS servers. */ export const toggleGroupAwsCustomDns: API.OperationMethod< ToggleGroupAwsCustomDnsRequest, AWSCustomDNSEnabledView, ToggleGroupAwsCustomDnsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ToggleGroupAwsCustomDnsRequest, output: AWSCustomDNSEnabledView, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ToggleGroupMaintenanceWindowAutoDeferError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Toggle Automatic Deferral of Maintenance for One Project Toggles automatic deferral of the maintenance window for the specified project. When automatic deferral is enabled, all maintenance windows are deferred for one week. This endpoint controls the same underlying feature as the `autoDeferOnceEnabled` field in the PATCH `/maintenanceWindow` endpoint. The difference is that this endpoint toggles the current value (switches from enabled to disabled or vice versa), while the `autoDeferOnceEnabled` field allows you to set a specific value. For most use cases, the PATCH endpoint with `autoDeferOnceEnabled` is recommended because it allows setting an explicit value rather than toggling. */ export const toggleGroupMaintenanceWindowAutoDefer: API.OperationMethod< ToggleGroupMaintenanceWindowAutoDeferRequest, ToggleGroupMaintenanceWindowAutoDeferResponse, ToggleGroupMaintenanceWindowAutoDeferError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ToggleGroupMaintenanceWindowAutoDeferRequest, output: ToggleGroupMaintenanceWindowAutoDeferResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ToggleGroupPrivateEndpointRegionalModeError = | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Toggle Regionalized Private Endpoint Status Enables or disables the ability to create multiple private endpoints per region in all cloud service providers in one project. The cloud service provider manages the private endpoints for the project. Connection strings to existing multi-region and global sharded clusters change when you enable this setting. You must update your applications to use the new connection strings. This might cause downtime. Once enabled, you cannot create replica sets. To use this resource, all clusters in the deployment must be sharded clusters. */ export const toggleGroupPrivateEndpointRegionalMode: API.OperationMethod< ToggleGroupPrivateEndpointRegionalModeRequest, ProjectSettingItemView, ToggleGroupPrivateEndpointRegionalModeError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ToggleGroupPrivateEndpointRegionalModeRequest, output: ProjectSettingItemView, errors: [Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UnpinGroupClusterCollStatUnpinNamespacesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Unpin Namespaces Unpin provided list of namespaces for collection-level latency metrics collection for the given Group and Cluster. */ export const unpinGroupClusterCollStatUnpinNamespaces: API.OperationMethod< UnpinGroupClusterCollStatUnpinNamespacesRequest, PinnedNamespaces, UnpinGroupClusterCollStatUnpinNamespacesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UnpinGroupClusterCollStatUnpinNamespacesRequest, output: PinnedNamespaces, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UnpinGroupClusterFeatureCompatibilityVersionError = | BadRequest | PaymentRequired | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Unpin Feature Compatibility Version for One Cluster in One Project Unpins the current fixed Feature Compatibility Version (FCV). This feature is not available for clusters on rapid release. */ export const unpinGroupClusterFeatureCompatibilityVersion: API.OperationMethod< UnpinGroupClusterFeatureCompatibilityVersionRequest, UnpinGroupClusterFeatureCompatibilityVersionResponse, UnpinGroupClusterFeatureCompatibilityVersionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UnpinGroupClusterFeatureCompatibilityVersionRequest, output: UnpinGroupClusterFeatureCompatibilityVersionResponse, errors: [ BadRequest, PaymentRequired, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError, ], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateFederationSettingConnectedOrgConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Organization Configuration in One Federation Updates one connected organization configuration from the specified federation. **Note** If the organization configuration has no associated identity provider, you can't use this resource to update role mappings or post authorization role grants. **Note**: The `domainRestrictionEnabled` field defaults to false if not provided in the request. **Note**: If the `identityProviderId` field is not provided, you will disconnect the organization and the identity provider. **Note**: Currently connected data access identity providers missing from the `dataAccessIdentityProviderIds` field will be disconnected. */ export const updateFederationSettingConnectedOrgConfig: API.OperationMethod< UpdateFederationSettingConnectedOrgConfigRequest, ConnectedOrgConfig, UpdateFederationSettingConnectedOrgConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateFederationSettingConnectedOrgConfigRequest, output: ConnectedOrgConfig, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateFederationSettingConnectedOrgConfigRoleMappingError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Role Mapping in One Organization Updates one role mapping in the specified organization in the specified federation. */ export const updateFederationSettingConnectedOrgConfigRoleMapping: API.OperationMethod< UpdateFederationSettingConnectedOrgConfigRoleMappingRequest, AuthFederationRoleMapping, UpdateFederationSettingConnectedOrgConfigRoleMappingError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateFederationSettingConnectedOrgConfigRoleMappingRequest, output: AuthFederationRoleMapping, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateFederationSettingIdentityProviderError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Identity Provider Updates one identity provider in the specified federation. To use this resource, the requesting Service Account or API Key must have the Organization Owner role in one of the connected organizations. **Note**: Changing authorization types and/or updating authorization claims can prevent current users and/or groups from accessing the database. **Note**: When deactivating a SAML identity provider connected to an organization, the requesting Service Account or API key must have the Organization Owner role for the organization. If the identity provider is connected to multiple organizations, the request will fail. Deprecated versions: v2-{2023-01-01} */ export const updateFederationSettingIdentityProvider: API.OperationMethod< UpdateFederationSettingIdentityProviderRequest, FederationIdentityProvider, UpdateFederationSettingIdentityProviderError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateFederationSettingIdentityProviderRequest, output: FederationIdentityProvider, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Project Updates the human-readable label that identifies the specified project, or the tags associated with the project. */ export const updateGroup: API.OperationMethod< UpdateGroupRequest, Group, UpdateGroupError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupRequest, output: Group, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update AI Model Rate Limit Update a scoped AI model rate limit for the given model group. */ export const updateGroupAiModelApiCloudGeographyModelGroupNameRateLimits: API.OperationMethod< UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest, AiModelRateLimitResponse, UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupAiModelApiCloudGeographyModelGroupNameRateLimitsRequest, output: AiModelRateLimitResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupAiModelApiKeyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Existing AI Model API Key Update an existing AI model API key in the given group. Only the name can be updated; scope is immutable after creation. */ export const updateGroupAiModelApiKey: API.OperationMethod< UpdateGroupAiModelApiKeyRequest, AiModelApiKeyResponse, UpdateGroupAiModelApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupAiModelApiKeyRequest, output: AiModelApiKeyResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupAlertConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Alert Configuration in One Project Updates one alert configuration in the specified project. Alert configurations define the triggers and notification methods for alerts. **NOTE**: To enable or disable the alert configuration, see Toggle One State of One Alert Configuration in One Project. This resource remains under revision and may change. */ export const updateGroupAlertConfig: API.OperationMethod< UpdateGroupAlertConfigRequest, UpdateGroupAlertConfigResponse, UpdateGroupAlertConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupAlertConfigRequest, output: UpdateGroupAlertConfigResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupApiKeyRolesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Organization API Key Roles for One Project Updates the roles of the organization API key that you specify for the project that you specify. You must specify at least one valid role for the project. The application removes any roles that you do not include in this request if they were previously set in the organization API key that you specify for the project. */ export const updateGroupApiKeyRoles: API.OperationMethod< UpdateGroupApiKeyRolesRequest, ApiKeyUserDetails, UpdateGroupApiKeyRolesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupApiKeyRolesRequest, output: ApiKeyUserDetails, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupAuditLogError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Auditing Configuration for One Project Updates the auditing configuration for the specified project. The auditing configuration defines the events that MongoDB Cloud records in the audit log. This feature isn't available for `M0`, `M2`, `M5`, or serverless clusters. */ export const updateGroupAuditLog: API.OperationMethod< UpdateGroupAuditLogRequest, AuditLog, UpdateGroupAuditLogError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupAuditLogRequest, output: AuditLog, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupBackupCompliancePolicyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Backup Compliance Policy Settings Updates the Backup Compliance Policy settings for the specified project. Deprecated versions: v2-{2023-01-01} */ export const updateGroupBackupCompliancePolicy: API.OperationMethod< UpdateGroupBackupCompliancePolicyRequest, DataProtectionSettings20231001, UpdateGroupBackupCompliancePolicyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupBackupCompliancePolicyRequest, output: DataProtectionSettings20231001, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupBackupExportBucketError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Export Bucket Private Networking Settings Updates the private networking settings for one snapshot export bucket in the specified project. */ export const updateGroupBackupExportBucket: API.OperationMethod< UpdateGroupBackupExportBucketRequest, DiskBackupSnapshotAWSExportBucketResponse, UpdateGroupBackupExportBucketError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupBackupExportBucketRequest, output: DiskBackupSnapshotAWSExportBucketResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Cluster in One Project Updates the details for one cluster in the specified project. Clusters contain a group of hosts that maintain the same data set. This resource can update clusters with asymmetrically-sized shards. To update a cluster's termination protection, the requesting Service Account or API Key must have the Project Owner role. For all other updates, the requesting Service Account or API Key must have the Project Cluster Manager role, the Project Cluster Resilience Tester role, or the Project Replica Set Manager role. You can't modify a paused cluster (`paused : true`). You must call this endpoint to set `paused : false`. After this endpoint responds with `paused : false`, you can call it again with the changes you want to make to the cluster. This feature is not available for serverless clusters. Deprecated versions: v2-{2024-08-05}, v2-{2023-02-01}, v2-{2023-01-01} */ export const updateGroupCluster: API.OperationMethod< UpdateGroupClusterRequest, ClusterDescription20240805, UpdateGroupClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterRequest, output: ClusterDescription20240805, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterBackupScheduleError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Cloud Backup Schedule for One Cluster Updates the cloud backup schedule for one cluster within the specified project. This schedule defines when MongoDB Cloud takes scheduled snapshots and how long it stores those snapshots. Deprecated versions: v2-{2023-01-01} */ export const updateGroupClusterBackupSchedule: API.OperationMethod< UpdateGroupClusterBackupScheduleRequest, DiskBackupSnapshotSchedule20240805Output, UpdateGroupClusterBackupScheduleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterBackupScheduleRequest, output: DiskBackupSnapshotSchedule20240805Output, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterBackupSnapshotError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Expiration Date for One Cloud Backup Changes the expiration date for one cloud backup snapshot for one cluster in the specified project, the requesting Service Account or API Key must have the Project Backup Manager role. */ export const updateGroupClusterBackupSnapshot: API.OperationMethod< UpdateGroupClusterBackupSnapshotRequest, DiskBackupReplicaSet, UpdateGroupClusterBackupSnapshotError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterBackupSnapshotRequest, output: DiskBackupReplicaSet, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterCollStatPinnedNamespacesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Add Pinned Namespaces Add provided list of namespaces to existing pinned namespaces list for collection-level latency metrics collection for the given Group and Cluster. */ export const updateGroupClusterCollStatPinnedNamespaces: API.OperationMethod< UpdateGroupClusterCollStatPinnedNamespacesRequest, PinnedNamespaces, UpdateGroupClusterCollStatPinnedNamespacesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterCollStatPinnedNamespacesRequest, output: PinnedNamespaces, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterOnlineArchiveError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Online Archive Updates, pauses, or resumes one online archive. This archive stores data from one cluster within one project. */ export const updateGroupClusterOnlineArchive: API.OperationMethod< UpdateGroupClusterOnlineArchiveRequest, BackupOnlineArchive, UpdateGroupClusterOnlineArchiveError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterOnlineArchiveRequest, output: BackupOnlineArchive, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterProcessArgsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Advanced Configuration Options for One Cluster Updates the advanced configuration details for one cluster in the specified project. Clusters contain a group of hosts that maintain the same data set. Advanced configuration details include the read/write concern, index and oplog limits, and other database settings. This feature isn't available for `M0` free clusters, `M2` and `M5` shared-tier clusters, flex clusters, or serverless clusters. Deprecated versions: v2-{2023-01-01} */ export const updateGroupClusterProcessArgs: API.OperationMethod< UpdateGroupClusterProcessArgsRequest, ClusterDescriptionProcessArgs20240805, UpdateGroupClusterProcessArgsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterProcessArgsRequest, output: ClusterDescriptionProcessArgs20240805, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterQueryShapeError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Query Shape Rejection Status Updates the rejection status of a query shape. Use this endpoint to reject a query shape (preventing it from executing on the cluster) or to unreject a previously rejected query shape (allowing it to execute again). This operation is idempotent: rejecting an already rejected query shape or unrejecting an already unrejected query shape will return 200 OK. */ export const updateGroupClusterQueryShape: API.OperationMethod< UpdateGroupClusterQueryShapeRequest, QueryShapeResponse, UpdateGroupClusterQueryShapeError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterQueryShapeRequest, output: QueryShapeResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterSearchDeploymentError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update Search Nodes Updates the Search Nodes for the specified cluster. Deprecated versions: v2-{2023-01-01} */ export const updateGroupClusterSearchDeployment: API.OperationMethod< UpdateGroupClusterSearchDeploymentRequest, ApiSearchDeploymentResponseView, UpdateGroupClusterSearchDeploymentError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterSearchDeploymentRequest, output: ApiSearchDeploymentResponseView, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterSearchIndexError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Atlas Search Index by ID Updates one Atlas Search index that you identified with its unique ID. Atlas Search indexes define the fields on which to create the index and the analyzers to use when creating the index. */ export const updateGroupClusterSearchIndex: API.OperationMethod< UpdateGroupClusterSearchIndexRequest, SearchIndexResponse, UpdateGroupClusterSearchIndexError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterSearchIndexRequest, output: SearchIndexResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupClusterSearchIndexByNameError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Atlas Search Index by Name Updates one Atlas Search index that you identified with its database, collection name, and index name. Atlas Search indexes define the fields on which to create the index and the analyzers to use when creating the index. */ export const updateGroupClusterSearchIndexByName: API.OperationMethod< UpdateGroupClusterSearchIndexByNameRequest, SearchIndexResponse, UpdateGroupClusterSearchIndexByNameError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupClusterSearchIndexByNameRequest, output: SearchIndexResponse, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupContainerError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Network Peering Container Updates the network details and labels of one specified network peering container in the specified project. */ export const updateGroupContainer: API.OperationMethod< UpdateGroupContainerRequest, CloudProviderContainer, UpdateGroupContainerError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupContainerRequest, output: CloudProviderContainer, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupCustomDbRoleRoleError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Custom Role in One Project Updates one custom role in the specified project. */ export const updateGroupCustomDbRoleRole: API.OperationMethod< UpdateGroupCustomDbRoleRoleRequest, UserCustomDBRole, UpdateGroupCustomDbRoleRoleError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupCustomDbRoleRoleRequest, output: UserCustomDBRole, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupDatabaseUserError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Database User in One Project Updates one database user that belongs to the specified project. */ export const updateGroupDatabaseUser: API.OperationMethod< UpdateGroupDatabaseUserRequest, CloudDatabaseUserOutput, UpdateGroupDatabaseUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupDatabaseUserRequest, output: CloudDatabaseUserOutput, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupDataFederationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Federated Database Instance in One Project Updates the details of one federated database instance in the specified project. */ export const updateGroupDataFederation: API.OperationMethod< UpdateGroupDataFederationRequest, DataLakeTenantOutput, UpdateGroupDataFederationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupDataFederationRequest, output: DataLakeTenantOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupEncryptionAtRestError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update Encryption at Rest Configuration in One Project Updates the configuration for encryption at rest using the keys you manage through your cloud provider. MongoDB Cloud encrypts all storage even if you don't use your own key management. This feature isn't available for `M0` free clusters, `M2`, `M5`, or serverless clusters. After you configure at least one Encryption at Rest using a Customer Key Management provider for the MongoDB Cloud project, Project Owners can enable Encryption at Rest using Customer Key Management for each MongoDB Cloud cluster for which they require encryption. The Encryption at Rest using Customer Key Management provider doesn't have to match the cluster cloud service provider. MongoDB Cloud doesn't automatically rotate user-managed encryption keys. Defer to your preferred Encryption at Rest using Customer Key Management provider's documentation and guidance for best practices on key rotation. MongoDB Cloud automatically creates a 90-day key rotation alert when you configure Encryption at Rest using Customer Key Management using your Key Management in an MongoDB Cloud project. MongoDB Cloud encrypts all storage whether or not you use your own key management. */ export const updateGroupEncryptionAtRest: API.OperationMethod< UpdateGroupEncryptionAtRestRequest, EncryptionAtRestOutput, UpdateGroupEncryptionAtRestError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupEncryptionAtRestRequest, output: EncryptionAtRestOutput, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupFlexClusterError = | BadRequest | PaymentRequired | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Flex Cluster in One Project Updates one flex cluster in the specified project. */ export const updateGroupFlexCluster: API.OperationMethod< UpdateGroupFlexClusterRequest, FlexClusterDescription20241113, UpdateGroupFlexClusterError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupFlexClusterRequest, output: FlexClusterDescription20241113, errors: [ BadRequest, PaymentRequired, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError, ], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Third-Party Service Integration Updates the settings for configuring integration with one third-party service. These settings apply to all databases managed in one MongoDB Cloud project. */ export const updateGroupIntegration: API.OperationMethod< UpdateGroupIntegrationRequest, PaginatedIntegrationViewOutput, UpdateGroupIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupIntegrationRequest, output: PaginatedIntegrationViewOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupLogIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Log Integration Updates the configuration for one log integration identified by its unique ID. */ export const updateGroupLogIntegration: API.OperationMethod< UpdateGroupLogIntegrationRequest, LogIntegrationResponseOutput, UpdateGroupLogIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupLogIntegrationRequest, output: LogIntegrationResponseOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupMaintenanceWindowError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Maintenance Window for One Project Updates the maintenance window for the specified project. Urgent maintenance activities such as security patches can't wait for your chosen window. MongoDB Cloud starts those maintenance activities when needed. After you schedule maintenance for your cluster, you can't change your maintenance window until the current maintenance efforts complete. The maintenance procedure that MongoDB Cloud performs requires at least one replica set election during the maintenance window per replica set. Maintenance always begins as close to the scheduled hour as possible, but in-progress cluster updates or unexpected system issues could delay the start time. Updating the maintenance window will reset any maintenance deferrals for this project. */ export const updateGroupMaintenanceWindow: API.OperationMethod< UpdateGroupMaintenanceWindowRequest, UpdateGroupMaintenanceWindowResponse, UpdateGroupMaintenanceWindowError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupMaintenanceWindowRequest, output: UpdateGroupMaintenanceWindowResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupMcpConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One MCP Configuration for One Project Updates the specified MCP configuration for the project. Supports partial updates: only provided fields are changed. */ export const updateGroupMcpConfig: API.OperationMethod< UpdateGroupMcpConfigRequest, GroupMcpConfigResponse, UpdateGroupMcpConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupMcpConfigRequest, output: GroupMcpConfigResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupMetricIntegrationError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Metric Integration Updates the configuration for one metric integration identified by its unique ID. */ export const updateGroupMetricIntegration: API.OperationMethod< UpdateGroupMetricIntegrationRequest, MetricIntegrationResponse, UpdateGroupMetricIntegrationError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupMetricIntegrationRequest, output: MetricIntegrationResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupPeerError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Network Peering Connection Updates one specified network peering connection in the specified project. */ export const updateGroupPeer: API.OperationMethod< UpdateGroupPeerRequest, BaseNetworkPeeringConnectionSettings, UpdateGroupPeerError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupPeerRequest, output: BaseNetworkPeeringConnectionSettings, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupPrivateEndpointEndpointServiceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Private Endpoint Service for One Provider Updates the specified private endpoint service for the project. The cloud service provider manages the private endpoint service that belongs to the project. */ export const updateGroupPrivateEndpointEndpointService: API.OperationMethod< UpdateGroupPrivateEndpointEndpointServiceRequest, EndpointService, UpdateGroupPrivateEndpointEndpointServiceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupPrivateEndpointEndpointServiceRequest, output: EndpointService, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupServiceAccountError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Project Service Account Updates one Service Account in the specified Project. */ export const updateGroupServiceAccount: API.OperationMethod< UpdateGroupServiceAccountRequest, GroupServiceAccount, UpdateGroupServiceAccountError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupServiceAccountRequest, output: GroupServiceAccount, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupSettingsError = | Forbidden | NotFound | MongodbAtlasOpError; /** Update Project Settings Updates the settings of the specified project. You can update any of the options available. MongoDB cloud only updates the options provided in the request. */ export const updateGroupSettings: API.OperationMethod< UpdateGroupSettingsRequest, GroupSettings, UpdateGroupSettingsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupSettingsRequest, output: GroupSettings, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupStreamConnectionError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Stream Connection Update one connection for the specified stream workspace in the specified project. */ export const updateGroupStreamConnection: API.OperationMethod< UpdateGroupStreamConnectionRequest, StreamsConnectionOutput, UpdateGroupStreamConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupStreamConnectionRequest, output: StreamsConnectionOutput, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupStreamConnectionFailoverConnectionError = | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Stream Failover Connection Update one failover connection of the specified stream workspace. */ export const updateGroupStreamConnectionFailoverConnection: API.OperationMethod< UpdateGroupStreamConnectionFailoverConnectionRequest, StreamsFailoverConnectionOutput, UpdateGroupStreamConnectionFailoverConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupStreamConnectionFailoverConnectionRequest, output: StreamsFailoverConnectionOutput, errors: [Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupStreamPrivateLinkConnectionError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Private Link Connection Updates one Private Link connection in the specified project. */ export const updateGroupStreamPrivateLinkConnection: API.OperationMethod< UpdateGroupStreamPrivateLinkConnectionRequest, StreamsPrivateLinkConnection, UpdateGroupStreamPrivateLinkConnectionError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupStreamPrivateLinkConnectionRequest, output: StreamsPrivateLinkConnection, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupStreamProcessorError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Stream Processor Modify one existing Stream Processor within the specified stream workspace. */ export const updateGroupStreamProcessor: API.OperationMethod< UpdateGroupStreamProcessorRequest, StreamsProcessorWithStats, UpdateGroupStreamProcessorError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupStreamProcessorRequest, output: StreamsProcessorWithStats, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupStreamWorkspaceError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Stream Workspace Update one stream workspace in the specified project. */ export const updateGroupStreamWorkspace: API.OperationMethod< UpdateGroupStreamWorkspaceRequest, StreamsTenantOutput, UpdateGroupStreamWorkspaceError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupStreamWorkspaceRequest, output: StreamsTenantOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupTeamError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Team Roles in One Project Updates the project roles assigned to the specified team. You can grant team roles for specific projects and grant project access roles to users in the team. All members of the team share the same project access. */ export const updateGroupTeam: API.OperationMethod< UpdateGroupTeamRequest, PaginatedTeamRoleView, UpdateGroupTeamError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupTeamRequest, output: PaginatedTeamRoleView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateGroupUserSecurityError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update LDAP or X.509 Configuration Edits the LDAP configuration for the specified project. Updating this configuration triggers a rolling restart of the database. */ export const updateGroupUserSecurity: API.OperationMethod< UpdateGroupUserSecurityRequest, UpdateGroupUserSecurityResponse, UpdateGroupUserSecurityError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateGroupUserSecurityRequest, output: UpdateGroupUserSecurityResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateOrgError = | BadRequest | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Update One Organization Updates one organization. */ export const updateOrg: API.OperationMethod< UpdateOrgRequest, AtlasOrganization, UpdateOrgError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateOrgRequest, output: AtlasOrganization, errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateOrgApiKeyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Organization API Key Updates one organization API key in the specified organization. The organization API keys grant programmatic access to an organization. */ export const updateOrgApiKey: API.OperationMethod< UpdateOrgApiKeyRequest, ApiKeyUserDetails, UpdateOrgApiKeyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateOrgApiKeyRequest, output: ApiKeyUserDetails, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateOrgDelegationSettingsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Delegation Settings for One Organization Updates the delegation settings for the specified organization. Only fields present in the request body are updated; omitted fields retain their current values. */ export const updateOrgDelegationSettings: API.OperationMethod< UpdateOrgDelegationSettingsRequest, OrgDelegationSettingsResponse, UpdateOrgDelegationSettingsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateOrgDelegationSettingsRequest, output: OrgDelegationSettingsResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateOrgMcpConfigError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One MCP Configuration for One Organization Updates the specified MCP configuration for the organization. Supports partial updates: only provided fields are changed. */ export const updateOrgMcpConfig: API.OperationMethod< UpdateOrgMcpConfigRequest, OrgMcpConfigResponse, UpdateOrgMcpConfigError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateOrgMcpConfigRequest, output: OrgMcpConfigResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateOrgResourcePolicyError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Atlas Resource Policy Update one Atlas Resource Policy for an organization. */ export const updateOrgResourcePolicy: API.OperationMethod< UpdateOrgResourcePolicyRequest, ApiAtlasResourcePolicyView, UpdateOrgResourcePolicyError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateOrgResourcePolicyRequest, output: ApiAtlasResourcePolicyView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateOrgServiceAccountError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One Organization Service Account Updates the specified Service Account in the specified Organization. */ export const updateOrgServiceAccount: API.OperationMethod< UpdateOrgServiceAccountRequest, OrgServiceAccount, UpdateOrgServiceAccountError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateOrgServiceAccountRequest, output: OrgServiceAccount, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateOrgSettingsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update Settings for One Organization Updates the organization's settings. */ export const updateOrgSettings: API.OperationMethod< UpdateOrgSettingsRequest, OrganizationSettings, UpdateOrgSettingsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateOrgSettingsRequest, output: OrganizationSettings, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpdateOrgUserError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Update One MongoDB Cloud User in One Organization Updates one MongoDB Cloud user in the specified organization. You can update an active user or a user that has not yet accepted the invitation to join the organization. **Note**: Only include the fields you wish to update in the request body. Supplying a field with an empty value will reset that field on the user. **Note**: This resource cannot be used to update pending users invited via the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. */ export const updateOrgUser: API.OperationMethod< UpdateOrgUserRequest, OrgUserResponse, UpdateOrgUserError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateOrgUserRequest, output: OrgUserResponse, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type UpgradeGroupClusterTenantUpgradeError = | BadRequest | PaymentRequired | Forbidden | NotFound | Conflict | MongodbAtlasOpError; /** Upgrade One Shared-Tier Cluster Upgrades a shared-tier cluster to a Flex or Dedicated (M10+) cluster in the specified project. Each project supports up to 25 clusters. This endpoint can also be used to upgrade Flex clusters that were created using the [Create Cluster](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Clusters/operation/createCluster) API or former M2/M5 clusters that have been migrated to Flex clusters, using `instanceSizeName` to “M2” or “M5” until January 2026. This functionality will be available until January 22, 2026, after which it will only be available for M0 clusters. Please use the Upgrade Flex Cluster endpoint instead. */ export const upgradeGroupClusterTenantUpgrade: API.OperationMethod< UpgradeGroupClusterTenantUpgradeRequest, LegacyAtlasCluster, UpgradeGroupClusterTenantUpgradeError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpgradeGroupClusterTenantUpgradeRequest, output: LegacyAtlasCluster, errors: [ BadRequest, PaymentRequired, Forbidden, NotFound, Conflict, UnknownMongodbAtlasError, ], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ValidateGroupLiveMigrationsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Validate One Migration Request Verifies whether the provided credentials, available disk space, MongoDB versions, and so on meet the requirements of the migration request. If the check passes, the migration can proceed. Your API Key must have the Organization Owner role to successfully call this resource. Deprecated versions: v2-{2023-01-01} */ export const validateGroupLiveMigrations: API.OperationMethod< ValidateGroupLiveMigrationsRequest, LiveImportValidation, ValidateGroupLiveMigrationsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ValidateGroupLiveMigrationsRequest, output: LiveImportValidation, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type ValidateOrgResourcePoliciesError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Validate One Atlas Resource Policy Validate one Atlas Resource Policy for an organization. */ export const validateOrgResourcePolicies: API.OperationMethod< ValidateOrgResourcePoliciesRequest, ApiAtlasResourcePolicyView, ValidateOrgResourcePoliciesError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: ValidateOrgResourcePoliciesRequest, output: ApiAtlasResourcePolicyView, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type VerifyGroupUserSecurityLdapError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Verify LDAP Configuration in One Project Verifies the LDAP configuration for the specified project. */ export const verifyGroupUserSecurityLdap: API.OperationMethod< VerifyGroupUserSecurityLdapRequest, LDAPVerifyConnectivityJobRequestOutput, VerifyGroupUserSecurityLdapError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: VerifyGroupUserSecurityLdapRequest, output: LDAPVerifyConnectivityJobRequestOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, })); export type WithGroupStreamSampleConnectionsError = | BadRequest | Forbidden | NotFound | MongodbAtlasOpError; /** Create One Stream Workspace with Sample Connections Creates one stream workspace in the specified project with sample connections. */ export const withGroupStreamSampleConnections: API.OperationMethod< WithGroupStreamSampleConnectionsRequest, StreamsTenantOutput, WithGroupStreamSampleConnectionsError, MongodbAtlasOpContext > = /*@__PURE__*/ API.make(() => ({ input: WithGroupStreamSampleConnectionsRequest, output: StreamsTenantOutput, errors: [BadRequest, Forbidden, NotFound, UnknownMongodbAtlasError], protocol: MongodbAtlasProtocol, retry: Retry.Retry, }));