SERVER-103634 Apply "bazel run format" formatter to idl files (#34832)

GitOrigin-RevId: e23ba69af1ed014bde71eb620d93c5251cfad400
This commit is contained in:
Zack Winter 2025-04-09 14:11:16 -07:00 committed by MongoDB Bot
parent 9681c2cd8e
commit f20d8d6372
435 changed files with 16071 additions and 14721 deletions

View File

@ -11,6 +11,7 @@
!*.md
!*.yml
!*.yaml
!*.idl
# Ignore all golden test output files, which are machine-generated by the "golden"
# jstests. We would have to be able to run prettier (via bazel) during a jstest

View File

@ -6,6 +6,13 @@
"options": {
"tabWidth": 4
}
}
},
{
"files": "*.idl",
"options": {
"parser": "yaml",
"tabWidth": 4
}
},
]
}

View File

@ -66,10 +66,10 @@ types:
description: Accepts any numerical type within int32 range
cpp_type: std::int64_t
bson_serialization_type:
- long
- int
- decimal
- double
- long
- int
- decimal
- double
deserializer: "mongo::BSONElement::numberInt"
is_view: false
@ -89,7 +89,6 @@ types:
deserializer: "mongo::BSONElement::uuid"
is_view: false
structs:
default_values:
description: UnitTest for a single safeInt32
@ -121,4 +120,3 @@ structs:
uuidField:
type: bindata_uuid
description: "A binData of uuid subtype"

View File

@ -29,7 +29,7 @@ global:
cpp_namespace: "mongo"
imports:
- "test_types.idl"
- "test_types.idl"
structs:
GenericArguments:

View File

@ -29,7 +29,7 @@ global:
cpp_namespace: "mongo"
imports:
- "test_types.idl"
- "test_types.idl"
structs:
GenericArguments:

View File

@ -32,10 +32,11 @@ global:
imports:
- "mongo/db/basic_types.idl"
commands:
commands:
duplicateCommandNew:
description: "duplicate command in new commands fails because a command with the same name
is in compatibility_test_fail_new.idl"
description:
"duplicate command in new commands fails because a command with the same name
is in compatibility_test_fail_new.idl"
command_name: duplicateCommandNew
namespace: ignored
cpp_name: duplicateCommandNew

View File

@ -42,10 +42,11 @@ structs:
errorLabels:
type: StructType
stability: stable
StructType:
description: "This struct contains a field that is non-optional in the old
command and optional in the new command."
description:
"This struct contains a field that is non-optional in the old
command and optional in the new command."
fields:
structField:
type: string

View File

@ -31,8 +31,9 @@ global:
structs:
ImportedUnstableNewFieldReply:
description: "This reply contains a field that is stable in the old command but is
unstable in the new command."
description:
"This reply contains a field that is stable in the old command but is
unstable in the new command."
fields:
unstableNewField:
type: string

View File

@ -36,8 +36,8 @@ imports:
types:
bsonSerializationTypeAny:
bson_serialization_type:
- int
- any
- int
- any
description: "The bson_serialization_type contains 'any'"
cpp_type: "std::int32_t"
is_view: false
@ -81,8 +81,9 @@ commands:
reply_type: NewStructFieldNoUnstableField
newCommandTypeStructFieldNoUnstableField:
description: "newly added command has a command type struct field without the unstable
field specified"
description:
"newly added command has a command type struct field without the unstable
field specified"
command_name: newCommandTypeStructFieldNoUnstableField
namespace: type
type: NewStructFieldNoUnstableField
@ -92,8 +93,9 @@ commands:
reply_type: OkReply
newCommandParameterBsonSerializationTypeAny:
description: "newly added command has a parameter type that has bson_serialization_type
with 'any'"
description:
"newly added command has a parameter type that has bson_serialization_type
with 'any'"
command_name: newCommandParameterBsonSerializationTypeAny
namespace: ignored
cpp_name: newCommandParameterBsonSerializationTypeAny
@ -106,8 +108,9 @@ commands:
reply_type: OkReply
newCommandReplyBsonSerializationTypeAny:
description: "newly added command has a reply field type that has bson_serialization_type
with 'any'"
description:
"newly added command has a reply field type that has bson_serialization_type
with 'any'"
command_name: newCommandReplyBsonSerializationTypeAny
namespace: ignored
cpp_name: newCommandReplyBsonSerializationTypeAny
@ -116,8 +119,9 @@ commands:
reply_type: NewStructFieldTypeContainsAny
newCommandTypeStructFieldBsonSerializationTypeAny:
description: "newly added command has a command struct field type that has
bson_serialization_type with 'any'"
description:
"newly added command has a command struct field type that has
bson_serialization_type with 'any'"
command_name: newCommandTypeStructFieldBsonSerializationTypeAny
namespace: type
type: NewStructFieldTypeContainsAny

View File

@ -32,10 +32,11 @@ global:
imports:
- "mongo/db/basic_types.idl"
commands:
commands:
duplicateCommandOld:
description: "duplicate command in old commands fails because a command with the same name
is in compatibility_test_fail_old.idl"
description:
"duplicate command in old commands fails because a command with the same name
is in compatibility_test_fail_old.idl"
command_name: duplicateCommandOld
namespace: ignored
cpp_name: duplicateCommandOld

View File

@ -35,7 +35,6 @@ types:
is_view: false
structs:
ErrorReply:
description: "Error Reply struct should fail"
strict: false
@ -43,10 +42,11 @@ structs:
errorLabels:
type: StructType
stability: stable
StructType:
description: "This struct contains a field that is non-optional in the old
command and optional in the new command."
description:
"This struct contains a field that is non-optional in the old
command and optional in the new command."
fields:
structField:
type: string

View File

@ -31,8 +31,9 @@ global:
structs:
ImportedUnstableNewFieldReply:
description: "This reply contains a field that is stable in the old command but is
unstable in the new command."
description:
"This reply contains a field that is stable in the old command but is
unstable in the new command."
fields:
unstableNewField:
type: string

View File

@ -42,10 +42,10 @@ structs:
errorLabels:
type: StructType
stability: stable
StructType:
description: "This struct contains a field that is optional in the old
command and non-optional in the new command."
command and non-optional in the new command."
fields:
structField:
type: string

View File

@ -34,8 +34,9 @@ imports:
structs:
ImportedStableNewFieldReply:
description: "This reply contains a field that is unstable in the old command but is
stable in the new command."
description:
"This reply contains a field that is unstable in the old command but is
stable in the new command."
fields:
stableNewField:
type: string

View File

@ -42,10 +42,10 @@ structs:
errorLabels:
type: StructType
stability: stable
StructType:
description: "This struct contains a field that is optional in the old
command and non-optional in the new command."
command and non-optional in the new command."
fields:
structField:
type: string

View File

@ -34,8 +34,9 @@ imports:
structs:
ImportedStableNewFieldReply:
description: "This reply contains a field that is unstable in the old command but is
stable in the new command."
description:
"This reply contains a field that is unstable in the old command but is
stable in the new command."
fields:
stableNewField:
type: string

View File

@ -2,7 +2,7 @@
# resmoke
feature_flags:
featureFlagToaster:
description: "Create a feature flag"
cpp_varname: gFeatureFlagToaster
default: false
shouldBeFCVGated: true
description: "Create a feature flag"
cpp_varname: gFeatureFlagToaster
default: false
shouldBeFCVGated: true

View File

@ -29,34 +29,34 @@
# BSON validate modes
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
enums:
BSONValidateMode:
description: "The validate mode that dbCheck will run for BSON consistency checks"
type: string
# kDefault: Only fast structural BSON consistency checks
# kExtended: Structural BSON consistency and extra fast checks on BSON specifications.
# kFull: Structural BSON consistency and extra comprehensive checks on BSON specifications.
values:
kDefault: "kDefault"
kExtended: "kExtended"
kFull: "kFull"
BSONValidateMode:
description: "The validate mode that dbCheck will run for BSON consistency checks"
type: string
# kDefault: Only fast structural BSON consistency checks
# kExtended: Structural BSON consistency and extra fast checks on BSON specifications.
# kFull: Structural BSON consistency and extra comprehensive checks on BSON specifications.
values:
kDefault: "kDefault"
kExtended: "kExtended"
kFull: "kFull"
# Server paramaters for validation.
# Range and default value should be kept in sync with src/mongo/bson/bson_validate.h
server_parameters:
bsonTestValidationVersion:
description: "The version of the BSON validator that will be used to check correctness of data in test environments"
set_at: startup
cpp_vartype: int
cpp_varname: bsonTestValidationVersion
validator:
gte: 1
lte: 2
default: 2
redact: false
bsonTestValidationVersion:
description: "The version of the BSON validator that will be used to check correctness of data in test environments"
set_at: startup
cpp_vartype: int
cpp_varname: bsonTestValidationVersion
validator:
gte: 1
lte: 2
default: 2
redact: false

View File

@ -27,17 +27,17 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
server_parameters:
connectionAcquisitionToWireLoggingRate:
description: >-
The rate at which egress connection metrics below a certain time threshold will be logged at
info level. This only applies for the 'network.totalConnectionAcquiredToWireMillis'
server status metric.
set_at: [ startup, runtime ]
cpp_vartype: AtomicWord<double>
cpp_varname: gConnectionAcquisitionToWireLoggingRate
default: 0.05
validator: { gte: 0.0, lte: 1.0 }
redact: false
connectionAcquisitionToWireLoggingRate:
description: >-
The rate at which egress connection metrics below a certain time threshold will be logged at
info level. This only applies for the 'network.totalConnectionAcquiredToWireMillis'
server status metric.
set_at: [startup, runtime]
cpp_vartype: AtomicWord<double>
cpp_varname: gConnectionAcquisitionToWireLoggingRate
default: 0.05
validator: {gte: 0.0, lte: 1.0}
redact: false

View File

@ -26,31 +26,31 @@
# it in the license file.
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
structs:
# Follow the MongoDB Drivers API for passing API Version parameters in clients. The drivers API
# is like MongoClient(uri, api={version: "1", strict: true, deprecationErrors: true}).
# Follow the MongoDB Drivers API for passing API Version parameters in clients. The drivers API
# is like MongoClient(uri, api={version: "1", strict: true, deprecationErrors: true}).
ClientAPIVersionParameters:
description: "Parser for Stable API parameters passed to 'new Mongo()' in the mongo shell"
strict: true
fields:
version:
description: "The requested API version"
type: string
# The server requires the apiVersion parameter in commands, leave enforcement to the server.
optional: true
strict:
description: "Whether to restrict the connection to behaviors in the requested API version"
type: bool
optional: true
deprecationErrors:
description: "Whether to restrict the connection to non-deprecated behaviors in the
requested API version"
type: bool
optional: true
ClientAPIVersionParameters:
description: "Parser for Stable API parameters passed to 'new Mongo()' in the mongo shell"
strict: true
fields:
version:
description: "The requested API version"
type: string
# The server requires the apiVersion parameter in commands, leave enforcement to the server.
optional: true
strict:
description: "Whether to restrict the connection to behaviors in the requested API version"
type: bool
optional: true
deprecationErrors:
description:
"Whether to restrict the connection to non-deprecated behaviors in the
requested API version"
type: bool
optional: true

View File

@ -27,46 +27,45 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
structs:
ClientTLSParameters:
description: "Parser for TLS parameters passed to 'new Mongo()' in jstests"
strict: true
fields:
certificateKeyFile:
description: "PEM certificate/key file for TLS"
type: string
optional: true
certificateKeyFilePassword:
description: "Password for key in PEM file for TLS"
type: string
optional: true
CAFile:
description: "Certificate Authority file for TLS"
type: string
optional: true
CRLFile:
description: "Certificate Revocation List file for TLS"
type: string
optional: true
allowInvalidHostnames:
description: "Allow connections to servers with non-matching hostnames"
type: bool
default: false
allowInvalidCertificates:
description: "Allow connections to servers with invalid certificates"
type: bool
default: false
certificateSelector:
description: "TLS Certificate in system store"
type: string
optional: true
disabledProtocols:
description: "Comma separated list of TLS protocols to disable [TLS1_0,TLS1_1,TLS1_2,TLS1_3]"
type: string
optional: true
ClientTLSParameters:
description: "Parser for TLS parameters passed to 'new Mongo()' in jstests"
strict: true
fields:
certificateKeyFile:
description: "PEM certificate/key file for TLS"
type: string
optional: true
certificateKeyFilePassword:
description: "Password for key in PEM file for TLS"
type: string
optional: true
CAFile:
description: "Certificate Authority file for TLS"
type: string
optional: true
CRLFile:
description: "Certificate Revocation List file for TLS"
type: string
optional: true
allowInvalidHostnames:
description: "Allow connections to servers with non-matching hostnames"
type: bool
default: false
allowInvalidCertificates:
description: "Allow connections to servers with invalid certificates"
type: bool
default: false
certificateSelector:
description: "TLS Certificate in system store"
type: string
optional: true
disabledProtocols:
description: "Comma separated list of TLS protocols to disable [TLS1_0,TLS1_1,TLS1_2,TLS1_3]"
type: string
optional: true

View File

@ -6,95 +6,95 @@
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# Server Side Public License for more details.
#
# You should have received a copy of the Server Side Public License
# along with this program. If not, see
# along with this program. If not, see
# <http://www.mongodb.com/licensing/server-side-public-license>.
#
# As a special exception, the copyright holders give permission to link the
# As a special exception, the copyright holders give permission to link the
# code of portions of this program with the OpenSSL library under certain
# conditions as described in each individual source file and distribute
# linked combinations including the program with the OpenSSL library. You
# must comply with the Server Side Public License in all respects for
# linked combinations including the program with the OpenSSL library. You
# must comply with the Server Side Public License in all respects for
# all of the code used other than as permitted herein. If you modify file(s)
# with this exception, you may extend this exception to your version of the
# file(s), but you are not obligated to do so. If you do not wish to do so,
# with this exception, you may extend this exception to your version of the
# file(s), but you are not obligated to do so. If you do not wish to do so,
# delete this exception statement from your version. If you delete this
# exception statement from all source files in the program, then also delete
# it in the license file.
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
server_parameters:
connPoolMaxConnsPerHost:
description: >
New in version 2.6.
connPoolMaxConnsPerHost:
description: >
New in version 2.6.
Available for both mongod and mongos.
Available for both mongod and mongos.
Sets the maximum size of the legacy connection pools for
outgoing connections to other mongod instances in the global
connection pool. The size of a pool does not prevent the
creation of additional connections, but does prevent a
connection pool from retaining connections in excess of the
value of connPoolMaxConnsPerHost.
Sets the maximum size of the legacy connection pools for
outgoing connections to other mongod instances in the global
connection pool. The size of a pool does not prevent the
creation of additional connections, but does prevent a
connection pool from retaining connections in excess of the
value of connPoolMaxConnsPerHost.
Only adjust this setting if your driver does not pool
connections and you're using authentication in the context of a
sharded cluster.
Only adjust this setting if your driver does not pool
connections and you're using authentication in the context of a
sharded cluster.
set_at:
- startup
set_at:
- startup
cpp_vartype: int
cpp_varname: maxConnsPerHost
default: 200
redact: false
cpp_vartype: int
cpp_varname: maxConnsPerHost
default: 200
redact: false
connPoolMaxInUseConnsPerHost:
description: >
New in version 3.6.3.
connPoolMaxInUseConnsPerHost:
description: >
New in version 3.6.3.
Available for both mongod and mongos.
Available for both mongod and mongos.
Sets the maximum number of in-use connections at any given time
for for outgoing connections to other mongod instances in the
legacy global connection pool.
Sets the maximum number of in-use connections at any given time
for for outgoing connections to other mongod instances in the
legacy global connection pool.
By default, the parameter is unset.
By default, the parameter is unset.
set_at:
- startup
set_at:
- startup
cpp_vartype: int
cpp_varname: maxInUseConnsPerHost
default:
expr: std::numeric_limits<int>::max()
redact: false
cpp_vartype: int
cpp_varname: maxInUseConnsPerHost
default:
expr: std::numeric_limits<int>::max()
redact: false
globalConnPoolIdleTimeoutMinutes:
description: >
New in version 3.6.3.
globalConnPoolIdleTimeoutMinutes:
description: >
New in version 3.6.3.
Available for both mongod and mongos.
Available for both mongod and mongos.
Sets the time limit that connection in the legacy global
connection pool can remain idle before being closed.
Sets the time limit that connection in the legacy global
connection pool can remain idle before being closed.
By default, the parameter is unset.
By default, the parameter is unset.
set_at:
- startup
set_at:
- startup
cpp_vartype: int
cpp_varname: globalConnPoolIdleTimeout
default:
expr: std::numeric_limits<int>::max()
redact: false
cpp_vartype: int
cpp_varname: globalConnPoolIdleTimeout
default:
expr: std::numeric_limits<int>::max()
redact: false

View File

@ -27,17 +27,17 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
structs:
HedgingMode:
description: The hedging mode for mongos.
fields:
enabled:
cpp_name: enabled
type: bool
description: Enable hedged reads.
default: true
HedgingMode:
description: The hedging mode for mongos.
fields:
enabled:
cpp_name: enabled
type: bool
description: Enable hedged reads.
default: true

View File

@ -27,26 +27,26 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/client/client_api_version_parameters.idl"
- "mongo/client/client_transient_tls_parameters.idl"
- "mongo/db/basic_types.idl"
- "mongo/client/client_api_version_parameters.idl"
- "mongo/client/client_transient_tls_parameters.idl"
- "mongo/db/basic_types.idl"
structs:
MongoShellOptions:
description: "The third argument to `new Mongo(...)`"
fields:
api:
description: "API strict version parameter"
type: ClientAPIVersionParameters
optional: true
tls:
description: "TLS configuration options"
type: ClientTLSParameters
optional: true
gRPC:
description: "Set if the shell should use gRPC to connect"
type: bool
optional: true
MongoShellOptions:
description: "The third argument to `new Mongo(...)`"
fields:
api:
description: "API strict version parameter"
type: ClientAPIVersionParameters
optional: true
tls:
description: "TLS configuration options"
type: ClientTLSParameters
optional: true
gRPC:
description: "Set if the shell should use gRPC to connect"
type: bool
optional: true

View File

@ -29,63 +29,63 @@
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/client/read_preference_validators.h"
- "mongo/client/read_preference_validators.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/client/hedging_mode.idl"
enums:
ReadPreference:
description: Enumeration representing Read Preference Modes
type: string
values:
# Read from primary only. All operations produce an error (throw an exception where
# applicable) if primary is unavailable. Cannot be combined with tags.
PrimaryOnly: "primary"
#
# Read from primary if available, otherwise a secondary. Tags will only be applied in the
# event that the primary is unavailable and a secondary is read from. In this event only
# secondaries matching the tags provided would be read from.
PrimaryPreferred: "primaryPreferred"
#
# Read from secondary if available, otherwise error.
SecondaryOnly: "secondary"
#
# Read from a secondary if available, otherwise read from the primary.
SecondaryPreferred: "secondaryPreferred"
#
# Read from any member.
Nearest: "nearest"
ReadPreference:
description: Enumeration representing Read Preference Modes
type: string
values:
# Read from primary only. All operations produce an error (throw an exception where
# applicable) if primary is unavailable. Cannot be combined with tags.
PrimaryOnly: "primary"
#
# Read from primary if available, otherwise a secondary. Tags will only be applied in the
# event that the primary is unavailable and a secondary is read from. In this event only
# secondaries matching the tags provided would be read from.
PrimaryPreferred: "primaryPreferred"
#
# Read from secondary if available, otherwise error.
SecondaryOnly: "secondary"
#
# Read from a secondary if available, otherwise read from the primary.
SecondaryPreferred: "secondaryPreferred"
#
# Read from any member.
Nearest: "nearest"
structs:
ReadPreferenceIdl:
description: "An object representing a read preference document, used only for mapping to
and from BSON."
strict: false
fields:
mode:
description: Read preference mode.
type: ReadPreference
tags:
description: List of tags requested by $readPreference.
type: array
optional: true
hedge:
description: Hedging mode determines whether or not hedging is enabled.
type: HedgingMode
optional: true
maxStalenessSeconds:
description: Specifies a maximum replication lag for reads from secondaries.
type: safeInt64
optional: true
validator:
callback: validateMaxStalenessSecondsExternal
$_isPretargeted:
description: "Used by the replica set endpoint in sharding to mark commands that it
forces to go through the router as needing to target the local mongod."
cpp_name: isPretargeted
type: bool
optional: true
ReadPreferenceIdl:
description:
"An object representing a read preference document, used only for mapping to
and from BSON."
strict: false
fields:
mode:
description: Read preference mode.
type: ReadPreference
tags:
description: List of tags requested by $readPreference.
type: array
optional: true
hedge:
description: Hedging mode determines whether or not hedging is enabled.
type: HedgingMode
optional: true
maxStalenessSeconds:
description: Specifies a maximum replication lag for reads from secondaries.
type: safeInt64
optional: true
validator:
callback: validateMaxStalenessSecondsExternal
$_isPretargeted:
description:
"Used by the replica set endpoint in sharding to mark commands that it
forces to go through the router as needing to target the local mongod."
cpp_name: isPretargeted
type: bool
optional: true

View File

@ -27,20 +27,20 @@
#
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/client/read_preference.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/client/read_preference.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/client/read_preference.idl"
- "mongo/db/basic_types.idl"
- "mongo/client/read_preference.idl"
types:
readPreference:
description: "Represents the read preference of a command."
bson_serialization_type: object
cpp_type: ReadPreferenceSetting
serializer: ReadPreferenceSetting::toInnerBSON
deserializer: ReadPreferenceSetting::fromInnerBSONForIDL
# Deserializer uses getOwned.
is_view: false
readPreference:
description: "Represents the read preference of a command."
bson_serialization_type: object
cpp_type: ReadPreferenceSetting
serializer: ReadPreferenceSetting::toInnerBSON
deserializer: ReadPreferenceSetting::fromInnerBSONForIDL
# Deserializer uses getOwned.
is_view: false

View File

@ -39,14 +39,13 @@ server_parameters:
name: RSMProtocolServerParameter
redact: false
defaultFindReplicaSetHostTimeoutMS:
description: >-
The timeout used for finding a replica set host.
description: >-
The timeout used for finding a replica set host.
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<int>'
cpp_varname: gDefaultFindReplicaSetHostTimeoutMS
default: 15000
test_only: true
redact: false
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<int>"
cpp_varname: gDefaultFindReplicaSetHostTimeoutMS
default: 15000
test_only: true
redact: false

View File

@ -3,8 +3,8 @@
global:
cpp_namespace: "mongo::awsIam"
configs:
section: 'AWS IAM Options'
source: [ cli ]
section: "AWS IAM Options"
source: [cli]
cpp_includes:
- mongo/client/sasl_aws_client_options.h

View File

@ -34,27 +34,27 @@ imports:
structs:
Ec2SecurityCredentials:
description : "Security Credentials from EC2 Instance Metadata"
# See - https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#instance-metadata-security-credentials
# Don't fail if AWS expands this to include more fields in the future
strict: false
fields:
Code: string
LastUpdated: string
Type: string
AccessKeyId: string
SecretAccessKey: string
Token: string
Expiration: string
description: "Security Credentials from EC2 Instance Metadata"
# See - https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#instance-metadata-security-credentials
# Don't fail if AWS expands this to include more fields in the future
strict: false
fields:
Code: string
LastUpdated: string
Type: string
AccessKeyId: string
SecretAccessKey: string
Token: string
Expiration: string
EcsTaskSecurityCredentials:
description : "Security Credentials from ECS Task"
# See -https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html
# Don't fail if AWS expands this to include more fields in the future
strict: false
fields:
AccessKeyId: string
Expiration: string
RoleArn: string
SecretAccessKey: string
Token: string
description: "Security Credentials from ECS Task"
# See -https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html
# Don't fail if AWS expands this to include more fields in the future
strict: false
fields:
AccessKeyId: string
Expiration: string
RoleArn: string
SecretAccessKey: string
Token: string

View File

@ -36,47 +36,47 @@ structs:
awsClientFirst:
description: "SASL AWS Client First message"
fields:
# Must be 32 bytes
r:
type: bindata_generic
cpp_name: nonce
p:
type: int
cpp_name: gs2_cb_flag
# Must be 32 bytes
r:
type: bindata_generic
cpp_name: nonce
p:
type: int
cpp_name: gs2_cb_flag
awsServerFirst:
description: "SASL AWS Server First message"
fields:
# Must be 64 bytes
s:
type: bindata_generic
cpp_name: ServerNonce
h:
type: string
cpp_name: StsHost
# Must be 64 bytes
s:
type: bindata_generic
cpp_name: ServerNonce
h:
type: string
cpp_name: StsHost
awsClientSecond:
description: "SASL AWS Client Second message"
fields:
a:
type: string
cpp_name: AuthHeader
d:
type: string
cpp_name: XAmzDate
t:
type: string
optional: true
cpp_name: XAmzSecurityToken
p:
type: string
optional: true
cpp_name: ChannelBindingPrefix
c:
type: string
optional: true
cpp_name: ChannelBindingData
o:
type: object
optional: true
cpp_name: Object
a:
type: string
cpp_name: AuthHeader
d:
type: string
cpp_name: XAmzDate
t:
type: string
optional: true
cpp_name: XAmzSecurityToken
p:
type: string
optional: true
cpp_name: ChannelBindingPrefix
c:
type: string
optional: true
cpp_name: ChannelBindingData
o:
type: object
optional: true
cpp_name: Object

View File

@ -26,31 +26,28 @@
# it in the license file.
#
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/client/sasl_sspi_options.h"
configs:
section: "Kerberos Options"
source: [ yaml, cli, ini ]
cpp_namespace: "mongo"
cpp_includes:
- "mongo/client/sasl_sspi_options.h"
configs:
section: "Kerberos Options"
source: [yaml, cli, ini]
configs:
"security.sspiHostnamecanonicalization":
short_name: "sspiHostnamecanonicalization"
description: "DNS resolution strategy to use for hostname canonicalization. May be one of: {none, forward, forwardAndReverse}"
arg_vartype: String
default: "none"
condition:
preprocessor: "defined(_WIN32)"
"security.sspiHostnamecanonicalization":
short_name: "sspiHostnamecanonicalization"
description: "DNS resolution strategy to use for hostname canonicalization. May be one of: {none, forward, forwardAndReverse}"
arg_vartype: String
default: "none"
condition:
preprocessor: "defined(_WIN32)"
"security.sspiRealmOverride":
short_name: "sspiRealmOverride"
description: "Override the detected realm with the provided string"
arg_vartype: String
cpp_varname: "saslSSPIGlobalParams.realmOverride"
hidden: true
condition:
preprocessor: "defined(_WIN32)"
"security.sspiRealmOverride":
short_name: "sspiRealmOverride"
description: "Override the detected realm with the provided string"
arg_vartype: String
cpp_varname: "saslSSPIGlobalParams.realmOverride"
hidden: true
condition:
preprocessor: "defined(_WIN32)"

View File

@ -32,30 +32,30 @@ global:
- "mongo/db/server_options.h"
- "mongo/db/server_options_base.h"
configs:
section: 'General options'
source: [ cli ]
section: "General options"
source: [cli]
initializer:
register: addCliOptions
configs:
help:
description: 'Show this usage information'
description: "Show this usage information"
single_name: h
arg_vartype: Switch
source: [ cli ]
source: [cli]
filter:
description: 'Filter by test file name'
description: "Filter by test file name"
single_name: f
arg_vartype: StringVector
source: [ cli ]
source: [cli]
source-dir:
description: 'The directory containing the json test files'
description: "The directory containing the json test files"
single_name: s
arg_vartype: String
source: [ cli ]
source: [cli]
verbose:
description: 'The verbosity level'
description: "The verbosity level"
single_name: v
arg_vartype: String
source: [ cli ]
source: [cli]
implicit: v

View File

@ -28,13 +28,14 @@
global:
cpp_namespace: mongo::sdam
cpp_includes:
- "mongo/db/server_options.h"
- "mongo/db/server_options.h"
server_parameters:
heartBeatFrequencyMs:
description: "For the 'sdam' replicaSetMonitorProtocol, determines how long to wait between
'hello' requests. For the 'streamable' replicaSetMonitorProtocol, duration between rtt
measurements."
description: >-
For the 'sdam' replicaSetMonitorProtocol, determines how long to wait between
'hello' requests. For the 'streamable' replicaSetMonitorProtocol, duration between rtt
measurements.
set_at: startup
cpp_vartype: int
cpp_varname: sdamHeartBeatFrequencyMs
@ -59,5 +60,3 @@ server_parameters:
gte: 500
default: 10000
redact: false

View File

@ -35,18 +35,18 @@ imports:
- "mongo/db/basic_types.idl"
types:
encrypted_numeric:
bson_serialization_type:
- date
- decimal
- double
- int
- long
description: A value with any encrypted range numeric BSON type.
cpp_type: Value
serializer: Value::serializeForIDL
deserializer: Value::deserializeForIDL
is_view: false
encrypted_numeric:
bson_serialization_type:
- date
- decimal
- double
- int
- long
description: A value with any encrypted range numeric BSON type.
cpp_type: Value
serializer: Value::serializeForIDL
deserializer: Value::deserializeForIDL
is_view: false
enums:
QueryType:
@ -62,7 +62,6 @@ enums:
PrefixPreview: "prefixPreview"
structs:
QueryTypeConfig:
description: "Information about query support for a field"
strict: true
@ -76,7 +75,7 @@ structs:
type: exactInt64
default: 8
stability: unstable
validator: { gte: 0 }
validator: {gte: 0}
min:
description: "Defines the lower bound for field values in this encrypted index. Only applicable for queryType range"
type: encrypted_numeric
@ -92,7 +91,7 @@ structs:
type: exactInt64
optional: true
stability: unstable
validator: { gte: 1, lte: 8 }
validator: {gte: 1, lte: 8}
precision:
description: >-
Defines the number of digits after the decimal point for floating point numbers.
@ -100,11 +99,11 @@ structs:
type: safeInt
optional: true
stability: unstable
validator: { gte: 0 }
validator: {gte: 0}
trimFactor:
description: >-
Number of root tree levels to cut. Increasing this value will decrease write conflicts and speed up inserts,
but large range queries will slow down."
but large range queries will slow down.
type: safeInt
optional: true
stability: unstable
@ -116,7 +115,7 @@ structs:
type: safeInt
optional: true
stability: unstable
validator: { gt: 0 }
validator: {gt: 0}
strMinQueryLength:
description: >-
The minimum allowed length for inputs to prefix/suffix/substring lookups.
@ -124,7 +123,7 @@ structs:
type: safeInt
optional: true
stability: unstable
validator: { gt: 0 }
validator: {gt: 0}
strMaxQueryLength:
description: >-
The maximum allowed length for inputs to prefix/suffix/substring lookups.
@ -132,7 +131,7 @@ structs:
type: safeInt
optional: true
stability: unstable
validator: { gt: 0 }
validator: {gt: 0}
caseSensitive:
description: "Enables case folding in the StrEncode algorithm if set to false."
type: bool
@ -160,7 +159,7 @@ structs:
bsonType:
description: "BSON type of field to encrypt"
type: string
validator: { callback: "isValidBSONTypeName" }
validator: {callback: "isValidBSONTypeName"}
optional: true
stability: unstable
queries:
@ -199,4 +198,4 @@ structs:
type: int
optional: true
stability: unstable
validator: { gt: 0 }
validator: {gt: 0}

File diff suppressed because it is too large Load Diff

View File

@ -27,64 +27,69 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/idl/cluster_server_parameter.idl"
- "mongo/idl/cluster_server_parameter.idl"
structs:
FLECompactionOptions:
description: "Options related to compaction or cleanup operations in Queryable Encryption
protocol version 2"
strict: false
inline_chained_structs: true
chained_structs:
ClusterServerParameter: clusterServerParameter
fields:
maxCompactionSize:
description: "Limits the total size of the set of ESC documents that will be removed by
each compactStructuredEncryptionData operation"
type: int
default: 268435456 # 256 MB
validator:
gt: 0
maxAnchorCompactionSize:
description: "Limits the total size of the set of ESC anchors that will be removed by
each cleanupStructuredEncryptionData operation"
type: int
default: 268435456 # 256 MB
validator:
gt: 0
maxESCEntriesPerCompactionDelete:
description: "Limits the number of ESC non-anchor documents that will be removed by each
delete operation performed by the compactStructuredEncryptionData operation"
type: int
default: 350000
validator:
gt: 0
lte: 350000 # Limit the tags in the $in query to just under 15 MB per request
compactAnchorPaddingFactor:
description: "Default value for {compactStructuredEncryptionData.anchorPaddingFactor: %f}"
type: double
optional: true
validator:
gte: 0.0
lte: 1.0
FLECompactionOptions:
description:
"Options related to compaction or cleanup operations in Queryable Encryption
protocol version 2"
strict: false
inline_chained_structs: true
chained_structs:
ClusterServerParameter: clusterServerParameter
fields:
maxCompactionSize:
description:
"Limits the total size of the set of ESC documents that will be removed by
each compactStructuredEncryptionData operation"
type: int
default: 268435456 # 256 MB
validator:
gt: 0
maxAnchorCompactionSize:
description:
"Limits the total size of the set of ESC anchors that will be removed by
each cleanupStructuredEncryptionData operation"
type: int
default: 268435456 # 256 MB
validator:
gt: 0
maxESCEntriesPerCompactionDelete:
description:
"Limits the number of ESC non-anchor documents that will be removed by each
delete operation performed by the compactStructuredEncryptionData operation"
type: int
default: 350000
validator:
gt: 0
lte: 350000 # Limit the tags in the $in query to just under 15 MB per request
compactAnchorPaddingFactor:
description: "Default value for {compactStructuredEncryptionData.anchorPaddingFactor: %f}"
type: double
optional: true
validator:
gte: 0.0
lte: 1.0
server_parameters:
unsupportedDangerousTestingFLEDiagnosticsEnabled:
description: 'Start with test-only FLE statistics behavior enabled'
set_at: startup
cpp_vartype: bool
cpp_varname: gUnsupportedDangerousTestingFLEDiagnosticsEnabledAtStartup
default: false
redact: false
fleCompactionOptions:
description: "Options related to compaction or cleanup operations in Queryable Encryption
protocol version 2"
set_at: cluster
cpp_varname: "fleCompactionOptions"
cpp_vartype: FLECompactionOptions
redact: false
omit_in_ftdc: false
unsupportedDangerousTestingFLEDiagnosticsEnabled:
description: "Start with test-only FLE statistics behavior enabled"
set_at: startup
cpp_vartype: bool
cpp_varname: gUnsupportedDangerousTestingFLEDiagnosticsEnabledAtStartup
default: false
redact: false
fleCompactionOptions:
description:
"Options related to compaction or cleanup operations in Queryable Encryption
protocol version 2"
set_at: cluster
cpp_varname: "fleCompactionOptions"
cpp_vartype: FLECompactionOptions
redact: false
omit_in_ftdc: false

View File

@ -62,11 +62,11 @@ structs:
CompactStats:
description: "Stats about records in ECOC, and ESC compact touched"
fields:
ecoc: ECOCStats
esc: ECStats
ecoc: ECOCStats
esc: ECStats
CleanupStats:
description: "Stats about records in ECOC, and ESC cleanup touched"
fields:
ecoc: ECOCStats
esc: ECStats
ecoc: ECOCStats
esc: ECStats

View File

@ -37,361 +37,361 @@ types:
CollectionsLevel1Token:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'CollectionsLevel1Token'
description: "CollectionsLevel1Token"
cpp_type: "CollectionsLevel1Token"
serializer: 'toCDR'
deserializer: '::mongo::CollectionsLevel1Token::parse'
serializer: "toCDR"
deserializer: "::mongo::CollectionsLevel1Token::parse"
is_view: false
ServerDataEncryptionLevel1Token:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ServerDataEncryptionLevel1Token'
description: "ServerDataEncryptionLevel1Token"
cpp_type: "ServerDataEncryptionLevel1Token"
serializer: 'toCDR'
deserializer: '::mongo::ServerDataEncryptionLevel1Token::parse'
serializer: "toCDR"
deserializer: "::mongo::ServerDataEncryptionLevel1Token::parse"
is_view: false
EDCToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCToken'
description: "EDCToken"
cpp_type: "EDCToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCToken::parse"
is_view: false
ESCToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCToken'
description: "ESCToken"
cpp_type: "ESCToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCToken::parse"
is_view: false
ECOCToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ECOCToken'
description: "ECOCToken"
cpp_type: "ECOCToken"
serializer: 'toCDR'
deserializer: '::mongo::ECOCToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ECOCToken::parse"
is_view: false
EDCDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCDerivedFromDataToken'
description: "EDCDerivedFromDataToken"
cpp_type: "EDCDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCDerivedFromDataToken::parse"
is_view: false
ESCDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCDerivedFromDataToken'
description: "ESCDerivedFromDataToken"
cpp_type: "ESCDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCDerivedFromDataToken::parse"
is_view: false
EDCDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCDerivedFromDataTokenAndContentionFactorToken'
description: "EDCDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "EDCDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
ESCDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCDerivedFromDataTokenAndContentionFactorToken'
description: "ESCDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "ESCDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
EDCTwiceDerivedToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCTwiceDerivedToken'
description: "EDCTwiceDerivedToken"
cpp_type: "EDCTwiceDerivedToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCTwiceDerivedToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCTwiceDerivedToken::parse"
is_view: false
ESCTwiceDerivedTagToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTwiceDerivedTagToken'
description: "ESCTwiceDerivedTagToken"
cpp_type: "ESCTwiceDerivedTagToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTwiceDerivedTagToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTwiceDerivedTagToken::parse"
is_view: false
ESCTwiceDerivedValueToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTwiceDerivedValueToken'
description: "ESCTwiceDerivedValueToken"
cpp_type: "ESCTwiceDerivedValueToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTwiceDerivedValueToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTwiceDerivedValueToken::parse"
is_view: false
ServerTokenDerivationLevel1Token:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ServerTokenDerivationLevel1Token'
description: "ServerTokenDerivationLevel1Token"
cpp_type: "ServerTokenDerivationLevel1Token"
serializer: 'toCDR'
deserializer: '::mongo::ServerTokenDerivationLevel1Token::parse'
serializer: "toCDR"
deserializer: "::mongo::ServerTokenDerivationLevel1Token::parse"
is_view: false
ServerDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ServerDerivedFromDataToken'
description: "ServerDerivedFromDataToken"
cpp_type: "ServerDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ServerDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ServerDerivedFromDataToken::parse"
is_view: false
ServerCountAndContentionFactorEncryptionToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ServerCountAndContentionFactorEncryptionToken'
description: "ServerCountAndContentionFactorEncryptionToken"
cpp_type: "ServerCountAndContentionFactorEncryptionToken"
serializer: 'toCDR'
deserializer: '::mongo::ServerCountAndContentionFactorEncryptionToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ServerCountAndContentionFactorEncryptionToken::parse"
is_view: false
ServerZerosEncryptionToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ServerZerosEncryptionToken'
description: "ServerZerosEncryptionToken"
cpp_type: "ServerZerosEncryptionToken"
serializer: 'toCDR'
deserializer: '::mongo::ServerZerosEncryptionToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ServerZerosEncryptionToken::parse"
is_view: false
AnchorPaddingRootToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'AnchorPaddingRootToken'
description: "AnchorPaddingRootToken"
cpp_type: "AnchorPaddingRootToken"
serializer: 'toCDR'
deserializer: '::mongo::AnchorPaddingRootToken::parse'
serializer: "toCDR"
deserializer: "::mongo::AnchorPaddingRootToken::parse"
is_view: false
AnchorPaddingKeyToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'AnchorPaddingKeyToken'
description: "AnchorPaddingKeyToken"
cpp_type: "AnchorPaddingKeyToken"
serializer: 'toCDR'
deserializer: '::mongo::AnchorPaddingKeyToken::parse'
serializer: "toCDR"
deserializer: "::mongo::AnchorPaddingKeyToken::parse"
is_view: false
AnchorPaddingValueToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'AnchorPaddingValueToken'
description: "AnchorPaddingValueToken"
cpp_type: "AnchorPaddingValueToken"
serializer: 'toCDR'
deserializer: '::mongo::AnchorPaddingValueToken::parse'
serializer: "toCDR"
deserializer: "::mongo::AnchorPaddingValueToken::parse"
is_view: false
EDCTextExactDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCTextExactDerivedFromDataToken'
description: "EDCTextExactDerivedFromDataToken"
cpp_type: "EDCTextExactDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCTextExactDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCTextExactDerivedFromDataToken::parse"
is_view: false
EDCTextSubstringDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCTextSubstringDerivedFromDataToken'
description: "EDCTextSubstringDerivedFromDataToken"
cpp_type: "EDCTextSubstringDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCTextSubstringDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCTextSubstringDerivedFromDataToken::parse"
is_view: false
EDCTextSuffixDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCTextSuffixDerivedFromDataToken'
description: "EDCTextSuffixDerivedFromDataToken"
cpp_type: "EDCTextSuffixDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCTextSuffixDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCTextSuffixDerivedFromDataToken::parse"
is_view: false
EDCTextPrefixDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCTextPrefixDerivedFromDataToken'
description: "EDCTextPrefixDerivedFromDataToken"
cpp_type: "EDCTextPrefixDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCTextPrefixDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCTextPrefixDerivedFromDataToken::parse"
is_view: false
EDCTextExactDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCTextExactDerivedFromDataTokenAndContentionFactorToken'
description: "EDCTextExactDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "EDCTextExactDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCTextExactDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCTextExactDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken'
description: "EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken'
description: "EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken'
description: "EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
ESCTextExactDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTextExactDerivedFromDataToken'
description: "ESCTextExactDerivedFromDataToken"
cpp_type: "ESCTextExactDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTextExactDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTextExactDerivedFromDataToken::parse"
is_view: false
ESCTextSubstringDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTextSubstringDerivedFromDataToken'
description: "ESCTextSubstringDerivedFromDataToken"
cpp_type: "ESCTextSubstringDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTextSubstringDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTextSubstringDerivedFromDataToken::parse"
is_view: false
ESCTextSuffixDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTextSuffixDerivedFromDataToken'
description: "ESCTextSuffixDerivedFromDataToken"
cpp_type: "ESCTextSuffixDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTextSuffixDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTextSuffixDerivedFromDataToken::parse"
is_view: false
ESCTextPrefixDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTextPrefixDerivedFromDataToken'
description: "ESCTextPrefixDerivedFromDataToken"
cpp_type: "ESCTextPrefixDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTextPrefixDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTextPrefixDerivedFromDataToken::parse"
is_view: false
ESCTextExactDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTextExactDerivedFromDataTokenAndContentionFactorToken'
description: "ESCTextExactDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "ESCTextExactDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTextExactDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTextExactDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken'
description: "ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken'
description: "ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken'
description: "ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken"
cpp_type: "ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken"
serializer: 'toCDR'
deserializer: '::mongo::ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken::parse"
is_view: false
ServerTextExactDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ServerTextExactDerivedFromDataToken'
description: "ServerTextExactDerivedFromDataToken"
cpp_type: "ServerTextExactDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ServerTextExactDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ServerTextExactDerivedFromDataToken::parse"
is_view: false
ServerTextSubstringDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ServerTextSubstringDerivedFromDataToken'
description: "ServerTextSubstringDerivedFromDataToken"
cpp_type: "ServerTextSubstringDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ServerTextSubstringDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ServerTextSubstringDerivedFromDataToken::parse"
is_view: false
ServerTextSuffixDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ServerTextSuffixDerivedFromDataToken'
description: "ServerTextSuffixDerivedFromDataToken"
cpp_type: "ServerTextSuffixDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ServerTextSuffixDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ServerTextSuffixDerivedFromDataToken::parse"
is_view: false
ServerTextPrefixDerivedFromDataToken:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'ServerTextPrefixDerivedFromDataToken'
description: "ServerTextPrefixDerivedFromDataToken"
cpp_type: "ServerTextPrefixDerivedFromDataToken"
serializer: 'toCDR'
deserializer: '::mongo::ServerTextPrefixDerivedFromDataToken::parse'
serializer: "toCDR"
deserializer: "::mongo::ServerTextPrefixDerivedFromDataToken::parse"
is_view: false
EncryptedStateCollectionTokensV2:
bson_serialization_type: bindata
bindata_subtype: generic
description: 'EncryptedStateCollectionTokensV2'
description: "EncryptedStateCollectionTokensV2"
cpp_type: "StateCollectionTokensV2::Encrypted"
serializer: 'toCDR'
deserializer: '::mongo::StateCollectionTokensV2::Encrypted::parse'
serializer: "toCDR"
deserializer: "::mongo::StateCollectionTokensV2::Encrypted::parse"
is_view: false
structs:

View File

@ -6,21 +6,21 @@
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# Server Side Public License for more details.
#
# You should have received a copy of the Server Side Public License
# along with this program. If not, see
# along with this program. If not, see
# <http://www.mongodb.com/licensing/server-side-public-license>.
#
# As a special exception, the copyright holders give permission to link the
# As a special exception, the copyright holders give permission to link the
# code of portions of this program with the OpenSSL library under certain
# conditions as described in each individual source file and distribute
# linked combinations including the program with the OpenSSL library. You
# must comply with the Server Side Public License in all respects for
# linked combinations including the program with the OpenSSL library. You
# must comply with the Server Side Public License in all respects for
# all of the code used other than as permitted herein. If you modify file(s)
# with this exception, you may extend this exception to your version of the
# file(s), but you are not obligated to do so. If you do not wish to do so,
# with this exception, you may extend this exception to your version of the
# file(s), but you are not obligated to do so. If you do not wish to do so,
# delete this exception statement from your version. If you delete this
# exception statement from all source files in the program, then also delete
# it in the license file.
@ -35,5 +35,5 @@ server_parameters:
cpp_vartype: AtomicWord<int>
cpp_varname: gJWKSMinimumQuiescePeriodSecs
default: 60 # One minute
validator: { gte: 0 }
validator: {gte: 0}
redact: false

View File

@ -117,7 +117,8 @@ structs:
cpp_name: tenantId
optional: true
"mongodb/expectPrefix":
description: If TRUE, mongod will expect to receive tenant-prefixed database names,
description:
If TRUE, mongod will expect to receive tenant-prefixed database names,
and should respond the same way.
type: safeBool
cpp_name: expectPrefix

View File

@ -29,27 +29,27 @@
# SHA1Block type
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/crypto/sha1_block.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/crypto/sha1_block.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
types:
sha1Block:
bson_serialization_type: bindata
bindata_subtype: generic
description: "A fixed-size byte array that holds the result of a SHA1 computation"
cpp_type: mongo::SHA1Block
serializer: "mongo::SHA1Block::toCDR"
deserializer: "mongo::SHA1Block::fromBinData"
is_view: false
sha1Block:
bson_serialization_type: bindata
bindata_subtype: generic
description: "A fixed-size byte array that holds the result of a SHA1 computation"
cpp_type: mongo::SHA1Block
serializer: "mongo::SHA1Block::toCDR"
deserializer: "mongo::SHA1Block::fromBinData"
is_view: false
sha1BlockHex:
bson_serialization_type: string
description: "A fixed size hex string representing a SHA1 computation"
cpp_type: mongo::SHA1Block
serializer: "mongo::SHA1Block::toHexString"
deserializer: "mongo::SHA1Block::fromHexString"
is_view: false
sha1BlockHex:
bson_serialization_type: string
description: "A fixed size hex string representing a SHA1 computation"
cpp_type: mongo::SHA1Block
serializer: "mongo::SHA1Block::toHexString"
deserializer: "mongo::SHA1Block::fromHexString"
is_view: false

View File

@ -29,27 +29,27 @@
# SHA256Block type
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/crypto/sha256_block.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/crypto/sha256_block.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
types:
sha256Block:
bson_serialization_type: bindata
bindata_subtype: generic
description: "A fixed-size byte array that holds the result of a SHA256 computation"
cpp_type: mongo::SHA256Block
serializer: "mongo::SHA256Block::toCDR"
deserializer: "mongo::SHA256Block::fromBinData"
is_view: false
sha256Block:
bson_serialization_type: bindata
bindata_subtype: generic
description: "A fixed-size byte array that holds the result of a SHA256 computation"
cpp_type: mongo::SHA256Block
serializer: "mongo::SHA256Block::toCDR"
deserializer: "mongo::SHA256Block::fromBinData"
is_view: false
sha256BlockHex:
bson_serialization_type: string
description: "A fixed size hex string representing a SHA256 computation"
cpp_type: mongo::SHA256Block
serializer: "mongo::SHA256Block::toHexString"
deserializer: "mongo::SHA256Block::fromHexString"
is_view: false
sha256BlockHex:
bson_serialization_type: string
description: "A fixed size hex string representing a SHA256 computation"
cpp_type: mongo::SHA256Block
serializer: "mongo::SHA256Block::toHexString"
deserializer: "mongo::SHA256Block::fromHexString"
is_view: false

View File

@ -29,27 +29,27 @@
# SHA512Block type
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/crypto/sha512_block.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/crypto/sha512_block.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
types:
sha512Block:
bson_serialization_type: bindata
bindata_subtype: generic
description: "A fixed-size byte array that holds the result of a SHA512 computation"
cpp_type: mongo::SHA512Block
serializer: "mongo::SHA512Block::toCDR"
deserializer: "mongo::SHA512Block::fromBinData"
is_view: false
sha512Block:
bson_serialization_type: bindata
bindata_subtype: generic
description: "A fixed-size byte array that holds the result of a SHA512 computation"
cpp_type: mongo::SHA512Block
serializer: "mongo::SHA512Block::toCDR"
deserializer: "mongo::SHA512Block::fromBinData"
is_view: false
sha512BlockHex:
bson_serialization_type: string
description: "A fixed size hex string representing a SHA512 computation"
cpp_type: mongo::SHA512Block
serializer: "mongo::SHA512Block::toHexString"
deserializer: "mongo::SHA512Block::fromHexString"
is_view: false
sha512BlockHex:
bson_serialization_type: string
description: "A fixed size hex string representing a SHA512 computation"
cpp_type: mongo::SHA512Block
serializer: "mongo::SHA512Block::toHexString"
deserializer: "mongo::SHA512Block::fromHexString"
is_view: false

View File

@ -27,105 +27,105 @@
#
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/admission/ticketholder_manager.h"
- "mongo/db/admission/concurrency_adjustment_validator.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/admission/ticketholder_manager.h"
- "mongo/db/admission/concurrency_adjustment_validator.h"
enums:
StorageEngineConcurrencyAdjustmentAlgorithm:
description: "Algorithm for adjusting the number of concurrent storage engine transactions"
type: string
# 'kFixedConcurrentTransactions': Number of concurrent transactions are controlled by
# storageEngineConcurrentWriteTransactions/storageEngineConcurrentReadTransactions and will
# not be adjusted automatically based on overall system throughput.
#
# 'kThroughputProbing': Number of concurrent transactions are dynamically adjusted, either
# increasing or decreasing concurrency in the storage engine, based on system throughput.
values:
kFixedConcurrentTransactions: "fixedConcurrentTransactions"
kThroughputProbing: "throughputProbing"
StorageEngineConcurrencyAdjustmentAlgorithm:
description: "Algorithm for adjusting the number of concurrent storage engine transactions"
type: string
# 'kFixedConcurrentTransactions': Number of concurrent transactions are controlled by
# storageEngineConcurrentWriteTransactions/storageEngineConcurrentReadTransactions and will
# not be adjusted automatically based on overall system throughput.
#
# 'kThroughputProbing': Number of concurrent transactions are dynamically adjusted, either
# increasing or decreasing concurrency in the storage engine, based on system throughput.
values:
kFixedConcurrentTransactions: "fixedConcurrentTransactions"
kThroughputProbing: "throughputProbing"
server_parameters:
storageEngineConcurrentWriteTransactions:
description: "Storage Engine Concurrent Write Transactions"
set_at: [ startup, runtime ]
cpp_vartype: AtomicWord<int32_t>
cpp_varname: gConcurrentWriteTransactions
on_update: "admission::TicketHolderManager::updateConcurrentWriteTransactions"
deprecated_name:
- wiredTigerConcurrentWriteTransactions
# Default value being 0 on startup means we're allowing the underlying storage engines
# to use their default values. Updating it to 0 again after startup does not use the default value.
# This parameter is only compatible with the 'kFixedConcurrentTransactions' option for
# storageEngineConcurrencyAdjustmentAlgorithm.
default: 0
validator:
callback: "admission::TicketHolderManager::validateConcurrentWriteTransactions"
redact: false
storageEngineConcurrentWriteTransactions:
description: "Storage Engine Concurrent Write Transactions"
set_at: [startup, runtime]
cpp_vartype: AtomicWord<int32_t>
cpp_varname: gConcurrentWriteTransactions
on_update: "admission::TicketHolderManager::updateConcurrentWriteTransactions"
deprecated_name:
- wiredTigerConcurrentWriteTransactions
# Default value being 0 on startup means we're allowing the underlying storage engines
# to use their default values. Updating it to 0 again after startup does not use the default value.
# This parameter is only compatible with the 'kFixedConcurrentTransactions' option for
# storageEngineConcurrencyAdjustmentAlgorithm.
default: 0
validator:
callback: "admission::TicketHolderManager::validateConcurrentWriteTransactions"
redact: false
storageEngineConcurrentReadTransactions:
description: "Storage Engine Concurrent Read Transactions"
set_at: [ startup, runtime ]
cpp_vartype: AtomicWord<int32_t>
cpp_varname: gConcurrentReadTransactions
on_update: "admission::TicketHolderManager::updateConcurrentReadTransactions"
deprecated_name:
- wiredTigerConcurrentReadTransactions
# Default value being 0 on startup means we're allowing the underlying storage engines
# to use their default values. Updating it to 0 again after startup does not use the default value.
# This parameter is only compatible with the 'kFixedConcurrentTransactions' option for
# storageEngineConcurrencyAdjustmentAlgorithm.
default: 0
validator:
callback: "admission::TicketHolderManager::validateConcurrentReadTransactions"
redact: false
storageEngineConcurrentReadTransactions:
description: "Storage Engine Concurrent Read Transactions"
set_at: [startup, runtime]
cpp_vartype: AtomicWord<int32_t>
cpp_varname: gConcurrentReadTransactions
on_update: "admission::TicketHolderManager::updateConcurrentReadTransactions"
deprecated_name:
- wiredTigerConcurrentReadTransactions
# Default value being 0 on startup means we're allowing the underlying storage engines
# to use their default values. Updating it to 0 again after startup does not use the default value.
# This parameter is only compatible with the 'kFixedConcurrentTransactions' option for
# storageEngineConcurrencyAdjustmentAlgorithm.
default: 0
validator:
callback: "admission::TicketHolderManager::validateConcurrentReadTransactions"
redact: false
storageEngineReadMaxQueueDepth:
description: >-
Controls the maximum number of read transactions waiting in queue for a thread to be free.
Setting this number to 0 will not allow any transaction above the max conccurency amount.
Reducing this value will only affect new enqueued read transactions
set_at: [ startup, runtime ]
cpp_vartype: Atomic<std::int32_t>
cpp_varname: gReadMaxQueueDepth
on_update: "admission::TicketHolderManager::updateReadMaxQueueDepth"
default: { expr: 'TicketHolder::kDefaultMaxQueueDepth' }
validator: { gte: 0 }
redact: false
storageEngineReadMaxQueueDepth:
description: >-
Controls the maximum number of read transactions waiting in queue for a thread to be free.
Setting this number to 0 will not allow any transaction above the max conccurency amount.
Reducing this value will only affect new enqueued read transactions
set_at: [startup, runtime]
cpp_vartype: Atomic<std::int32_t>
cpp_varname: gReadMaxQueueDepth
on_update: "admission::TicketHolderManager::updateReadMaxQueueDepth"
default: {expr: "TicketHolder::kDefaultMaxQueueDepth"}
validator: {gte: 0}
redact: false
storageEngineWriteMaxQueueDepth:
description: >-
Controls the maximum number of write transactions waiting in queue for a thread to be free.
Setting this number to 0 will not allow any transaction above the max conccurency amount.
Reducing this value will only affect new enqueued write transactions
set_at: [ startup, runtime ]
cpp_vartype: Atomic<std::int32_t>
cpp_varname: gWriteMaxQueueDepth
on_update: "admission::TicketHolderManager::updateWriteMaxQueueDepth"
default: { expr: 'TicketHolder::kDefaultMaxQueueDepth' }
validator: { gte: 0 }
redact: false
storageEngineWriteMaxQueueDepth:
description: >-
Controls the maximum number of write transactions waiting in queue for a thread to be free.
Setting this number to 0 will not allow any transaction above the max conccurency amount.
Reducing this value will only affect new enqueued write transactions
set_at: [startup, runtime]
cpp_vartype: Atomic<std::int32_t>
cpp_varname: gWriteMaxQueueDepth
on_update: "admission::TicketHolderManager::updateWriteMaxQueueDepth"
default: {expr: "TicketHolder::kDefaultMaxQueueDepth"}
validator: {gte: 0}
redact: false
storageEngineConcurrencyAdjustmentAlgorithm:
description: >-
The algorithm to be used for adjusting the number of concurrent storage engine transactions.
set_at: startup
cpp_vartype: std::string
cpp_varname: gStorageEngineConcurrencyAdjustmentAlgorithm
default: "throughputProbing"
validator:
callback: validateConcurrencyAdjustmentAlgorithm
redact: false
storageEngineConcurrencyAdjustmentAlgorithm:
description: >-
The algorithm to be used for adjusting the number of concurrent storage engine transactions.
set_at: startup
cpp_vartype: std::string
cpp_varname: gStorageEngineConcurrencyAdjustmentAlgorithm
default: "throughputProbing"
validator:
callback: validateConcurrencyAdjustmentAlgorithm
redact: false
storageEngineConcurrencyAdjustmentIntervalMillis:
description: >-
The interval in milliseconds in which to run the concurrency adjustment algorithm, if it is
not set to fixedConcurrentTransactions.
set_at: startup
cpp_vartype: int32_t
cpp_varname: gStorageEngineConcurrencyAdjustmentIntervalMillis
default: 100
validator:
gte: 10
redact: false
storageEngineConcurrencyAdjustmentIntervalMillis:
description: >-
The interval in milliseconds in which to run the concurrency adjustment algorithm, if it is
not set to fixedConcurrentTransactions.
set_at: startup
cpp_vartype: int32_t
cpp_varname: gStorageEngineConcurrencyAdjustmentIntervalMillis
default: 100
validator:
gte: 10
redact: false

View File

@ -30,99 +30,99 @@ global:
server_parameters:
enableFlowControl:
description: 'Enable flow control'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<bool>'
cpp_varname: 'gFlowControlEnabled'
description: "Enable flow control"
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<bool>"
cpp_varname: "gFlowControlEnabled"
default: true
redact: false
flowControlTargetLagSeconds:
description: 'Target maximum majority committed lag with flow control enabled'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<std::int32_t>'
cpp_varname: 'gFlowControlTargetLagSeconds'
description: "Target maximum majority committed lag with flow control enabled"
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<std::int32_t>"
cpp_varname: "gFlowControlTargetLagSeconds"
default: 10
validator: { gt: 0 }
validator: {gt: 0}
redact: false
flowControlThresholdLagPercentage:
description: 'Threshold percentage of target lag where flow control will become engaged'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<double>'
cpp_varname: 'gFlowControlThresholdLagPercentage'
description: "Threshold percentage of target lag where flow control will become engaged"
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<double>"
cpp_varname: "gFlowControlThresholdLagPercentage"
default: 0.5
validator: { gte: 0.0, lte: 1.0 }
validator: {gte: 0.0, lte: 1.0}
redact: false
flowControlMaxSamples:
description: 'The maximum number of samples the flow control algorithm will hold onto.'
set_at: [ startup ]
cpp_vartype: 'int'
cpp_varname: 'gFlowControlMaxSamples'
description: "The maximum number of samples the flow control algorithm will hold onto."
set_at: [startup]
cpp_vartype: "int"
cpp_varname: "gFlowControlMaxSamples"
default: 1000000
validator: { gt: 0 }
validator: {gt: 0}
redact: false
flowControlSamplePeriod:
description: 'How often flow control samples optimes. Smaller periods have higher resolution, but will suffer degredation sooner in the event of commit point lag.'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<int>'
cpp_varname: 'gFlowControlSamplePeriod'
description: "How often flow control samples optimes. Smaller periods have higher resolution, but will suffer degredation sooner in the event of commit point lag."
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<int>"
cpp_varname: "gFlowControlSamplePeriod"
default: 1000
validator: { gt: 0 }
validator: {gt: 0}
redact: false
flowControlMinTicketsPerSecond:
description: 'The minimum number of tickets flow control will hand out per second. A smaller value will have better resolution on batch-write workloads, but may unintentionally delay system operations.'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<int>'
cpp_varname: 'gFlowControlMinTicketsPerSecond'
description: "The minimum number of tickets flow control will hand out per second. A smaller value will have better resolution on batch-write workloads, but may unintentionally delay system operations."
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<int>"
cpp_varname: "gFlowControlMinTicketsPerSecond"
default: 100
validator: { gte: 0 }
validator: {gte: 0}
redact: false
flowControlDecayConstant:
description: 'The rate at which flow control will throttle based on how lagged the commit point is in time relative to the flow control threshold.'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<double>'
cpp_varname: 'gFlowControlDecayConstant'
description: "The rate at which flow control will throttle based on how lagged the commit point is in time relative to the flow control threshold."
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<double>"
cpp_varname: "gFlowControlDecayConstant"
default: 0.5
validator: { gt: 0.0, lt: 1.0 }
validator: {gt: 0.0, lt: 1.0}
redact: false
flowControlFudgeFactor:
description: 'When commit point lag is close to the threshold lag, the primary should track the sustainer rate, with some small penalty. This value represents that penalty. A value of 1.0 represents no penalty, a value close to 0.0 represents a large penalty. Reducing oscillations should keep this value close to 1.0.'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<double>'
cpp_varname: 'gFlowControlFudgeFactor'
description: "When commit point lag is close to the threshold lag, the primary should track the sustainer rate, with some small penalty. This value represents that penalty. A value of 1.0 represents no penalty, a value close to 0.0 represents a large penalty. Reducing oscillations should keep this value close to 1.0."
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<double>"
cpp_varname: "gFlowControlFudgeFactor"
default: 0.95
validator: { gt: 0.0, lte: 1.0 }
validator: {gt: 0.0, lte: 1.0}
redact: false
flowControlTicketAdderConstant:
description: 'When the commit point lag is small, flow control will add at least this many tickets per second. This provides meaningful ticket increase when immediately recovering from stalling events.'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<int>'
cpp_varname: 'gFlowControlTicketAdderConstant'
description: "When the commit point lag is small, flow control will add at least this many tickets per second. This provides meaningful ticket increase when immediately recovering from stalling events."
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<int>"
cpp_varname: "gFlowControlTicketAdderConstant"
default: 1000
validator: { gt: 0 }
validator: {gt: 0}
redact: false
flowControlTicketMultiplierConstant:
description: 'When the commit point lag is small, flow control will increase its ticket allocation by this factor. This provides meaningful ticket increase in more general recovery scenarios.'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<double>'
cpp_varname: 'gFlowControlTicketMultiplierConstant'
description: "When the commit point lag is small, flow control will increase its ticket allocation by this factor. This provides meaningful ticket increase in more general recovery scenarios."
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<double>"
cpp_varname: "gFlowControlTicketMultiplierConstant"
default: 1.05
validator: { gt: 1.0 }
validator: {gt: 1.0}
redact: false
flowControlWarnThresholdSeconds:
description: 'If flow control detects the replica set is lagged and the sustainer point is not moving, it will eventually log a warning. This value controls how much time the flow control is in this state before it logs. A value of zero will disable the warnings.'
set_at: [ startup, runtime ]
cpp_vartype: 'AtomicWord<int>'
cpp_varname: 'gFlowControlWarnThresholdSeconds'
description: "If flow control detects the replica set is lagged and the sustainer point is not moving, it will eventually log a warning. This value controls how much time the flow control is in this state before it logs. A value of zero will disable the warnings."
set_at: [startup, runtime]
cpp_vartype: "AtomicWord<int>"
cpp_varname: "gFlowControlWarnThresholdSeconds"
default: 10
validator: { gte: 0 }
validator: {gte: 0}
redact: false

View File

@ -27,43 +27,43 @@
#
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/admission/ingress_admission_controller.h"
- "mongo/db/server_options.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/admission/ingress_admission_controller.h"
- "mongo/db/server_options.h"
server_parameters:
ingressAdmissionControlEnabled:
description: Controls whether ingress admission control mechanism is enabled.
set_at: [ startup, runtime ]
cpp_varname: gIngressAdmissionControlEnabled
cpp_vartype: AtomicWord<bool>
default: true
redact: false
ingressAdmissionControllerTicketPoolSize:
description: >-
Controls the maximum number of tickets in the ingress admission control ticket pool. Note
that setting this parameter to 0 will block all incoming operations that are subject to
ingress admission control.
set_at: [ startup, runtime ]
cpp_varname: gIngressAdmissionControllerTicketPoolSize
cpp_vartype: AtomicWord<int32_t>
on_update: IngressAdmissionController::onUpdateTicketPoolSize
# Setting the pool size equal to the max connections default means it is
# effectively infinite. See maxIncomingConnections in server_options_general.idl
default: { expr: 'static_cast<int>(DEFAULT_MAX_CONN)' }
validator: { gte: 0 }
redact: false
ingressAdmissionControllerMaxQueueDepth:
description: >-
Controls the maximum number of operations waiting for admission in the ingress admission control.
Setting this parameter will not apply to operations that are already waiting for a ticket.
set_at: [ startup, runtime ]
cpp_varname: gIngressAdmissionControllerMaxQueueDepth
cpp_vartype: Atomic<std::int32_t>
on_update: IngressAdmissionController::onUpdateMaxQueueDepth
# Setting the max queue depth equal to the max connections default means it is
# effectively infinite. See maxIncomingConnections in server_options_general.idl
default: { expr: 'TicketHolder::kDefaultMaxQueueDepth' }
validator: { gte: 0 }
redact: false
ingressAdmissionControlEnabled:
description: Controls whether ingress admission control mechanism is enabled.
set_at: [startup, runtime]
cpp_varname: gIngressAdmissionControlEnabled
cpp_vartype: AtomicWord<bool>
default: true
redact: false
ingressAdmissionControllerTicketPoolSize:
description: >-
Controls the maximum number of tickets in the ingress admission control ticket pool. Note
that setting this parameter to 0 will block all incoming operations that are subject to
ingress admission control.
set_at: [startup, runtime]
cpp_varname: gIngressAdmissionControllerTicketPoolSize
cpp_vartype: AtomicWord<int32_t>
on_update: IngressAdmissionController::onUpdateTicketPoolSize
# Setting the pool size equal to the max connections default means it is
# effectively infinite. See maxIncomingConnections in server_options_general.idl
default: {expr: "static_cast<int>(DEFAULT_MAX_CONN)"}
validator: {gte: 0}
redact: false
ingressAdmissionControllerMaxQueueDepth:
description: >-
Controls the maximum number of operations waiting for admission in the ingress admission control.
Setting this parameter will not apply to operations that are already waiting for a ticket.
set_at: [startup, runtime]
cpp_varname: gIngressAdmissionControllerMaxQueueDepth
cpp_vartype: Atomic<std::int32_t>
on_update: IngressAdmissionController::onUpdateMaxQueueDepth
# Setting the max queue depth equal to the max connections default means it is
# effectively infinite. See maxIncomingConnections in server_options_general.idl
default: {expr: "TicketHolder::kDefaultMaxQueueDepth"}
validator: {gte: 0}
redact: false

View File

@ -26,92 +26,92 @@
# it in the license file.
global:
cpp_namespace: "mongo::admission::throughput_probing"
cpp_includes:
- "mongo/db/admission/throughput_probing.h"
cpp_namespace: "mongo::admission::throughput_probing"
cpp_includes:
- "mongo/db/admission/throughput_probing.h"
server_parameters:
throughputProbingStepMultiple:
description: "The step size for throughput probing is this multiple of the current concurrency"
set_at: [ startup, runtime ]
cpp_vartype: AtomicWord<double>
cpp_varname: gStepMultiple
default: 0.1
validator:
gte: 0.01
lte: 0.5
redact: false
throughputProbingStepMultiple:
description: "The step size for throughput probing is this multiple of the current concurrency"
set_at: [startup, runtime]
cpp_vartype: AtomicWord<double>
cpp_varname: gStepMultiple
default: 0.1
validator:
gte: 0.01
lte: 0.5
redact: false
throughputProbingInitialConcurrency:
description: >-
The initial number of TOTAL concurrent read/write transactions for throughput probing. The
default value of 0 means to use the number of logical CPU cores.
set_at: startup
cpp_vartype: int32_t
cpp_varname: gInitialConcurrency
default: 0
validator:
callback: validateInitialConcurrency
redact: false
throughputProbingInitialConcurrency:
description: >-
The initial number of TOTAL concurrent read/write transactions for throughput probing. The
default value of 0 means to use the number of logical CPU cores.
set_at: startup
cpp_vartype: int32_t
cpp_varname: gInitialConcurrency
default: 0
validator:
callback: validateInitialConcurrency
redact: false
throughputProbingMinConcurrency:
description: >-
The minimum number of concurrent read/write transactions for throughput probing. This minimum
is applied to reads and writes separately.
set_at: startup
cpp_vartype: int32_t
cpp_varname: gMinConcurrency
default: 4
validator:
callback: validateMinConcurrency
redact: false
throughputProbingMinConcurrency:
description: >-
The minimum number of concurrent read/write transactions for throughput probing. This minimum
is applied to reads and writes separately.
set_at: startup
cpp_vartype: int32_t
cpp_varname: gMinConcurrency
default: 4
validator:
callback: validateMinConcurrency
redact: false
throughputProbingMaxConcurrency:
description: >-
The maximum number of concurrent read/write transactions for throughput probing. This maximum
is applied to reads and writes separately.
set_at: [ startup, runtime ]
cpp_vartype: AtomicWord<int32_t>
cpp_varname: gMaxConcurrency
default: 128
validator:
callback: validateMaxConcurrency
redact: false
throughputProbingMaxConcurrency:
description: >-
The maximum number of concurrent read/write transactions for throughput probing. This maximum
is applied to reads and writes separately.
set_at: [startup, runtime]
cpp_vartype: AtomicWord<int32_t>
cpp_varname: gMaxConcurrency
default: 128
validator:
callback: validateMaxConcurrency
redact: false
throughputProbingReadWriteRatio:
description: >-
The ratio of reads/writes when using throughput probing. A value of 0.5 indicates a 1:1 ratio,
while a value greater than 0.5 favors reads and a value less than 0.5 favors writes.
set_at: [ startup, runtime ]
cpp_vartype: AtomicWord<double>
cpp_varname: gReadWriteRatio
default: 0.5
validator:
gte: 0
lte: 1
redact: false
throughputProbingReadWriteRatio:
description: >-
The ratio of reads/writes when using throughput probing. A value of 0.5 indicates a 1:1 ratio,
while a value greater than 0.5 favors reads and a value less than 0.5 favors writes.
set_at: [startup, runtime]
cpp_vartype: AtomicWord<double>
cpp_varname: gReadWriteRatio
default: 0.5
validator:
gte: 0
lte: 1
redact: false
throughputProbingConcurrencyMovingAverageWeight:
description: >-
How much to weigh newer concurrency measurements into the exponentially-decaying moving
average. Higher values respond faster to changes, but with more variability. Lower values
respond slower, but with less variability.
set_at: [ startup, runtime ]
cpp_vartype: AtomicWord<double>
cpp_varname: gConcurrencyMovingAverageWeight
default: 0.2
validator:
gt: 0
lte: 1
redact: false
throughputProbingConcurrencyMovingAverageWeight:
description: >-
How much to weigh newer concurrency measurements into the exponentially-decaying moving
average. Higher values respond faster to changes, but with more variability. Lower values
respond slower, but with less variability.
set_at: [startup, runtime]
cpp_vartype: AtomicWord<double>
cpp_varname: gConcurrencyMovingAverageWeight
default: 0.2
validator:
gt: 0
lte: 1
redact: false
throughputProbingStallDetectionTimeoutMs:
description: >-
How long we wait until we report a stall
set_at: [ startup, runtime ]
cpp_vartype: AtomicWord<int32_t>
cpp_varname: gStallDetectionTimeoutMs
default: 60000
validator:
gt: 0
redact: false
throughputProbingStallDetectionTimeoutMs:
description: >-
How long we wait until we report a stall
set_at: [startup, runtime]
cpp_vartype: AtomicWord<int32_t>
cpp_varname: gStallDetectionTimeoutMs
default: 60000
validator:
gt: 0
redact: false

View File

@ -30,48 +30,49 @@
# BSON representation for that class.
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
structs:
APIParametersFromClient:
description: "Parser for pulling out VersionedAPI parameters from commands"
strict: false
unsafe_dangerous_disable_extra_field_duplicate_checks: true
fields:
apiVersion:
description: "The api version specified by the command"
type: string
optional: true
apiStrict:
description: "With apiVersion: 'V' and apiStrict: true, the server rejects requests to
use behaviors not included in V"
type: bool
optional: true
apiDeprecationErrors:
description: "With apiVersion: 'V' and apiDeprecationErrors: true, the server rejects
requests to use behaviors deprecated in V in the current MongoDB release"
type: bool
optional: true
APIParametersFromClient:
description: "Parser for pulling out VersionedAPI parameters from commands"
strict: false
unsafe_dangerous_disable_extra_field_duplicate_checks: true
fields:
apiVersion:
description: "The api version specified by the command"
type: string
optional: true
apiStrict:
description: >-
With apiVersion: 'V' and apiStrict: true, the server rejects requests to
use behaviors not included in V
type: bool
optional: true
apiDeprecationErrors:
description: >-
With apiVersion: 'V' and apiDeprecationErrors: true, the server rejects
requests to use behaviors deprecated in V in the current MongoDB release
type: bool
optional: true
server_parameters:
requireApiVersion:
description: "Require clients to pass the 'apiVersion' parameter with all commands"
test_only: true
set_at: ["startup", "runtime"]
cpp_vartype: AtomicWord<bool>
cpp_varname: gRequireApiVersion
default: false
redact: false
requireApiVersion:
description: "Require clients to pass the 'apiVersion' parameter with all commands"
test_only: true
set_at: ["startup", "runtime"]
cpp_vartype: AtomicWord<bool>
cpp_varname: gRequireApiVersion
default: false
redact: false
acceptApiVersion2:
description: "Allow users to issue commands that include apiVersion: \"2\". Test only."
test_only: true
set_at: startup
cpp_vartype: bool
cpp_varname: acceptApiVersion2
default: false
redact: false
acceptApiVersion2:
description: 'Allow users to issue commands that include apiVersion: "2". Test only.'
test_only: true
set_at: startup
cpp_vartype: bool
cpp_varname: acceptApiVersion2
default: false
redact: false

View File

@ -33,22 +33,22 @@ enums:
description: "List of supported access checks in AuthorizationSession"
type: string
values:
kCheckAuthorizedToListCollections : "check_authorized_to_list_collections"
kCheckCursorSessionPrivilege : "check_cursor_session_privilege"
kGetAuthenticatedRoleNames : "get_authenticated_role_names"
kGetAuthenticatedUserName : "get_authenticated_user_name"
kGetAuthenticatedUser : "get_authenticated_user"
kIsAuthenticated : "is_authenticated"
kIsAuthenticatedAsUserWithRole : "is_authenticated_as_user_with_role"
kIsAuthorizedForAnyActionOnAnyResourceInDB : "is_authorized_for_any_action_on_any_resource_in_db"
kIsAuthorizedForAnyActionOnResource : "is_authorized_for_any_action_on_resource"
kIsAuthorizedToChangeAsUser : "is_authorized_to_change_as_user"
kIsAuthorizedToCreateRole : "is_authorized_to_create_role"
kIsAuthorizedToParseNamespaceElement : "is_authorized_to_parse_namespace_element"
kIsCoAuthorized : "is_coauthorized"
kIsCoauthorizedWith : "is_coauthorized_with"
kIsCoauthorizedWithClient : "is_coauthorized_with_client"
kIsImpersonating : "is_impersonating"
kIsUsingLocalhostBypass : "is_using_localhost_bypass" # Called in common code in commands.cpp dispatch
kLookupUser : "lookup_user"
kShouldIgnoreAuthChecks : "should_ignore_auth_checks"
kCheckAuthorizedToListCollections: "check_authorized_to_list_collections"
kCheckCursorSessionPrivilege: "check_cursor_session_privilege"
kGetAuthenticatedRoleNames: "get_authenticated_role_names"
kGetAuthenticatedUserName: "get_authenticated_user_name"
kGetAuthenticatedUser: "get_authenticated_user"
kIsAuthenticated: "is_authenticated"
kIsAuthenticatedAsUserWithRole: "is_authenticated_as_user_with_role"
kIsAuthorizedForAnyActionOnAnyResourceInDB: "is_authorized_for_any_action_on_any_resource_in_db"
kIsAuthorizedForAnyActionOnResource: "is_authorized_for_any_action_on_resource"
kIsAuthorizedToChangeAsUser: "is_authorized_to_change_as_user"
kIsAuthorizedToCreateRole: "is_authorized_to_create_role"
kIsAuthorizedToParseNamespaceElement: "is_authorized_to_parse_namespace_element"
kIsCoAuthorized: "is_coauthorized"
kIsCoauthorizedWith: "is_coauthorized_with"
kIsCoauthorizedWithClient: "is_coauthorized_with_client"
kIsImpersonating: "is_impersonating"
kIsUsingLocalhostBypass: "is_using_localhost_bypass" # Called in common code in commands.cpp dispatch
kLookupUser: "lookup_user"
kShouldIgnoreAuthChecks: "should_ignore_auth_checks"

View File

@ -43,176 +43,176 @@ enums:
description: "test"
type: string
values:
addShard : "addShard"
advanceClusterTime : "advanceClusterTime"
listClusterCatalog : "listClusterCatalog"
allCollectionStats: "allCollectionStats"
analyze : "analyze"
analyzeShardKey : "analyzeShardKey"
anyAction : "anyAction" # Special ActionType that represents *all* actions
appendOplogNote : "appendOplogNote"
applicationMessage : "applicationMessage"
auditConfigure : "auditConfigure"
auditLogRotate : "auditLogRotate" # ID only
authCheck : "authCheck" # ID only
authenticate : "authenticate" # ID only
authSchemaUpgrade : "authSchemaUpgrade"
bypassDefaultMaxTimeMS: "bypassDefaultMaxTimeMS"
bypassDocumentValidation : "bypassDocumentValidation"
bypassWriteBlockingMode : "bypassWriteBlockingMode"
changeCustomData : "changeCustomData"
changePassword : "changePassword"
changeOwnPassword : "changeOwnPassword"
changeOwnCustomData : "changeOwnCustomData"
changeStream : "changeStream"
checkFreeMonitoringStatus : "checkFreeMonitoringStatus" # Removed (backwards compatibility)
checkMetadataConsistency : "checkMetadataConsistency"
cleanupOrphaned : "cleanupOrphaned"
clearJumboFlag : "clearJumboFlag"
cleanupStructuredEncryptionData: "cleanupStructuredEncryptionData"
closeAllDatabases : "closeAllDatabases" # Deprecated (backwards compatibility)
collMod : "collMod"
collStats : "collStats"
compact : "compact"
compactStructuredEncryptionData: "compactStructuredEncryptionData"
configureQueryAnalyzer : "configureQueryAnalyzer"
connPoolStats : "connPoolStats"
connPoolSync : "connPoolSync"
convertToCapped : "convertToCapped"
cpuProfiler : "cpuProfiler"
createCollection : "createCollection"
createDatabase : "createDatabase" # ID only
createIndex : "createIndex" # ID only
createRole : "createRole"
createSearchIndexes : "createSearchIndexes"
createUser : "createUser"
dbCheck : "dbCheck"
dbHash : "dbHash"
dbStats : "dbStats"
dropAllRolesFromDatabase : "dropAllRolesFromDatabase" # ID only
dropAllUsersFromDatabase : "dropAllUsersFromDatabase" # ID only
dropCollection : "dropCollection"
dropConnections : "dropConnections"
dropDatabase : "dropDatabase"
dropIndex : "dropIndex"
dropRole : "dropRole"
dropSearchIndex : "dropSearchIndex"
dropUser : "dropUser"
emptycapped : "emptycapped" # Deprecated (backwards compatibility)
enableProfiler : "enableProfiler"
enableSharding : "enableSharding"
exportCollection : "exportCollection"
find : "find"
flushRouterConfig : "flushRouterConfig"
forceUUID : "forceUUID"
fsync : "fsync"
fsyncUnlock: "fsyncUnlock" # Deprecated in favor of unlock (refer to:SERVER-89642)
getClusterParameter: "getClusterParameter"
getDatabaseVersion : "getDatabaseVersion"
getDefaultRWConcern : "getDefaultRWConcern"
getCmdLineOpts : "getCmdLineOpts"
getLog : "getLog"
getParameter : "getParameter"
getShardMap : "getShardMap"
getShardVersion : "getShardVersion"
grantRole : "grantRole"
grantPrivilegesToRole : "grantPrivilegesToRole" # ID only
grantRolesToRole : "grantRolesToRole" # ID only
grantRolesToUser : "grantRolesToUser" # ID only
hostInfo : "hostInfo"
impersonate : "impersonate"
importCollection : "importCollection"
indexStats : "indexStats"
inprog : "inprog"
insert : "insert"
internal : "internal" # Special action type that represents internal actions
invalidateUserCache : "invalidateUserCache"
issueDirectShardOperations: "issueDirectShardOperations"
killAnyCursor : "killAnyCursor"
killAnySession : "killAnySession"
killCursors : "killCursors" # Deprecated in favor of killAnyCursor
killop : "killop"
listCachedAndActiveUsers : "listCachedAndActiveUsers"
listCollections : "listCollections"
listCursors : "listCursors"
listDatabases : "listDatabases"
listIndexes : "listIndexes"
listSampledQueries : "listSampledQueries"
listSearchIndexes : "listSearchIndexes"
listSessions : "listSessions"
listShards : "listShards"
logRotate : "logRotate"
updateSearchIndex : "updateSearchIndex"
moveChunk : "moveChunk"
moveCollection : "moveCollection"
netstat : "netstat"
oidcListKeys : "oidcListKeys"
oidcRefreshKeys : "oidcRefreshKeys"
oidReset : "oidReset" # machine ID reset via the features command
operationMetrics : "operationMetrics"
planCacheIndexFilter : "planCacheIndexFilter" # view/update index filters
planCacheRead : "planCacheRead" # view contents of plan cache
planCacheWrite : "planCacheWrite" # clear cache, drop cache entry, pin/unpin/shun plans
querySettings: "querySettings" # allows to set and retrieve querySettings
queryStatsRead: "queryStatsRead" # view untransformed contents of queryStats store
queryStatsReadTransformed: "queryStatsReadTransformed" # view transformed contents of queryStats store
performRawDataOperations: "performRawDataOperations" # allow operations that use the rawData field
refineCollectionShardKey : "refineCollectionShardKey"
reIndex : "reIndex"
releaseMemoryAnyCursor: "releaseMemoryAnyCursor"
remove : "remove"
removeShard : "removeShard"
renameCollection : "renameCollection" # ID only
renameCollectionSameDB : "renameCollectionSameDB"
repairDatabase : "repairDatabase" # Deprecated (backwards compatibility)
replSetConfigure : "replSetConfigure"
replSetGetConfig : "replSetGetConfig"
replSetGetStatus : "replSetGetStatus"
replSetHeartbeat : "replSetHeartbeat"
replSetReconfig : "replSetReconfig" # ID only
replSetResizeOplog : "replSetResizeOplog"
replSetStateChange : "replSetStateChange"
reshardCollection : "reshardCollection"
resync : "resync"
revokeRole : "revokeRole"
revokePrivilegesFromRole : "revokePrivilegesFromRole" # ID only
revokeRolesFromRole : "revokeRolesFromRole" # ID only
revokeRolesFromUser : "revokeRolesFromUser" # ID only
rotateCertificates : "rotateCertificates"
runAsLessPrivilegedUser : "runAsLessPrivilegedUser"
serverStatus : "serverStatus"
setAuthenticationRestriction : "setAuthenticationRestriction"
setClusterParameter: "setClusterParameter"
setDefaultRWConcern : "setDefaultRWConcern"
setFeatureCompatibilityVersion : "setFeatureCompatibilityVersion"
setFreeMonitoring : "setFreeMonitoring" # Removed (backwards compatibility)
setParameter : "setParameter"
setUserWriteBlockMode: "setUserWriteBlockMode"
shardCollection : "shardCollection" # ID only
shardedDataDistribution : "shardedDataDistribution"
shardingState : "shardingState"
shutdown : "shutdown"
splitChunk : "splitChunk"
splitVector : "splitVector"
storageDetails : "storageDetails"
top : "top"
touch : "touch"
trafficRecord : "trafficRecord"
transitionFromDedicatedConfigServer : "transitionFromDedicatedConfigServer"
transitionToDedicatedConfigServer : "transitionToDedicatedConfigServer"
unlock : "unlock"
unshardCollection : "unshardCollection"
useTenant : "useTenant"
useUUID : "useUUID"
update : "update"
updateRole : "updateRole" # ID only
updateUser : "updateUser" # ID only
validate : "validate"
viewRole : "viewRole"
viewUser : "viewUser"
applyOps : "applyOps"
setChangeStreamState: "setChangeStreamState"
getChangeStreamState: "getChangeStreamState"
addShard: "addShard"
advanceClusterTime: "advanceClusterTime"
listClusterCatalog: "listClusterCatalog"
allCollectionStats: "allCollectionStats"
analyze: "analyze"
analyzeShardKey: "analyzeShardKey"
anyAction: "anyAction" # Special ActionType that represents *all* actions
appendOplogNote: "appendOplogNote"
applicationMessage: "applicationMessage"
auditConfigure: "auditConfigure"
auditLogRotate: "auditLogRotate" # ID only
authCheck: "authCheck" # ID only
authenticate: "authenticate" # ID only
authSchemaUpgrade: "authSchemaUpgrade"
bypassDefaultMaxTimeMS: "bypassDefaultMaxTimeMS"
bypassDocumentValidation: "bypassDocumentValidation"
bypassWriteBlockingMode: "bypassWriteBlockingMode"
changeCustomData: "changeCustomData"
changePassword: "changePassword"
changeOwnPassword: "changeOwnPassword"
changeOwnCustomData: "changeOwnCustomData"
changeStream: "changeStream"
checkFreeMonitoringStatus: "checkFreeMonitoringStatus" # Removed (backwards compatibility)
checkMetadataConsistency: "checkMetadataConsistency"
cleanupOrphaned: "cleanupOrphaned"
clearJumboFlag: "clearJumboFlag"
cleanupStructuredEncryptionData: "cleanupStructuredEncryptionData"
closeAllDatabases: "closeAllDatabases" # Deprecated (backwards compatibility)
collMod: "collMod"
collStats: "collStats"
compact: "compact"
compactStructuredEncryptionData: "compactStructuredEncryptionData"
configureQueryAnalyzer: "configureQueryAnalyzer"
connPoolStats: "connPoolStats"
connPoolSync: "connPoolSync"
convertToCapped: "convertToCapped"
cpuProfiler: "cpuProfiler"
createCollection: "createCollection"
createDatabase: "createDatabase" # ID only
createIndex: "createIndex" # ID only
createRole: "createRole"
createSearchIndexes: "createSearchIndexes"
createUser: "createUser"
dbCheck: "dbCheck"
dbHash: "dbHash"
dbStats: "dbStats"
dropAllRolesFromDatabase: "dropAllRolesFromDatabase" # ID only
dropAllUsersFromDatabase: "dropAllUsersFromDatabase" # ID only
dropCollection: "dropCollection"
dropConnections: "dropConnections"
dropDatabase: "dropDatabase"
dropIndex: "dropIndex"
dropRole: "dropRole"
dropSearchIndex: "dropSearchIndex"
dropUser: "dropUser"
emptycapped: "emptycapped" # Deprecated (backwards compatibility)
enableProfiler: "enableProfiler"
enableSharding: "enableSharding"
exportCollection: "exportCollection"
find: "find"
flushRouterConfig: "flushRouterConfig"
forceUUID: "forceUUID"
fsync: "fsync"
fsyncUnlock: "fsyncUnlock" # Deprecated in favor of unlock (refer to:SERVER-89642)
getClusterParameter: "getClusterParameter"
getDatabaseVersion: "getDatabaseVersion"
getDefaultRWConcern: "getDefaultRWConcern"
getCmdLineOpts: "getCmdLineOpts"
getLog: "getLog"
getParameter: "getParameter"
getShardMap: "getShardMap"
getShardVersion: "getShardVersion"
grantRole: "grantRole"
grantPrivilegesToRole: "grantPrivilegesToRole" # ID only
grantRolesToRole: "grantRolesToRole" # ID only
grantRolesToUser: "grantRolesToUser" # ID only
hostInfo: "hostInfo"
impersonate: "impersonate"
importCollection: "importCollection"
indexStats: "indexStats"
inprog: "inprog"
insert: "insert"
internal: "internal" # Special action type that represents internal actions
invalidateUserCache: "invalidateUserCache"
issueDirectShardOperations: "issueDirectShardOperations"
killAnyCursor: "killAnyCursor"
killAnySession: "killAnySession"
killCursors: "killCursors" # Deprecated in favor of killAnyCursor
killop: "killop"
listCachedAndActiveUsers: "listCachedAndActiveUsers"
listCollections: "listCollections"
listCursors: "listCursors"
listDatabases: "listDatabases"
listIndexes: "listIndexes"
listSampledQueries: "listSampledQueries"
listSearchIndexes: "listSearchIndexes"
listSessions: "listSessions"
listShards: "listShards"
logRotate: "logRotate"
updateSearchIndex: "updateSearchIndex"
moveChunk: "moveChunk"
moveCollection: "moveCollection"
netstat: "netstat"
oidcListKeys: "oidcListKeys"
oidcRefreshKeys: "oidcRefreshKeys"
oidReset: "oidReset" # machine ID reset via the features command
operationMetrics: "operationMetrics"
planCacheIndexFilter: "planCacheIndexFilter" # view/update index filters
planCacheRead: "planCacheRead" # view contents of plan cache
planCacheWrite: "planCacheWrite" # clear cache, drop cache entry, pin/unpin/shun plans
querySettings: "querySettings" # allows to set and retrieve querySettings
queryStatsRead: "queryStatsRead" # view untransformed contents of queryStats store
queryStatsReadTransformed: "queryStatsReadTransformed" # view transformed contents of queryStats store
performRawDataOperations: "performRawDataOperations" # allow operations that use the rawData field
refineCollectionShardKey: "refineCollectionShardKey"
reIndex: "reIndex"
releaseMemoryAnyCursor: "releaseMemoryAnyCursor"
remove: "remove"
removeShard: "removeShard"
renameCollection: "renameCollection" # ID only
renameCollectionSameDB: "renameCollectionSameDB"
repairDatabase: "repairDatabase" # Deprecated (backwards compatibility)
replSetConfigure: "replSetConfigure"
replSetGetConfig: "replSetGetConfig"
replSetGetStatus: "replSetGetStatus"
replSetHeartbeat: "replSetHeartbeat"
replSetReconfig: "replSetReconfig" # ID only
replSetResizeOplog: "replSetResizeOplog"
replSetStateChange: "replSetStateChange"
reshardCollection: "reshardCollection"
resync: "resync"
revokeRole: "revokeRole"
revokePrivilegesFromRole: "revokePrivilegesFromRole" # ID only
revokeRolesFromRole: "revokeRolesFromRole" # ID only
revokeRolesFromUser: "revokeRolesFromUser" # ID only
rotateCertificates: "rotateCertificates"
runAsLessPrivilegedUser: "runAsLessPrivilegedUser"
serverStatus: "serverStatus"
setAuthenticationRestriction: "setAuthenticationRestriction"
setClusterParameter: "setClusterParameter"
setDefaultRWConcern: "setDefaultRWConcern"
setFeatureCompatibilityVersion: "setFeatureCompatibilityVersion"
setFreeMonitoring: "setFreeMonitoring" # Removed (backwards compatibility)
setParameter: "setParameter"
setUserWriteBlockMode: "setUserWriteBlockMode"
shardCollection: "shardCollection" # ID only
shardedDataDistribution: "shardedDataDistribution"
shardingState: "shardingState"
shutdown: "shutdown"
splitChunk: "splitChunk"
splitVector: "splitVector"
storageDetails: "storageDetails"
top: "top"
touch: "touch"
trafficRecord: "trafficRecord"
transitionFromDedicatedConfigServer: "transitionFromDedicatedConfigServer"
transitionToDedicatedConfigServer: "transitionToDedicatedConfigServer"
unlock: "unlock"
unshardCollection: "unshardCollection"
useTenant: "useTenant"
useUUID: "useUUID"
update: "update"
updateRole: "updateRole" # ID only
updateUser: "updateUser" # ID only
validate: "validate"
viewRole: "viewRole"
viewUser: "viewUser"
applyOps: "applyOps"
setChangeStreamState: "setChangeStreamState"
getChangeStreamState: "getChangeStreamState"
# In 'MatchType' the extra_data field "serverlessActionTypes" is used
# by the AuthorizationSession while in multitenancy mode to determine
@ -227,7 +227,7 @@ enums:
description: Bottom type for resource matches, matches nothing.
value: "never"
extra_data:
serverlessActionTypes: [] # Explicitly listing no action types valid.
serverlessActionTypes: [] # Explicitly listing no action types valid.
# resource: { cluster: true }
kMatchClusterResource:
@ -437,9 +437,9 @@ enums:
serverlessActionTypes: *actionsValidOnSystemBuckets
structs:
MatchTypeExtraData:
description: Extra data defined in the MatchType enum
fields:
serverlessActionTypes:
description: Permitted action types for the match type when in serverless mode
type: array<string>
MatchTypeExtraData:
description: Extra data defined in the MatchType enum
fields:
serverlessActionTypes:
description: Permitted action types for the match type when in serverless mode
type: array<string>

View File

@ -31,22 +31,21 @@
# for that class.
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/auth/address_restriction.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/auth/address_restriction.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
structs:
address_restriction:
description: "clientSource/serverAddress restriction pair"
strict: true
fields:
clientSource:
type: array<string>
optional: true
serverAddress:
type: array<string>
optional: true
address_restriction:
description: "clientSource/serverAddress restriction pair"
strict: true
fields:
clientSource:
type: array<string>
optional: true
serverAddress:
type: array<string>
optional: true

View File

@ -27,27 +27,27 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
server_parameters:
roleGraphInvalidationIsFatal:
# Role graph invalidation is non-fatal by default. Making this fatal
# during testing makes invalidation events visible.
description: "Make role graph invalidation terminate the server"
default: false
set_at: startup
cpp_vartype: bool
cpp_varname: roleGraphInvalidationIsFatal
test_only: true
redact: false
roleGraphInvalidationIsFatal:
# Role graph invalidation is non-fatal by default. Making this fatal
# during testing makes invalidation events visible.
description: "Make role graph invalidation terminate the server"
default: false
set_at: startup
cpp_vartype: bool
cpp_varname: roleGraphInvalidationIsFatal
test_only: true
redact: false
enforceUserClusterSeparation:
description: "Prevents creation of users whose names would be interpreted as cluster members"
set_at: startup
cpp_varname: "gEnforceUserClusterSeparation"
cpp_vartype: bool
default: true
redact: false
enforceUserClusterSeparation:
description: "Prevents creation of users whose names would be interpreted as cluster members"
set_at: startup
cpp_varname: "gEnforceUserClusterSeparation"
cpp_vartype: bool
default: true
redact: false

View File

@ -27,52 +27,52 @@
#
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/auth/user_name.h"
- "mongo/db/auth/role_name.h"
- "mongo/db/auth/role_name_or_string.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/auth/user_name.h"
- "mongo/db/auth/role_name.h"
- "mongo/db/auth/role_name_or_string.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
types:
UserName:
bson_serialization_type: any
description: "A struct representing a UserName"
cpp_type: "UserName"
deserializer: "mongo::UserName::parseFromBSON"
serializer: "mongo::UserName::serializeToBSON"
# The AuthName that is constructed has only non-view members.
is_view: false
UserName:
bson_serialization_type: any
description: "A struct representing a UserName"
cpp_type: "UserName"
deserializer: "mongo::UserName::parseFromBSON"
serializer: "mongo::UserName::serializeToBSON"
# The AuthName that is constructed has only non-view members.
is_view: false
RoleName:
bson_serialization_type: any
description: "A struct representing a Role"
cpp_type: "RoleName"
deserializer: "mongo::RoleName::parseFromBSON"
serializer: "mongo::RoleName::serializeToBSON"
# The AuthName that is constructed has only non-view members.
is_view: false
RoleName:
bson_serialization_type: any
description: "A struct representing a Role"
cpp_type: "RoleName"
deserializer: "mongo::RoleName::parseFromBSON"
serializer: "mongo::RoleName::serializeToBSON"
# The AuthName that is constructed has only non-view members.
is_view: false
RoleNameOrString:
bson_serialization_type: any
description: Wrapper for RoleName which allows specifying just a string.
cpp_type: "RoleNameOrString"
deserializer: "mongo::RoleNameOrString::parseFromBSON"
serializer: "mongo::RoleNameOrString::serializeToBSON"
# The AuthName that is constructed has only non-view members.
is_view: false
RoleNameOrString:
bson_serialization_type: any
description: Wrapper for RoleName which allows specifying just a string.
cpp_type: "RoleNameOrString"
deserializer: "mongo::RoleNameOrString::parseFromBSON"
serializer: "mongo::RoleNameOrString::serializeToBSON"
# The AuthName that is constructed has only non-view members.
is_view: false
structs:
authLocalGetSubRolesFailPoint:
description: Data for authLocalGetSubRoles failpoint
fields:
resolveRolesDelayMS:
type: int
validator: { gte: 0 }
waitForUserCacheInvalidationFailPoint:
description: Data for waitForUserCacheInvalidation fail point
fields:
userName:
type: UserName
authLocalGetSubRolesFailPoint:
description: Data for authLocalGetSubRoles failpoint
fields:
resolveRolesDelayMS:
type: int
validator: {gte: 0}
waitForUserCacheInvalidationFailPoint:
description: Data for waitForUserCacheInvalidation fail point
fields:
userName:
type: UserName

View File

@ -32,14 +32,14 @@ global:
server_parameters:
authSchemaVersion:
description: 'Read-only value describing the current auth schema version'
set_at: 'readonly'
description: "Read-only value describing the current auth schema version"
set_at: "readonly"
cpp_class:
name: AuthzVersionParameter
redact: false
startupAuthSchemaValidation:
description: 'Validate auth schema on startup'
description: "Validate auth schema on startup"
set_at: startup
cpp_vartype: bool
cpp_varname: gStartupAuthSchemaValidation
@ -47,8 +47,7 @@ server_parameters:
redact: false
allowRolesFromX509Certificates:
description:
Whether to allow roles contained in X509 certificates if X509 authentication is enabled
description: Whether to allow roles contained in X509 certificates if X509 authentication is enabled
set_at: startup
cpp_vartype: bool
cpp_varname: allowRolesFromX509Certificates

View File

@ -26,20 +26,20 @@
# it in the license file.
global:
cpp_namespace: mongo
cpp_includes:
- mongo/db/auth/authorization_manager_impl.h
- mongo/db/auth/authorization_router_impl.h
cpp_namespace: mongo
cpp_includes:
- mongo/db/auth/authorization_manager_impl.h
- mongo/db/auth/authorization_router_impl.h
imports:
- mongo/db/basic_types.idl
- mongo/db/basic_types.idl
server_parameters:
authorizationManagerCacheSize:
description: >
Element count limit on the AuthorizationManager's user handle cache, stored within its AuthorizationRouter.
set_at:
- startup
cpp_varname: authorizationRouterCacheSize
default: 100
redact: false
authorizationManagerCacheSize:
description: >
Element count limit on the AuthorizationManager's user handle cache, stored within its AuthorizationRouter.
set_at:
- startup
cpp_varname: authorizationRouterCacheSize
default: 100
redact: false

View File

@ -1,11 +1,11 @@
global:
cpp_namespace: "mongo"
server_parameters:
enableLocalhostAuthBypass:
description: "Enable authorization bypass for localhost connections"
set_at: startup
cpp_varname: "enableLocalhostAuthBypass"
cpp_vartype: bool
default: true
redact: false
global:
cpp_namespace: "mongo"
server_parameters:
enableLocalhostAuthBypass:
description: "Enable authorization bypass for localhost connections"
set_at: startup
cpp_varname: "enableLocalhostAuthBypass"
cpp_vartype: bool
default: true
redact: false

View File

@ -29,7 +29,7 @@
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/util/net/http_client.h"
- "mongo/util/net/http_client.h"
imports:
- "mongo/db/basic_types.idl"
@ -44,7 +44,7 @@ structs:
description: "The authorization server's issuer identifier"
cpp_name: issuer
type: string
validator: { callback: 'HttpClient::endpointIsSecure' }
validator: {callback: "HttpClient::endpointIsSecure"}
authorization_endpoint:
description: "URL of the authorization server's authorization endpoint"
cpp_name: authorizationEndpoint
@ -64,4 +64,4 @@ structs:
description: "URL of the authorization server's jwks endpoint"
cpp_name: jwksUri
type: string
validator: { callback: 'HttpClient::endpointIsSecure' }
validator: {callback: "HttpClient::endpointIsSecure"}

View File

@ -36,7 +36,7 @@ imports:
structs:
OIDCMechanismClientStep1:
description: Client's opening request in saslStart or
hello.speculativeAuthenticate
hello.speculativeAuthenticate
strict: false
fields:
n:
@ -71,4 +71,3 @@ structs:
description: "Compact serialized JWT with signature"
cpp_name: JWT
type: string

View File

@ -27,7 +27,7 @@
#
global:
cpp_namespace: "mongo::auth"
cpp_namespace: "mongo::auth"
imports:
- "mongo/db/basic_types.idl"
@ -40,22 +40,22 @@ structs:
fields:
cluster:
# Conflicts with all other resource subfields
description: 'ResourcePattern::forClusterResource'
description: "ResourcePattern::forClusterResource"
type: safeBool
optional: true
anyResource:
# Conflicts with all other resource subfields
description: 'ResourcePattern::forAnyResource'
description: "ResourcePattern::forAnyResource"
type: safeBool
optional: true
db:
# Conflicts with all but 'collection' and 'system_buckets'
description: 'Used with anyNormalResource or partial/exact namespace match'
description: "Used with anyNormalResource or partial/exact namespace match"
type: string
optional: true
collection:
# Conflicts with all but 'db', which is required
description: 'Used with anyNormalResource or partial/exact namespace match'
description: "Used with anyNormalResource or partial/exact namespace match"
type: string
optional: true
system_buckets:

View File

@ -28,7 +28,7 @@
global:
cpp_namespace: "mongo::auth"
cpp_includes:
- "mongo/db/auth/sasl_payload.h"
- "mongo/db/auth/sasl_payload.h"
imports:
- "mongo/db/basic_types.idl"

View File

@ -27,75 +27,75 @@
#
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/auth/sasl_options.h"
configs:
section: "SASL Options"
source: [ yaml ]
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/auth/sasl_options.h"
configs:
section: "SASL Options"
source: [yaml]
server_parameters:
authenticationMechanisms:
# Note: mongo/db/stats/counter.cpp makes the assumption that this
# setting will never be changed at runtime.
description: "The set of accepted authentication mechanisms"
set_at: startup
default:
expr: 'SASLGlobalParams::kDefaultAuthenticationMechanisms'
is_constexpr: false
on_update: "SASLGlobalParams::onSetAuthenticationMechanism"
cpp_varname: "saslGlobalParams.authenticationMechanisms"
redact: false
authenticationMechanisms:
# Note: mongo/db/stats/counter.cpp makes the assumption that this
# setting will never be changed at runtime.
description: "The set of accepted authentication mechanisms"
set_at: startup
default:
expr: "SASLGlobalParams::kDefaultAuthenticationMechanisms"
is_constexpr: false
on_update: "SASLGlobalParams::onSetAuthenticationMechanism"
cpp_varname: "saslGlobalParams.authenticationMechanisms"
redact: false
saslHostName:
description: "Overrides the automatically detected hostname used in SASL authentication"
set_at: startup
on_update: "SASLGlobalParams::onSetHostName"
cpp_varname: "saslGlobalParams.hostName"
redact: false
saslHostName:
description: "Overrides the automatically detected hostname used in SASL authentication"
set_at: startup
on_update: "SASLGlobalParams::onSetHostName"
cpp_varname: "saslGlobalParams.hostName"
redact: false
saslServiceName:
description: "Override the default service name used in Kerberos authentication"
set_at: startup
on_update: "SASLGlobalParams::onSetServiceName"
cpp_varname: "saslGlobalParams.serviceName"
redact: false
saslServiceName:
description: "Override the default service name used in Kerberos authentication"
set_at: startup
on_update: "SASLGlobalParams::onSetServiceName"
cpp_varname: "saslGlobalParams.serviceName"
redact: false
saslauthdPath:
description: "The path to a saslauthd Unix domain socket"
set_at: startup
on_update: "SASLGlobalParams::onSetAuthdPath"
cpp_varname: "saslGlobalParams.authdPath"
redact: false
saslauthdPath:
description: "The path to a saslauthd Unix domain socket"
set_at: startup
on_update: "SASLGlobalParams::onSetAuthdPath"
cpp_varname: "saslGlobalParams.authdPath"
redact: false
scramIterationCount:
description: "The number of times passwords are iteratively hashed for SCRAM-SHA-1"
set_at: [startup, runtime]
on_update: "SASLGlobalParams::onSetScramSHA1IterationCount"
cpp_varname: "saslGlobalParams.scramSHA1IterationCount"
default: 10000
validator: {gte: 5000}
redact: false
scramIterationCount:
description: "The number of times passwords are iteratively hashed for SCRAM-SHA-1"
set_at: [startup, runtime]
on_update: "SASLGlobalParams::onSetScramSHA1IterationCount"
cpp_varname: "saslGlobalParams.scramSHA1IterationCount"
default: 10000
validator: {gte: 5000}
redact: false
scramSHA256IterationCount:
description: "The number of times passwords are iteratively hashed for SCRAM-SHA-256"
set_at: [startup, runtime]
on_update: "SASLGlobalParams::onSetScramSHA256IterationCount"
cpp_varname: "saslGlobalParams.scramSHA256IterationCount"
default: 15000
validator: {gte: 5000}
redact: false
scramSHA256IterationCount:
description: "The number of times passwords are iteratively hashed for SCRAM-SHA-256"
set_at: [startup, runtime]
on_update: "SASLGlobalParams::onSetScramSHA256IterationCount"
cpp_varname: "saslGlobalParams.scramSHA256IterationCount"
default: 15000
validator: {gte: 5000}
redact: false
configs:
"security.authenticationMechanisms":
description: "List of supported authentication mechanisms. Default is SCRAM-SHA-1 and MONGODB-X509."
arg_vartype: StringVector
"security.sasl.hostName":
description: "Fully qualified server domain name"
arg_vartype: String
"security.sasl.serviceName":
description: "Registered name of the service using SASL"
arg_vartype: String
"security.sasl.saslauthdSocketPath":
description: "Path to Unix domain socket file for saslauthd"
arg_vartype: String
"security.authenticationMechanisms":
description: "List of supported authentication mechanisms. Default is SCRAM-SHA-1 and MONGODB-X509."
arg_vartype: StringVector
"security.sasl.hostName":
description: "Fully qualified server domain name"
arg_vartype: String
"security.sasl.serviceName":
description: "Registered name of the service using SASL"
arg_vartype: String
"security.sasl.saslauthdSocketPath":
description: "Path to Unix domain socket file for saslauthd"
arg_vartype: String

View File

@ -26,28 +26,27 @@
# it in the license file.
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/auth/user_cache_invalidator_job.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/auth/user_cache_invalidator_job.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
server_parameters:
userCacheInvalidationIntervalSecs:
description: >
On a mongos instance, specifies the interval (in seconds) at which the mongos instance
checks to determine whether the in-memory cache of user objects has stale data, and if so,
clears the cache. If there are no changes to user objects, mongos will not clear the cache.
cpp_varname: userCacheInvalidationIntervalSecs
cpp_vartype: AtomicWord<int>
set_at:
- startup
- runtime
default: 30
on_update: userCacheInvalidationIntervalSecsNotify
validator:
gte: 1
lte: 86400
redact: false
userCacheInvalidationIntervalSecs:
description: >
On a mongos instance, specifies the interval (in seconds) at which the mongos instance
checks to determine whether the in-memory cache of user objects has stale data, and if so,
clears the cache. If there are no changes to user objects, mongos will not clear the cache.
cpp_varname: userCacheInvalidationIntervalSecs
cpp_vartype: AtomicWord<int>
set_at:
- startup
- runtime
default: 30
on_update: userCacheInvalidationIntervalSecsNotify
validator:
gte: 1
lte: 86400
redact: false

View File

@ -28,8 +28,8 @@
global:
cpp_namespace: "mongo::auth"
cpp_includes:
- "mongo/db/auth/privilege_format.h"
- "mongo/db/auth/umc_info_command_arg.h"
- "mongo/db/auth/privilege_format.h"
- "mongo/db/auth/umc_info_command_arg.h"
imports:
- "mongo/db/basic_types.idl"

View File

@ -59,10 +59,10 @@ types:
safeInt:
bson_serialization_type:
- long
- int
- decimal
- double
- long
- int
- decimal
- double
description: "Accepts any numerical type within integer range"
cpp_type: "std::int32_t"
deserializer: "mongo::BSONElement::safeNumberInt"
@ -70,10 +70,10 @@ types:
safeInt64:
bson_serialization_type:
- long
- int
- decimal
- double
- long
- int
- decimal
- double
description: "Accepts any numerical type within int64 range"
cpp_type: std::int64_t
deserializer: "mongo::BSONElement::safeNumberLong"
@ -81,10 +81,10 @@ types:
exactInt64:
bson_serialization_type:
- long
- int
- decimal
- double
- long
- int
- decimal
- double
description: "Accepts any number that can be exactly converted to an int64"
cpp_type: std::int64_t
deserializer: "mongo::BSONElement::exactNumberLong"
@ -92,10 +92,10 @@ types:
safeDouble:
bson_serialization_type:
- long
- int
- decimal
- double
- long
- int
- decimal
- double
description: "Accepts any numerical type within double range"
cpp_type: double
deserializer: "mongo::BSONElement::safeNumberDouble"
@ -124,23 +124,25 @@ types:
safeBool:
bson_serialization_type:
- bool
- long
- int
- decimal
- double
description: "Accepts any numerical type (including bool) which can be interpreted as a
true/false value"
- bool
- long
- int
- decimal
- double
description:
"Accepts any numerical type (including bool) which can be interpreted as a
true/false value"
cpp_type: bool
deserializer: "mongo::BSONElement::trueValue"
is_view: false
optionalBool:
bson_serialization_type: any
description: "An optional bool type that does not serialize unless explicitly set. Can be
used in place of boost::optional<bool> to provide more intuitive semantics,
since the standard optional will coerce to true if populated regardless of
its internal value."
description:
"An optional bool type that does not serialize unless explicitly set. Can be
used in place of boost::optional<bool> to provide more intuitive semantics,
since the standard optional will coerce to true if populated regardless of
its internal value."
cpp_type: "mongo::OptionalBool"
default: "mongo::OptionalBool()"
deserializer: "mongo::OptionalBool::parseFromBSON"
@ -186,7 +188,7 @@ types:
cpp_type: "std::vector<std::uint8_t>"
deserializer: "mongo::BSONElement::_binDataVector"
is_view: false
bindata_vector:
bson_serialization_type: bindata
bindata_subtype: vector
@ -352,8 +354,9 @@ types:
IDLAnyTypeOwned:
bson_serialization_type: any
description: "Holds a BSONElement of any type. Does not require the backing BSON to stay
alive."
description:
"Holds a BSONElement of any type. Does not require the backing BSON to stay
alive."
cpp_type: "mongo::IDLAnyTypeOwned"
serializer: mongo::IDLAnyTypeOwned::serializeToBSON
deserializer: mongo::IDLAnyTypeOwned::parseFromBSON
@ -440,7 +443,7 @@ structs:
fields:
ok:
type: safeDouble
validator: { gte: 0.0, lte: 0.0 }
validator: {gte: 0.0, lte: 0.0}
stability: stable
code:
type: int
@ -463,7 +466,7 @@ structs:
batchSize:
type: safeInt64
optional: true
validator: { gte: 0 }
validator: {gte: 0}
stability: stable
Collation:
@ -488,7 +491,7 @@ structs:
strength:
type: safeInt
default: static_cast<int>(CollationStrength::kTertiary)
validator: { gte: 0, lte: 5 }
validator: {gte: 0, lte: 5}
stability: stable
# Order numbers based on numerical order and not lexicographic order.
numericOrdering:

View File

@ -50,16 +50,16 @@ structs:
strict: true
fields:
v:
description: 'Index spec version'
description: "Index spec version"
type: safeInt
default: 2
stability: stable
key:
description: 'Key to index on'
description: "Key to index on"
type: object_owned
stability: stable
name:
description: 'Descriptive name for the index'
description: "Descriptive name for the index"
type: string
optional: true
stability: stable
@ -74,9 +74,9 @@ structs:
indexSpec:
type: ClusteredIndexSpec
legacyFormat:
description: 'Legacy format means the clustered information was specified as
{clusteredIndex: true} and the cluster key defaults to _id. This should
only be supported for certain internal collections (e.g: time-series
buckets collections)'
description:
"Legacy format means the clustered information was specified as
{clusteredIndex: true} and the cluster key defaults to _id. This should
only be supported for certain internal collections (e.g: time-series
buckets collections)"
type: safeBool

View File

@ -29,7 +29,7 @@
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/catalog/collection_options_validation.h"
- "mongo/db/catalog/collection_options_validation.h"
imports:
- "mongo/db/basic_types.idl"

View File

@ -27,56 +27,56 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
types:
_id_key:
bson_serialization_type: any
description: "An _id value."
cpp_type: "mongo::BSONKey"
serializer: "mongo::BSONKey::serializeToBSON"
deserializer: "mongo::BSONKey::parseFromBSON"
is_view: false
_id_key:
bson_serialization_type: any
description: "An _id value."
cpp_type: "mongo::BSONKey"
serializer: "mongo::BSONKey::serializeToBSON"
deserializer: "mongo::BSONKey::parseFromBSON"
is_view: false
enums:
Severity:
description: "The severity of a healthlog entry."
type: string
values:
Info: "info"
Warning: "warning"
Error: "error"
Scope:
description: "The scope covered by a healthlog entry."
type: string
values:
Cluster: "cluster"
Node: "node"
Database: "database"
Collection: "collection"
Index: "index"
Document: "document"
Severity:
description: "The severity of a healthlog entry."
type: string
values:
Info: "info"
Warning: "warning"
Error: "error"
Scope:
description: "The scope covered by a healthlog entry."
type: string
values:
Cluster: "cluster"
Node: "node"
Database: "database"
Collection: "collection"
Index: "index"
Document: "document"
structs:
HealthLogEntry:
description: "An entry in system.local.healthlog."
is_catalog_ctxt: true
fields:
namespace:
cpp_name: nss
type: namespacestring
optional: true
collectionUUID:
type: uuid
optional: true
timestamp: date
severity: Severity
msg: string
scope: Scope
operation: string
data:
type: object
optional: true
HealthLogEntry:
description: "An entry in system.local.healthlog."
is_catalog_ctxt: true
fields:
namespace:
cpp_name: nss
type: namespacestring
optional: true
collectionUUID:
type: uuid
optional: true
timestamp: date
severity: Severity
msg: string
scope: Scope
operation: string
data:
type: object
optional: true

View File

@ -27,36 +27,36 @@
#
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/util/uuid.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/util/uuid.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
structs:
ImportCollectionOplogEntry:
description: "The object field of an importCollection oplog entry"
strict: false
fields:
importCollection:
description: "Namespace of the collection being imported"
type: namespacestring
importUUID:
description: "Identifies the import operation"
type: uuid
numRecords:
description: "Number of records in the collection"
type: long
dataSize:
description: "Date size of the collection"
type: long
catalogEntry:
description: "Catalog entry corresponding to the collection"
type: object
storageMetadata:
description: "Contains the storage engines file and table metadata for each ident"
type: object
dryRun:
description: "Import as a dryRun when true"
type: bool
ImportCollectionOplogEntry:
description: "The object field of an importCollection oplog entry"
strict: false
fields:
importCollection:
description: "Namespace of the collection being imported"
type: namespacestring
importUUID:
description: "Identifies the import operation"
type: uuid
numRecords:
description: "Number of records in the collection"
type: long
dataSize:
description: "Date size of the collection"
type: long
catalogEntry:
description: "Catalog entry corresponding to the collection"
type: object
storageMetadata:
description: "Contains the storage engines file and table metadata for each ident"
type: object
dryRun:
description: "Import as a dryRun when true"
type: bool

View File

@ -36,23 +36,24 @@ imports:
- "mongo/idl/cluster_server_parameter.idl"
structs:
PreAndPostImagesOptions:
description: "Change streams pre- and post-images options."
fields:
expireAfterSeconds:
description: "The number of seconds after which a pre-image is eligible for
deletion. A string value 'off' enables the default expiration policy."
stability: stable
type:
variant: [string, safeInt64]
default: "\"off\""
ChangeStreamOptions:
description: "A specification for the change streams options."
inline_chained_structs: true
chained_structs:
ClusterServerParameter: clusterServerParameter
fields:
preAndPostImages:
type: PreAndPostImagesOptions
stability: stable
default: true
PreAndPostImagesOptions:
description: "Change streams pre- and post-images options."
fields:
expireAfterSeconds:
description:
"The number of seconds after which a pre-image is eligible for
deletion. A string value 'off' enables the default expiration policy."
stability: stable
type:
variant: [string, safeInt64]
default: '"off"'
ChangeStreamOptions:
description: "A specification for the change streams options."
inline_chained_structs: true
chained_structs:
ClusterServerParameter: clusterServerParameter
fields:
preAndPostImages:
type: PreAndPostImagesOptions
stability: stable
default: true

View File

@ -32,12 +32,12 @@ global:
cpp_namespace: "mongo"
server_parameters:
changeStreamOptions:
description: "Cluster server parameter for change stream options"
set_at: cluster
omit_in_ftdc: false
cpp_class:
name: ChangeStreamOptionsParameter
override_set: true
override_validate: true
redact: false
changeStreamOptions:
description: "Cluster server parameter for change stream options"
set_at: cluster
omit_in_ftdc: false
cpp_class:
name: ChangeStreamOptionsParameter
override_set: true
override_validate: true
redact: false

View File

@ -33,19 +33,21 @@ imports:
- "mongo/db/basic_types.idl"
structs:
ChangeStreamStateParameters:
description: "The parameters associated with 'setChangeStreamState' and 'getChangeStreamState' commands."
fields:
enabled:
description: "Represents the state of the change stream of a tenant. If true, then
the change stream should be enabled, false otherwise. The corresponding
value is also returned by the 'getChangeStreamState' command"
type: bool
ChangeStreamStateParameters:
description: "The parameters associated with 'setChangeStreamState' and 'getChangeStreamState' commands."
fields:
enabled:
description:
"Represents the state of the change stream of a tenant. If true, then
the change stream should be enabled, false otherwise. The corresponding
value is also returned by the 'getChangeStreamState' command"
type: bool
commands:
setChangeStreamState:
description: "The command to set the state of the change stream in the serverless for a
particular tenant."
description:
"The command to set the state of the change stream in the serverless for a
particular tenant."
command_name: setChangeStreamState
cpp_name: SetChangeStreamStateCommandRequest
api_version: ""
@ -53,8 +55,9 @@ commands:
chained_structs:
ChangeStreamStateParameters: ChangeStreamStateParameters
getChangeStreamState:
description: "The command to get the state of the change stream in the serverless for a
particular tenant."
description:
"The command to get the state of the change stream in the serverless for a
particular tenant."
command_name: getChangeStreamState
cpp_name: GetChangeStreamStateCommandRequest
api_version: ""

View File

@ -27,57 +27,59 @@
#
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/change_streams_cluster_parameter.h"
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/change_streams_cluster_parameter.h"
imports:
- "mongo/db/basic_types.idl"
- "mongo/idl/cluster_server_parameter.idl"
- "mongo/db/basic_types.idl"
- "mongo/idl/cluster_server_parameter.idl"
structs:
ChangeStreamsClusterParameterStorage:
description: "A specification for the 'changeStreams' cluster-wide configuration parameter
type."
inline_chained_structs: true
chained_structs:
ClusterServerParameter: clusterServerParameter
fields:
expireAfterSeconds:
description: "The number of seconds to retain the change events. This value will be a
non-zero positive value if the change stream is enabled and a zero value if the change
stream is disabled."
type: safeInt64
default: 60 * 60
ChangeStreamsClusterParameterStorage:
description: >-
A specification for the 'changeStreams' cluster-wide configuration parameter
type.
inline_chained_structs: true
chained_structs:
ClusterServerParameter: clusterServerParameter
fields:
expireAfterSeconds:
description: >-
The number of seconds to retain the change events. This value will be a
non-zero positive value if the change stream is enabled and a zero value if the change
stream is disabled.
type: safeInt64
default: 60 * 60
server_parameters:
changeStreams:
description: "The cluster-wide configuration parameter for the change stream in the serverless."
set_at: cluster
omit_in_ftdc: false
cpp_vartype: ChangeStreamsClusterParameterStorage
cpp_varname: gChangeStreamsClusterParameter
validator:
callback: validateChangeStreamsClusterParameter
condition:
min_fcv: 6.2
redact: false
changeStreams:
description: "The cluster-wide configuration parameter for the change stream in the serverless."
set_at: cluster
omit_in_ftdc: false
cpp_vartype: ChangeStreamsClusterParameterStorage
cpp_varname: gChangeStreamsClusterParameter
validator:
callback: validateChangeStreamsClusterParameter
condition:
min_fcv: 6.2
redact: false
changeCollectionExpiredDocumentsRemoverJobSleepSeconds:
description: "Specifies the number of seconds for which the periodic change collection remover job will sleep between each cycle."
set_at: [ startup ]
cpp_vartype: AtomicWord<int>
cpp_varname: "gChangeCollectionExpiredDocumentsRemoverJobSleepSeconds"
validator:
gte: 1
default: 10
redact: false
changeCollectionExpiredDocumentsRemoverJobSleepSeconds:
description: "Specifies the number of seconds for which the periodic change collection remover job will sleep between each cycle."
set_at: [startup]
cpp_vartype: AtomicWord<int>
cpp_varname: "gChangeCollectionExpiredDocumentsRemoverJobSleepSeconds"
validator:
gte: 1
default: 10
redact: false
disableExpiredChangeCollectionRemover:
description: Disables the expired change collection remover.
set_at: [ startup ]
cpp_vartype: bool
cpp_varname: gChangeCollectionRemoverDisabled
default: false
test_only: true
redact: false
disableExpiredChangeCollectionRemover:
description: Disables the expired change collection remover.
set_at: [startup]
cpp_vartype: bool
cpp_varname: gChangeCollectionRemoverDisabled
default: false
test_only: true
redact: false

View File

@ -29,9 +29,9 @@ global:
cpp_namespace: mongo
server_parameters:
skipCorruptDocumentsWhenCloning:
description: "Skip corrupt documents when cloning"
cpp_vartype: AtomicWord<bool>
cpp_varname: gSkipCorruptDocumentsWhenCloning
set_at: [ startup, runtime ]
redact: false
skipCorruptDocumentsWhenCloning:
description: "Skip corrupt documents when cloning"
cpp_vartype: AtomicWord<bool>
cpp_varname: gSkipCorruptDocumentsWhenCloning
set_at: [startup, runtime]
redact: false

View File

@ -32,13 +32,13 @@ global:
- "mongo/db/server_options.h"
- "mongo/db/server_options_base.h"
configs:
section: 'General options'
source: [ cli, ini, yaml ]
section: "General options"
source: [cli, ini, yaml]
initializer:
register: addClusterAuthModeServerOption
configs:
'security.clusterAuthMode':
"security.clusterAuthMode":
description: >-
Authentication mode used for cluster authentication. Alternatives are
(keyFile|sendKeyFile|sendX509|x509)

View File

@ -28,7 +28,7 @@
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/commands/create_command_validation.h"
- "mongo/db/commands/create_command_validation.h"
imports:
- "mongo/db/auth/action_type.idl"
@ -125,31 +125,34 @@ structs:
optional: true
stability: stable
validationLevel:
description: "Determines how strictly to apply the validation rules to existing
documents during an update.
Can be one of following values: 'off', 'strict' or 'moderate'."
description:
"Determines how strictly to apply the validation rules to existing
documents during an update.
Can be one of following values: 'off', 'strict' or 'moderate'."
type: ValidationLevel
optional: true
stability: stable
validationAction:
description: "Determines whether to error on invalid documents or just warn about
the violations but allow invalid documents to be inserted.
Can be either 'warn' or 'error'."
description:
"Determines whether to error on invalid documents or just warn about
the violations but allow invalid documents to be inserted.
Can be either 'warn' or 'error'."
type: ValidationAction
optional: true
stability: stable
viewOn:
description: "The name of the source collection or view that
'namespace' is based off of."
'namespace' is based off of."
type: string
optional: true
stability: stable
validator:
callback: create_command_validation::validateViewOnNotEmpty
pipeline:
description: "An array that consists of the aggregation pipeline. Defines the view
by applying the specified pipeline to the 'viewOn' collection or
view."
description:
"An array that consists of the aggregation pipeline. Defines the view
by applying the specified pipeline to the 'viewOn' collection or
view."
type: array<object>
optional: true
stability: stable
@ -159,8 +162,9 @@ structs:
optional: true
stability: unstable
expireAfterSeconds:
description: "The number of seconds after which old data should be deleted. This can
be disabled by passing in 'off' as a value"
description:
"The number of seconds after which old data should be deleted. This can
be disabled by passing in 'off' as a value"
optional: true
stability: stable
type:
@ -186,9 +190,10 @@ structs:
type: safeBool
stability: unstable
dryRun:
description: "Runs the requested modification without modifying any database state.
This can be used to determine in advance if a particular collMod
request can be completed without errors."
description:
"Runs the requested modification without modifying any database state.
This can be used to determine in advance if a particular collMod
request can be completed without errors."
optional: true
type: safeBool
stability: unstable
@ -203,14 +208,14 @@ structs:
optional: true
validator:
gte: 1
lte: 1125899906842624 # 1 PB
lte: 1125899906842624 # 1 PB
stability: stable
cappedMax:
description: "Update the maximum number of documents allowed in the capped collection."
type: safeInt64
optional: true
validator:
lt: 2147483648 # 2^31
lt: 2147483648 # 2^31
stability: stable
recordIdsReplicated:
description: >-
@ -235,13 +240,12 @@ commands:
complex:
- check: should_ignore_auth_checks
- privilege:
resource_pattern: exact_namespace
action_type: collMod
resource_pattern: exact_namespace
action_type: collMod
- privilege:
resource_pattern: exact_namespace
action_type: find
resource_pattern: exact_namespace
action_type: find
inline_chained_structs: true
chained_structs:
CollModRequest: CollModRequest
reply_type: CollModReply

View File

@ -27,33 +27,33 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/util/buildinfo.idl"
- "mongo/util/buildinfo.idl"
enums:
BuildInfoAuthMode:
description: Acceptable values for the buildInfoAuthMode server parameter.
type: string
values:
kRequiresAuth : 'requiresAuth'
kVersionOnlyIfPreAuth : 'versionOnlyIfPreAuth'
kAllowedPreAuth : 'allowedPreAuth'
BuildInfoAuthMode:
description: Acceptable values for the buildInfoAuthMode server parameter.
type: string
values:
kRequiresAuth: "requiresAuth"
kVersionOnlyIfPreAuth: "versionOnlyIfPreAuth"
kAllowedPreAuth: "allowedPreAuth"
server_parameters:
buildInfoAuthMode:
description: "Control the level of authorization required to run the buildInfo command"
set_at: [ startup, runtime ]
cpp_class: BuildInfoAuthModeServerParameter
redact: false
buildInfoAuthMode:
description: "Control the level of authorization required to run the buildInfo command"
set_at: [startup, runtime]
cpp_class: BuildInfoAuthModeServerParameter
redact: false
commands:
buildInfo:
description: "Return information about the current build environment"
namespace: ignored
api_version: ''
command_name: buildInfo
command_alias: buildinfo
cpp_name: BuildInfoCommand
reply_type: BuildInfo
buildInfo:
description: "Return information about the current build environment"
namespace: ignored
api_version: ""
command_name: buildInfo
command_alias: buildinfo
cpp_name: BuildInfoCommand
reply_type: BuildInfo

View File

@ -27,7 +27,7 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
@ -48,7 +48,7 @@ commands:
namespace: type
type: object
strict: false
getClusterParameter:
description: "Retrieves the in-memory value of the specified cluster server parameter(s)"
command_name: getClusterParameter
@ -59,9 +59,9 @@ commands:
variant: [string, array<string>]
fields:
omitInFTDC:
description: >-
description: >-
Indicates that getClusterParameter should omit any CSPs with omitInFTDC=true
type: bool
default: false
default: false
reply_type: GetClusterParameterReply
strict: false
strict: false

View File

@ -52,7 +52,7 @@ commands:
description: "Minimum amount of space recoverable for compaction to proceed."
optional: true
type: safeInt64
validator: { gte: 1 }
validator: {gte: 1}
namespace: concatenate_with_db
strict: true
@ -68,7 +68,7 @@ commands:
description: "Minimum amount of space recoverable for compaction to proceed."
optional: true
type: safeInt64
validator: { gte: 1 }
validator: {gte: 1}
runOnce:
description: "Run compact once on every file on the node."
type: bool

View File

@ -35,28 +35,28 @@ imports:
structs:
ConnectionStatusReplyAuthInfo:
description: 'Currently authenticated users and roles, and optional privileges'
description: "Currently authenticated users and roles, and optional privileges"
fields:
authenticatedUsers:
description: 'Currently authenticated users'
description: "Currently authenticated users"
type: array<UserName>
authenticatedUserRoles:
description: 'Currently held roles for authenticated users'
description: "Currently held roles for authenticated users"
type: array<RoleName>
authenticatedUserPrivileges:
description: 'Currently authorized privileges across granted roles'
description: "Currently authorized privileges across granted roles"
type: array<ParsedPrivilege>
optional: true
ConnectionStatusReply:
description: 'Reply to connectionStatus command'
description: "Reply to connectionStatus command"
is_command_reply: true
fields:
authInfo:
description: 'Authenticated users and roles'
description: "Authenticated users and roles"
type: ConnectionStatusReplyAuthInfo
uuid:
description: 'UUID of the current client'
description: "UUID of the current client"
type: uuid
commands:
@ -69,7 +69,6 @@ commands:
reply_type: ConnectionStatusReply
fields:
showPrivileges:
description: 'Return detailed privileges'
description: "Return detailed privileges"
type: safeBool
default: false

View File

@ -29,7 +29,7 @@
global:
cpp_namespace: "mongo"
cpp_includes:
- "mongo/db/commands/create_command_validation.h"
- "mongo/db/commands/create_command_validation.h"
imports:
- "mongo/crypto/encryption_fields.idl"
@ -42,23 +42,24 @@ imports:
structs:
CreateCommandReply:
description: 'Reply from the {create: ...} command'
description: "Reply from the {create: ...} command"
strict: true
is_command_reply: true
fields:
note:
description: 'Warnings or other additional information'
description: "Warnings or other additional information"
type: string
optional: true
stability: stable
CreateCollectionRequest:
description: "Base request to create a collection"
strict: true
strict: true
fields:
capped:
description: "Specify true to create a capped collection. If you specify true, you
must also set a maximum size in the 'size' field."
description:
"Specify true to create a capped collection. If you specify true, you
must also set a maximum size in the 'size' field."
type: safeBool
default: false
# The capped parameter should actually be unstable, and in practice it is, because
@ -75,19 +76,21 @@ structs:
optional: true
validator:
gte: 1
lte: 1125899906842624 # 1 PB
lte: 1125899906842624 # 1 PB
stability: unstable
max:
description: "The maximum number of documents allowed in the capped collection. The
'size' limit takes precedence over this limit."
description:
"The maximum number of documents allowed in the capped collection. The
'size' limit takes precedence over this limit."
type: safeInt64
optional: true
validator:
lt: 2147483648 # 2^31
lt: 2147483648 # 2^31
stability: unstable
storageEngine:
description: "Specify a configuration to the storage engine on a per-collection
basis when creating a collection."
description:
"Specify a configuration to the storage engine on a per-collection
basis when creating a collection."
type: object
optional: true
stability: unstable
@ -97,37 +100,42 @@ structs:
optional: true
stability: stable
validationLevel:
description: "Determines how strictly to apply the validation rules to existing
documents during an update.
Can be one of following values: 'off', 'strict' or 'moderate'."
description:
"Determines how strictly to apply the validation rules to existing
documents during an update.
Can be one of following values: 'off', 'strict' or 'moderate'."
type: ValidationLevel
optional: true
stability: stable
validationAction:
description: "Determines whether to error on invalid documents or just warn about
the violations but allow invalid documents to be inserted.
Can be either 'warn' or 'error'."
description:
"Determines whether to error on invalid documents or just warn about
the violations but allow invalid documents to be inserted.
Can be either 'warn' or 'error'."
type: ValidationAction
optional: true
stability: stable
indexOptionDefaults:
description: "Allows users to specify a default configuration for indexes when
creating a collection."
description:
"Allows users to specify a default configuration for indexes when
creating a collection."
type: IndexOptionDefaults
optional: true
stability: unstable
viewOn:
description: "The name of the source collection or view from which to create the
view."
description:
"The name of the source collection or view from which to create the
view."
type: string
optional: true
stability: stable
validator:
callback: create_command_validation::validateViewOnNotEmpty
pipeline:
description: "An array that consists of the aggregation pipeline. Creates the view
by applying the specified pipeline to the 'viewOn' collection or
view."
description:
"An array that consists of the aggregation pipeline. Creates the view
by applying the specified pipeline to the 'viewOn' collection or
view."
type: array<object>
optional: true
stability: stable
@ -147,7 +155,8 @@ structs:
optional: true
stability: stable
clusteredIndex:
description: "Specifies whether this collection should have a clusteredIndex.
description:
"Specifies whether this collection should have a clusteredIndex.
Boolean is accepted as the legacy clustered index format for specific internal
collections - and implies clustering by _id. Otherwise, clusters according to
the ClusteredIndexSpec."
@ -156,8 +165,9 @@ structs:
optional: true
stability: stable
recordIdsReplicated:
description: "Specifies whether this collection should utilize the same recordId for a given document
across all nodes in a replica set."
description:
"Specifies whether this collection should utilize the same recordId for a given document
across all nodes in a replica set."
type: safeBool
optional: true
stability: unstable
@ -183,7 +193,7 @@ structs:
description: "DEPRECATED"
type: safeInt64
optional: true
stability: unstable
stability: unstable
commands:
create:
@ -198,23 +208,23 @@ commands:
- check: get_authenticated_user # Can be triggered by aggregation
- check: lookup_user # Can be triggered by aggregation
- privilege:
resource_pattern: exact_namespace
action_type: convertToCapped
resource_pattern: exact_namespace
action_type: convertToCapped
- privilege:
resource_pattern: exact_namespace
action_type: createCollection
resource_pattern: exact_namespace
action_type: createCollection
- privilege:
resource_pattern: exact_namespace
action_type: insert
resource_pattern: exact_namespace
action_type: insert
- privilege:
resource_pattern: exact_namespace
action_type: find
resource_pattern: exact_namespace
action_type: find
- privilege: # Can be triggered by aggregation
resource_pattern: exact_namespace
action_type: [remove, update, collStats, indexStats, planCacheRead]
resource_pattern: exact_namespace
action_type:
[remove, update, collStats, indexStats, planCacheRead]
reply_type: CreateCommandReply
strict: true
inline_chained_structs: true
chained_structs:
CreateCollectionRequest: CreateCollectionRequest

View File

@ -41,7 +41,7 @@ commands:
command_name: dropConnections
namespace: ignored
api_version: ""
fields:
fields:
hostAndPort:
description: "List of host and ports"
description: "List of host and ports"
type: array<HostAndPort>

View File

@ -27,12 +27,12 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
server_parameters:
featureCompatibilityVersion:
description: 'Read-only view of current Feature Compatability Version'
set_at: 'readonly'
description: "Read-only view of current Feature Compatability Version"
set_at: "readonly"
cpp_class:
name: FeatureCompatibilityVersionParameter
redact: false
@ -49,7 +49,7 @@ server_parameters:
redact: false
defaultStartupFCV:
description: 'Startup parameter to set a default FCV at startup'
description: "Startup parameter to set a default FCV at startup"
set_at: startup
cpp_vartype: std::string
cpp_varname: gDefaultStartupFCV

View File

@ -43,7 +43,7 @@ structs:
stats: CompactStats
commands:
compactStructuredEncryptionData :
compactStructuredEncryptionData:
description: "Parser for the 'compactStructuredEncryptionData' command"
command_name: compactStructuredEncryptionData
api_version: ""

View File

@ -38,57 +38,57 @@ structs:
description: "A pair of non-anchor and anchor positions"
strict: true
fields:
cpos:
description: "non-anchor position"
type: long
apos:
description: "anchor position"
type: long
cpos:
description: "non-anchor position"
type: long
apos:
description: "anchor position"
type: long
ESCOptionalPositionsPair:
description: "A pair of optional non-anchor and anchor positions"
strict: true
fields:
cpos:
description: "non-anchor position"
type: long
optional: true
apos:
description: "anchor position"
type: long
optional: true
cpos:
description: "non-anchor position"
type: long
optional: true
apos:
description: "anchor position"
type: long
optional: true
QECountInfoReplyTokens:
description: "A tokens of ESC information"
strict: true
fields:
t:
description: "ESCTwiceDerivedTagToken"
type: bindata_generic
cpp_name: ESCTwiceDerivedTagToken
c:
description: "ESC count"
type: long
cpp_name: count
td:
description: "EDCDerivedFromDataTokenAndContentionFactorToken"
type: bindata_generic
cpp_name: EDCDerivedFromDataTokenAndContentionFactorToken
optional: true
spos:
description: "positions returned from emuBinary"
type: ESCOptionalPositionsPair
cpp_name: SearchedPositions
optional: true
npos:
description: "position pair retrieved from the null anchor"
type: ESCPositionsPair
cpp_name: NullAnchorPositions
optional: true
stats:
description: "stats returned for compaction or cleanup algorithms"
type: ECStats
optional: true
t:
description: "ESCTwiceDerivedTagToken"
type: bindata_generic
cpp_name: ESCTwiceDerivedTagToken
c:
description: "ESC count"
type: long
cpp_name: count
td:
description: "EDCDerivedFromDataTokenAndContentionFactorToken"
type: bindata_generic
cpp_name: EDCDerivedFromDataTokenAndContentionFactorToken
optional: true
spos:
description: "positions returned from emuBinary"
type: ESCOptionalPositionsPair
cpp_name: SearchedPositions
optional: true
npos:
description: "position pair retrieved from the null anchor"
type: ESCPositionsPair
cpp_name: NullAnchorPositions
optional: true
stats:
description: "stats returned for compaction or cleanup algorithms"
type: ECStats
optional: true
QECountInfoReplyTokenSet:
description: "Array of tokens sets"
@ -96,7 +96,6 @@ structs:
fields:
tokens: array<QECountInfoReplyTokens>
QECountInfoRequestTokens:
description: "A ESC token to lookup in ESC"
strict: true
@ -117,7 +116,6 @@ structs:
fields:
tokens: array<QECountInfoRequestTokens>
QECountInfosReply:
description: "Reply from the {getQueryableEncryptionCountInfo: ...} command"
# MongoS/Txn add fields to the reply we want to ignore
@ -152,4 +150,3 @@ commands:
queryType:
description: "Purpose of command, either for insert, query, compact, or cleanup"
type: QECountInfoQueryType

View File

@ -28,7 +28,6 @@
global:
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"

View File

@ -33,9 +33,10 @@ imports:
commands:
internalRenameIfOptionsAndIndexesMatch:
description: "An internal command that does a rename, but first checks to make sure the
indexes and collection options on the destination match those given in the
command."
description:
"An internal command that does a rename, but first checks to make sure the
indexes and collection options on the destination match those given in the
command."
command_name: internalRenameIfOptionsAndIndexesMatch
namespace: ignored
api_version: ""
@ -45,10 +46,10 @@ commands:
to:
type: namespacestring
collectionOptions:
description: "An object representing the options on the from collection with the
same format as the options from the listCollections command."
description:
"An object representing the options on the from collection with the
same format as the options from the listCollections command."
type: object
indexes:
description: "An object with form {indexName: {spec}, indexName: {spec}, ...}"
type: array<object>

View File

@ -27,32 +27,32 @@
#
global:
cpp_namespace: "mongo"
cpp_namespace: "mongo"
imports:
- "mongo/db/basic_types.idl"
- "mongo/db/basic_types.idl"
structs:
TestInternalTransactionsCommandReply:
description: "Response for internal transaction command."
strict: false
is_command_reply: true
fields:
responses:
description: "List of responses to commands in the transaction."
type: array<object>
TestInternalTransactionsCommandReply:
description: "Response for internal transaction command."
strict: false
is_command_reply: true
fields:
responses:
description: "List of responses to commands in the transaction."
type: array<object>
TestInternalTransactionsCommandInfo:
description: "A command, its database name, and other test options."
strict: false
fields:
dbName:
type: database_name
command:
type: object_owned
exhaustCursor:
type: bool
optional: true
TestInternalTransactionsCommandInfo:
description: "A command, its database name, and other test options."
strict: false
fields:
dbName:
type: database_name
command:
type: object_owned
exhaustCursor:
type: bool
optional: true
commands:
testInternalTransactions:
@ -61,14 +61,15 @@ commands:
namespace: ignored
api_version: ""
fields:
useClusterClient:
description: "Whether the transaction API client used should opt into running the
'cluster' versions of commands that enables a non-router node to run
the router versions of commands. Only meaningful on mongod because a
mongos will always run 'cluster' commands."
type: bool
default: false
commandInfos:
description: "List of TestInternalTransactionsCommandInfos to run in a single transaction."
type: array<TestInternalTransactionsCommandInfo>
useClusterClient:
description:
"Whether the transaction API client used should opt into running the
'cluster' versions of commands that enables a non-router node to run
the router versions of commands. Only meaningful on mongod because a
mongos will always run 'cluster' commands."
type: bool
default: false
commandInfos:
description: "List of TestInternalTransactionsCommandInfos to run in a single transaction."
type: array<TestInternalTransactionsCommandInfo>
reply_type: TestInternalTransactionsCommandReply

View File

@ -28,7 +28,6 @@
global:
cpp_namespace: "mongo"
imports:
- "mongo/db/auth/access_checks.idl"
- "mongo/db/auth/action_type.idl"
@ -81,8 +80,8 @@ commands:
complex:
- check: is_authorized_for_any_action_on_any_resource_in_db
- privilege:
resource_pattern: cluster
action_type: listDatabases
resource_pattern: cluster
action_type: listDatabases
strict: true
fields:
nameOnly:

View File

@ -28,7 +28,6 @@
global:
cpp_namespace: "mongo"
imports:
- "mongo/db/auth/access_checks.idl"
- "mongo/db/auth/action_type.idl"
@ -75,8 +74,9 @@ structs:
commands:
listDatabasesForAllTenants:
description: "listDatabasesForAllTenants Command: lists all databases for all tenants and
can only be run if authenticated with internal __system role"
description:
"listDatabasesForAllTenants Command: lists all databases for all tenants and
can only be run if authenticated with internal __system role"
command_name: "listDatabasesForAllTenants"
cpp_name: ListDatabasesForAllTenantsCommand
namespace: ignored
@ -84,8 +84,8 @@ commands:
access_check:
complex:
- privilege:
resource_pattern: cluster
action_type: internal
resource_pattern: cluster
action_type: internal
strict: false
fields:
nameOnly:

View File

@ -38,27 +38,27 @@ structs:
is_command_reply: true
fields:
resourceId:
description: 'The resource on which the locks are being held or pending.'
description: "The resource on which the locks are being held or pending."
type: string
granted:
description: 'An array of documents. Each document provides information on locks that are currently granted on the resource.'
description: "An array of documents. Each document provides information on locks that are currently granted on the resource."
type: array<object>
pending:
description: 'An array of documents. Each document provides information on locks that are currently pending on the resource.'
description: "An array of documents. Each document provides information on locks that are currently pending on the resource."
type: array<object>
LockInfoReply:
description: "Reply for the 'lockInfo' command."
is_command_reply: true
fields:
lockInfo:
description: 'The lock information for each resource.'
description: "The lock information for each resource."
type: array<lockInfoElement>
optional: true
ok:
description: 'Result of the command execution.'
description: "Result of the command execution."
type: safeDouble
validator: { gte: 0.0, lte: 1.0 }
validator: {gte: 0.0, lte: 1.0}
commands:
lockInfoCommand:
@ -66,10 +66,9 @@ commands:
command_name: lockInfo
namespace: ignored
api_version: ""
fields:
fields:
includeStorageEngineDump:
optional: true
description: "Dump storage engine debug information to the logs"
type: bool
reply_type: LockInfoReply

View File

@ -1,5 +1,4 @@
# Copyright (C) 2022-present MongoDB, Inc.
# Copyright (C) 2022-present MongoDB, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the Server Side Public License, version 1,
@ -27,7 +26,6 @@
# it in the license file.
#
global:
cpp_namespace: "mongo"
cpp_includes:
@ -39,7 +37,6 @@ imports:
- "mongo/s/sharding_types.idl"
structs:
CollectionResharded:
description: "Event describing the details of a committing reshardCollection operation."
strict: false
@ -55,7 +52,7 @@ structs:
type: uuid
sourceKey:
description: "The original shard key of the collection
(defined as optional for retro compatibility)."
(defined as optional for retro compatibility)."
type: object_owned
optional: true
unique:
@ -76,15 +73,16 @@ structs:
provenance:
type: ReshardingProvenance
description: "The type of user/system request that originated
the commit of this reshardCollection."
the commit of this reshardCollection."
optional: true
commands:
_shardsvrNotifyShardingEvent:
command_name: _shardsvrNotifyShardingEvent
cpp_name: ShardsvrNotifyShardingEventRequest
description: "Internal command to be invoked by the config server to notify a shard
of an event concerning the shard itself or the whole cluster."
description:
"Internal command to be invoked by the config server to notify a shard
of an event concerning the shard itself or the whole cluster."
namespace: ignored
api_version: ""
strict: false
@ -93,9 +91,9 @@ commands:
eventType:
type: string
description: "The type of sharding event"
validator: { callback: "notify_sharding_event::validateEventType" }
validator:
{callback: "notify_sharding_event::validateEventType"}
details:
type: object_owned
description: "A descriptor of the sharding event
(to be serialized and interpreted based on the value of eventType)."
(to be serialized and interpreted based on the value of eventType)."

View File

@ -27,52 +27,52 @@
#
global:
cpp_namespace: "mongo"
cpp_includes:
# For serverGlobalParams
- "mongo/db/server_options.h"
# For DBException
- "mongo/util/assert_util.h"
cpp_namespace: "mongo"
cpp_includes:
# For serverGlobalParams
- "mongo/db/server_options.h"
# For DBException
- "mongo/util/assert_util.h"
server_parameters:
quiet:
description: "Sets quiet logging mode"
set_at: ["startup", "runtime"]
cpp_varname: "serverGlobalParams.quiet"
redact: false
quiet:
description: "Sets quiet logging mode"
set_at: ["startup", "runtime"]
cpp_varname: "serverGlobalParams.quiet"
redact: false
traceExceptions:
description: "Configures mongod to log full code stack traces for every database and socket C++ exception"
set_at: runtime
cpp_varname: "DBException::traceExceptions"
redact: false
traceExceptions:
description: "Configures mongod to log full code stack traces for every database and socket C++ exception"
set_at: runtime
cpp_varname: "DBException::traceExceptions"
redact: false
traceWriteConflictExceptions:
description: "Call printStackTrace on every WriteConflictException created"
set_at: ["startup", "runtime"]
cpp_varname: "DBException::traceWriteConflictExceptions"
redact: false
traceWriteConflictExceptions:
description: "Call printStackTrace on every WriteConflictException created"
set_at: ["startup", "runtime"]
cpp_varname: "DBException::traceWriteConflictExceptions"
redact: false
logLevel:
description: "Specifies the verbosity of logging"
set_at: ["startup", "runtime"]
cpp_class:
name: LogLevelServerParameter
override_set: true
redact: false
logLevel:
description: "Specifies the verbosity of logging"
set_at: ["startup", "runtime"]
cpp_class:
name: LogLevelServerParameter
override_set: true
redact: false
logComponentVerbosity:
description: "Sets the verbosity levels of various components for log messages"
set_at: ["startup", "runtime"]
cpp_class:
name: LogComponentVerbosityServerParameter
override_set: true
redact: false
logComponentVerbosity:
description: "Sets the verbosity levels of various components for log messages"
set_at: ["startup", "runtime"]
cpp_class:
name: LogComponentVerbosityServerParameter
override_set: true
redact: false
automationServiceDescriptor:
description: "automationServiceDescriptor"
set_at: ["startup", "runtime"]
cpp_class:
name: AutomationServiceDescriptorServerParameter
override_set: true
redact: false
automationServiceDescriptor:
description: "automationServiceDescriptor"
set_at: ["startup", "runtime"]
cpp_class:
name: AutomationServiceDescriptorServerParameter
override_set: true
redact: false

View File

@ -27,56 +27,57 @@
#
global:
cpp_namespace: "mongo"
cpp_includes: "mongo/db/commands/profile_common.h"
cpp_namespace: "mongo"
cpp_includes: "mongo/db/commands/profile_common.h"
imports:
- "mongo/db/basic_types.idl"
types:
ObjectOrUnset:
bson_serialization_type: any
description: "Either an object or the special string 'unset'."
cpp_type: mongo::ObjectOrUnset
serializer: "::mongo::serializeObjectOrUnset"
deserializer: "::mongo::parseObjectOrUnset"
is_view: true
ObjectOrUnset:
bson_serialization_type: any
description: "Either an object or the special string 'unset'."
cpp_type: mongo::ObjectOrUnset
serializer: "::mongo::serializeObjectOrUnset"
deserializer: "::mongo::parseObjectOrUnset"
is_view: true
commands:
profile:
description: "Parser for the 'profile' command."
command_name: "profile"
cpp_name: ProfileCmdRequest
strict: true
namespace: type
api_version: ""
type: safeInt64
fields:
slowms:
profile:
description: "Parser for the 'profile' command."
command_name: "profile"
cpp_name: ProfileCmdRequest
strict: true
namespace: type
api_version: ""
type: safeInt64
description: "The threshold, in milliseconds, at which ops are profiled and logged."
optional: true
sampleRate:
type: safeDouble
description: "The fraction of eligible ops, in the range [0,1), to be logged/profiled."
optional: true
filter:
type: ObjectOrUnset
description: "A query predicate that determines which ops are logged/profiled. This is
an alternative to slowms and sampleRate. The special value 'unset' removes
the filter."
optional: true
fields:
slowms:
type: safeInt64
description: "The threshold, in milliseconds, at which ops are profiled and logged."
optional: true
sampleRate:
type: safeDouble
description: "The fraction of eligible ops, in the range [0,1), to be logged/profiled."
optional: true
filter:
type: ObjectOrUnset
description:
"A query predicate that determines which ops are logged/profiled. This is
an alternative to slowms and sampleRate. The special value 'unset' removes
the filter."
optional: true
setProfilingFilterGlobally:
description: "Parser for the 'setProfilingFilterGlobally' command."
command_name: "setProfilingFilterGlobally"
cpp_name: SetProfilingFilterGloballyCmdRequest
strict: true
namespace: ignored
api_version: ""
fields:
filter:
type: ObjectOrUnset
description: "A query predicate that determines which ops are logged/profiled on a global
level. The special value 'unset' removes the filter."
setProfilingFilterGlobally:
description: "Parser for the 'setProfilingFilterGlobally' command."
command_name: "setProfilingFilterGlobally"
cpp_name: SetProfilingFilterGloballyCmdRequest
strict: true
namespace: ignored
api_version: ""
fields:
filter:
type: ObjectOrUnset
description:
"A query predicate that determines which ops are logged/profiled on a global
level. The special value 'unset' removes the filter."

View File

@ -47,16 +47,16 @@ imports:
types:
BulkWriteReplyItem:
bson_serialization_type: object
description: "Structure used to report a single reply resulting from a batch write
command."
description:
"Structure used to report a single reply resulting from a batch write
command."
cpp_type: "mongo::BulkWriteReplyItem"
serializer: "mongo::BulkWriteReplyItem::serialize"
deserializer: "mongo::BulkWriteReplyItem::parse"
deserializer: "mongo::BulkWriteReplyItem::parse"
# Deserializer uses getOwned.
is_view: false
structs:
BulkWriteInsertOp:
description: "A struct representing inserts in the 'bulkWrite' command."
strict: true
@ -64,7 +64,7 @@ structs:
insert:
description: "Insert command which references the namespace index in 'nsInfo'."
type: safeInt
validator: { gte: 0 }
validator: {gte: 0}
stability: stable
document:
description: "The document to insert into the given collection"
@ -78,40 +78,45 @@ structs:
update:
description: "Update command which references the namespace index in 'nsInfo'."
type: safeInt
validator: { gte: 0 }
validator: {gte: 0}
stability: stable
filter:
description: "The query that matches documents to update. Uses the same query
selectors as used in the 'find' operation."
description:
"The query that matches documents to update. Uses the same query
selectors as used in the 'find' operation."
type: object
stability: stable
sort:
description: "Determines which document the operation modifies if the query selects
multiple documents."
description:
"Determines which document the operation modifies if the query selects
multiple documents."
type: object
optional: true
stability: unstable
multi:
description: "If true, updates all documents that meet the query criteria. If false,
limits the update to one document which meets the query criteria."
description:
"If true, updates all documents that meet the query criteria. If false,
limits the update to one document which meets the query criteria."
type: bool
default: false
stability: stable
updateMods:
description: "Set of modifications to apply."
description: "Set of modifications to apply."
type: update_modification
stability: stable
upsert:
description: "If true, perform an insert if no documents match the query. If both
upsert and multi are true and no documents match the query, the update
operation inserts only a single document."
description:
"If true, perform an insert if no documents match the query. If both
upsert and multi are true and no documents match the query, the update
operation inserts only a single document."
type: bool
default: false
stability: stable
upsertSupplied:
description: "Only applicable when upsert is true. If set, and if no documents match
the query, the update subsystem will insert the document supplied as
'constants.new' rather than generating a new document from the update spec."
description:
"Only applicable when upsert is true. If set, and if no documents match
the query, the update subsystem will insert the document supplied as
'constants.new' rather than generating a new document from the update spec."
type: optionalBool
stability: internal
arrayFilters:
@ -125,8 +130,9 @@ structs:
default: mongo::BSONObj()
stability: stable
constants:
description: "Specifies constant values that can be referred to in the pipeline
performing a custom update."
description:
"Specifies constant values that can be referred to in the pipeline
performing a custom update."
type: object
optional: true
stability: stable
@ -141,8 +147,9 @@ structs:
optional: true
stability: internal
$_allowShardKeyUpdatesWithoutFullShardKeyInQuery:
description: "Set to true if shard key updates are allowed without the full shard
key in the query."
description:
"Set to true if shard key updates are allowed without the full shard
key in the query."
type: optionalBool
cpp_name: allowShardKeyUpdatesWithoutFullShardKeyInQuery
stability: internal
@ -155,16 +162,18 @@ structs:
description: "Delete command which references the namespace index in 'nsInfo'."
cpp_name: deleteCommand # `delete` is a C++ keyword.
type: safeInt
validator: { gte: 0 }
validator: {gte: 0}
stability: stable
filter:
description: "The query that matches documents to delete. Uses the same query
selectors as used in the 'find' operation."
description:
"The query that matches documents to delete. Uses the same query
selectors as used in the 'find' operation."
type: object
stability: stable
multi:
description: "If true, deletes all documents that meet the query criteria. If false,
limits the delete to one document which meets the query criteria."
description:
"If true, deletes all documents that meet the query criteria. If false,
limits the delete to one document which meets the query criteria."
type: bool
default: false
stability: stable
@ -223,20 +232,23 @@ structs:
optional: true
stability: unstable
isTimeseriesNamespace:
description: "This flag is set to true when the command was originally sent to
mongos on the time-series view, but got rewritten to target
time-series buckets namespace before being sent to shards."
description:
"This flag is set to true when the command was originally sent to
mongos on the time-series view, but got rewritten to target
time-series buckets namespace before being sent to shards."
type: optionalBool
stability: internal
shardVersion:
description: "The shard version of the collection. This is to be attached by
mongos before being sent to a shard."
description:
"The shard version of the collection. This is to be attached by
mongos before being sent to a shard."
type: shard_version
optional: true
stability: internal
databaseVersion:
description: "The database version of the collection. This is to be attached by
mongos before being sent to a shard."
description:
"The database version of the collection. This is to be attached by
mongos before being sent to a shard."
type: database_version
optional: true
stability: internal
@ -291,15 +303,17 @@ structs:
optional: true
stability: stable
retriedStmtIds:
description: "The statement numbers for the write statements that had already been
executed, thus were not executed by this command."
description:
"The statement numbers for the write statements that had already been
executed, thus were not executed by this command."
type: array<int>
optional: true
stability: unstable
writeConcernError:
description: "WriteConcernError returned when this command was run. In case multiple
errors were returned from various shards, the errors are concatenated
in the error message."
description:
"WriteConcernError returned when this command was run. In case multiple
errors were returned from various shards, the errors are concatenated
in the error message."
type: BulkWriteWriteConcernError
optional: true
stability: unstable
@ -316,7 +330,8 @@ commands:
simple:
privilege:
resource_pattern: exact_namespace
action_type: [bypassDocumentValidation, find, insert, update, remove]
action_type:
[bypassDocumentValidation, find, insert, update, remove]
reply_type: BulkWriteCommandReply
fields:
ops:
@ -335,16 +350,18 @@ commands:
optional: true
stability: stable
bypassDocumentValidation:
description: "Enables the operation to bypass document validation. This lets you
write documents that do not meet the validation requirements."
description:
"Enables the operation to bypass document validation. This lets you
write documents that do not meet the validation requirements."
type: safeBool
default: false
stability: stable
ordered:
description: "If true, then when a write statement fails, the bulkWrite command returns
without executing the remaining statements. If false, then statements
are allowed to be executed in parallel and if a statement fails,
continue with the remaining statements, if any."
description:
"If true, then when a write statement fails, the bulkWrite command returns
without executing the remaining statements. If false, then statements
are allowed to be executed in parallel and if a statement fails,
continue with the remaining statements, if any."
type: bool
default: true
stability: stable
@ -369,27 +386,29 @@ commands:
default: false
stability: stable
bypassEmptyTsReplacement:
description: "Only applicable for inserts and replacement updates. If set to true,
any empty timestamps (Timestamp(0,0)) in 'documents' or 'u' will not
be replaced by the current time and instead will be preserved as-is."
description:
"Only applicable for inserts and replacement updates. If set to true,
any empty timestamps (Timestamp(0,0)) in 'documents' or 'u' will not
be replaced by the current time and instead will be preserved as-is."
type: optionalBool
stability: unstable
$_originalQuery:
description: "The original write query. This is used for updateOne/deleteOne
without shard key during the write phase of the two phase protocol in
order to make sure the shard key query analysis stores the correct
client query."
description:
"The original write query. This is used for updateOne/deleteOne
without shard key during the write phase of the two phase protocol in
order to make sure the shard key query analysis stores the correct
client query."
type: object
optional: true
cpp_name: originalQuery
stability: internal
$_originalCollation:
description: "The original write query. This is used for updateOne/deleteOne
without shard key during the write phase of the two phase protocol in
order to make sure the shard key query analysis stores the correct
client collation."
description:
"The original write query. This is used for updateOne/deleteOne
without shard key during the write phase of the two phase protocol in
order to make sure the shard key query analysis stores the correct
client collation."
type: object
optional: true
cpp_name: originalCollation
stability: internal

View File

@ -48,7 +48,7 @@ commands:
verbosity:
description: "The verbosity for explain command."
type: Verbosity
default : kExecAllPlans
default: kExecAllPlans
stability: stable
# Dummy reply type as we won't use it to parse explain reply.
reply_type: OkReply

View File

@ -73,7 +73,6 @@ types:
# Deserializer uses getOwned.
is_view: false
commands:
mapReduce:
description: "The MapReduce command."
@ -84,11 +83,13 @@ commands:
strict: true
fields:
map:
description: "Javascript code to run as the map operation which associates a value
description:
"Javascript code to run as the map operation which associates a value
with a key and emits the key and value pair."
type: mapReduceJavascriptCodeType
reduce:
description: "Javascript code to run as the map operation which reduces all the
description:
"Javascript code to run as the map operation which reduces all the
values associated with a particular key to a single value."
type: mapReduceJavascriptCodeType
out:
@ -96,7 +97,8 @@ commands:
type: mapReduceOutOptionsType
cpp_name: outOptions
query:
description: "Query object in match language to use as a filter applied before the
description:
"Query object in match language to use as a filter applied before the
map step."
type: object
optional: true
@ -114,19 +116,21 @@ commands:
optional: true
finalize:
description: "Javascript code to run after the reduce operation."
type: mapReduceJavascriptCodeNullPermittedType
type: mapReduceJavascriptCodeNullPermittedType
optional: true
scope:
description: "Javascript global variable mapping for map, reduce and finalize."
type: mapReduceGlobalVariableScopeType
type: mapReduceGlobalVariableScopeType
optional: true
verbose:
description: "Specifies whether to include the timing information in the result
description:
"Specifies whether to include the timing information in the result
information."
type: bool
optional: true
bypassDocumentValidation:
description: "Causes the out portion of the operation to ignore the output
description:
"Causes the out portion of the operation to ignore the output
collection's document validation."
type: bool
optional: true

Some files were not shown because too many files have changed in this diff Show More