diff --git a/modules/ROOT/assets/attachments/bundled-admin.yaml b/modules/ROOT/assets/attachments/bundled-admin.yaml index 7ff7345a..dc5ad484 100644 --- a/modules/ROOT/assets/attachments/bundled-admin.yaml +++ b/modules/ROOT/assets/attachments/bundled-admin.yaml @@ -68,7 +68,7 @@ paths: application/json: schema: type: object - properties: &ref_117 + properties: &ref_119 authentication_handlers: description: The ways authentication can be established to authenticate as the user. type: array @@ -162,7 +162,7 @@ paths: cookie_name: SyncGatewaySession '400': description: Origin is not in the approved list of allowed origins - content: &ref_104 + content: &ref_106 application/json: schema: type: object @@ -273,7 +273,7 @@ paths: - name: include_doc in: query required: false - schema: &ref_109 + schema: &ref_111 type: string description: Include the body associated with the document. - name: redact @@ -580,7 +580,7 @@ paths: in: query required: false description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: &ref_39 + schema: &ref_41 type: boolean default: false requestBody: @@ -590,7 +590,7 @@ paths: schema: description: The properties of a database configuration. type: object - properties: &ref_38 + properties: &ref_40 server: description: 'This is the Couchbase Server address or addresses that the database connect to. ' type: string @@ -633,7 +633,7 @@ paths: x-additionalPropertiesName: scopename description: Scope-specific configuration. type: object - properties: &ref_119 + properties: &ref_121 collections: description: An object keyed by collection name containing config for the specific collection. type: object @@ -641,7 +641,7 @@ paths: x-additionalPropertiesName: collectionname description: Collection-specific configuration. type: object - properties: &ref_118 + properties: &ref_120 sync: description: The Javascript function that newly created documents in this collection are ran through. type: string @@ -830,9 +830,9 @@ paths: minimum: 0 import_docs: description: |- - If true, documents will be imported in to Sync Gateway from the bucket when requested. Documents will be ran through the set `import_filter` if any is set. + If true, documents will be imported in to Sync Gateway from the bucket in the background. Documents will be ran through the set `import_filter` if any is set. - The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to `false` or else in the Enterprise Edition, it will default to `true`. + The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to `false` or else in the Enterprise Edition, it will default to `true`. This value requires `enable_shared_bucket_access=true`. This can also be set to the string `continuous` which maps to true. type: boolean @@ -847,6 +847,8 @@ paths: Each partition is processed by an independent function that runs simultaneously to others, so `import_partitions` can be used to tune concurrency based on the number of Sync Gateway nodes, and the number of cores per node. type: number default: 16 + minimum: 1 + maximum: 1024 import_filter: description: |- This is the function that all imported documents in the default scope and collection are ran through in order to filter out what to import and what not to import. This allows you to control what is made available to Couchbase Mobile clients. If it is not set, then no documents are filtered when imported. @@ -1327,6 +1329,7 @@ paths: description: Whether to use extended attributes to store Sync Gateway document (`_sync`) metadata. type: boolean default: true + deprecated: true session_cookie_secure: description: |- Override the session cookie `secure` flag. If set, the cookie will have the `secure` flag. @@ -1435,82 +1438,35 @@ paths: When the replication ID is specified in the URL, this must be set to the same replication ID if specifying it at all. type: string + maximum: 160 remote: description: |- This is the endpoint of the database for the remote Sync Gateway that is the subject of this replication's `push`, `pull`, or `pushAndPull` action. - Typically this would include the URI, port, and database name. For example, `http://localhost:4985/db`. - - How this remote is used depends on the `direction` of the replication: - * `pull` - this replicator _pulls_ changes from the `remote` - * `push` - this replicator _pushes_ changes to this `remote` - * `pushAndPull` - this replicator _pushes_ changes to this `remote`, while also pulling receiving changes - type: string - username: - description: |- - **This has been deprecated in favour of `remote_username`.** - - This is the username to use to authenticate with the remote. - - This can only be used for a pull replication. - type: string - deprecated: true - password: - description: |- - **This has been deprecated in favour of `remote_password`.** - - This is the password to use to authenticate with the remote. - - This password will be redacted in the replication config. - - This can only be used for a pull replication. + Typically this would include the URI, port, and database name. For example, `https://localhost:4985/db`. type: string - deprecated: true remote_username: - description: |- - The username to use to authenticate with the remote. - - This can only be used for a pull replication. + description: The username to use to authenticate with the remote. type: string remote_password: - description: |- - The password to use to authenticate with the remote. - - This password will be redacted in the replication config. - - This can only be used for a pull replication. + description: The password to use to authenticate with the remote. This password will be redacted in the replication config. type: string direction: - description: |- - This specifies which direction the replication will be replicating with the `remote` replicator. - - The directions are: - * `pull` - changes are pulled from the remote database - * `push` - changes are pushed to the remote database - * `pushAndPull` - changes are both push-to and pulled-from the remote database - - Replications created prior to Sync Gateway 2.8 derive their `direction` from the source/target URL of the replication. + description: This specifies which direction the replication will be replicating with the `remote` replicator. type: string enum: - push - pull - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: changes are both push-to and pulled-from the remote database conflict_resolution_type: description: |- This defines what conflict resolution policy Sync Gateway should use to apply when resolving conflicting revisions. Changing this is an Enterprise Edition only feature. - - **Behaviour** - * *default* - In priority order, this will cause - - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) - - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. - * *localWins* - This will result in local revisions always being the winner in any conflict. - * *remoteWins* - This will result in remote revisions always being the winner in any conflict. - * *custom* - This will result in conflicts going through your own custom conflict resolver. You must provide this logic as a Javascript function in the `custom_conflict_resolver` parameter. This is an Enterprise Edition only feature. - - - Note: replications created prior to Sync Gateway 2.8 will default to `default`. type: string default: default enum: @@ -1518,10 +1474,40 @@ paths: - remoteWins - localWins - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: This will result in local revisions always being the winner in any conflict. + remoteWins: This will result in remote revisions always being the winner in any conflict. + custom: This will result in conflicts going through your own custom conflict resolver. You must provide this logic as a Javascript function in the `custom_conflict_resolver` parameter. custom_conflict_resolver: - description: "This specifies the Javascript function to use to resolve conflicts between conflicting revisions.\n \nThis **must** be used when `conflict_resolution_type=custom`. This property will be ignored when `conflict_resolution_type` is not `custom`.\n\nThe Javascript function to provide this property should be in backticks (like the sync function). The function takes 1 parameter which is a struct that represents the conflict. This struct has 2 properties:\n* `LocalDocument` - The local document. This contains the document ID under the `_id` key.\n* `RemoteDocument` - The remote document\nThe function should return the new document's body. This can be the winning revision (for example, `return conflict.LocalDocument`), a new body, or `nil` to resolve as a delete.\n\nExample:\n```\n\"custom_conflict_resolver\":\\`\n\tfunction(conflict) {\n\t\tconsole.log(\"Doc ID: \"+conflict.LocalDocument._id);\n\t\tconsole.log(\"Full remote doc: \"+JSON.stringify(conflict.RemoteDocument));\n\t\treturn conflict.RemoteDocument;\n\t}\n\\`\n```\n\nUsing complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible.\n\nThis is an Enterprise Edition only feature.\n" + description: |- + This specifies the Javascript function to use to resolve conflicts between conflicting revisions. + + This **must** be used when `conflict_resolution_type=custom`. This property will be ignored when `conflict_resolution_type` is not `custom`. + + The Javascript function to provide this property should be in backticks (like the sync function). The function takes 1 parameter which is a struct that represents the conflict. This struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. This can be the winning revision (for example, `return conflict.LocalDocument`), a new body, or `nil` to resolve as a delete. + + Example: + + ```javascript + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + ``` + + Using complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible. + + This is an Enterprise Edition only feature. type: string - default: none + default: '' purge_on_removal: description: |- Specifies whether to purge a document if the remote user loses access to all of the channels on the document when attempting to pull it from the remote. @@ -1531,13 +1517,9 @@ paths: default: false enable_delta_sync: description: |- - This will turn on delta- sync for the replication. This works in conjunction with the database level setting `delta_sync.enabled` - - If set to true, delta-sync will be used as long as both databases involved in the replication have delta-sync enabled. If a database does not have delta-sync enabled, then the replication will run without delta-sync. - - Replications created prior to Sync Gateway 2.8 must have delta-sync disabled. + This will turn on delta-sync for the replication. In order to enable delta-sync for a replication, the database level setting `delta_sync.enabled` must also be set to true. - Enabling this is an Enterprise Edition only feature. + Using delta-sync is an Enterprise Edition only feature. type: boolean default: false max_backoff_time: @@ -1563,6 +1545,9 @@ paths: enum: - running - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: The replication configuration will be created but the replication will not start running until the user explicitly starts it. continuous: description: |- If true, changes will be immediately synced when they happen. This is known as a continuous replication. @@ -1571,21 +1556,20 @@ paths: type: boolean default: false filter: - description: |- - This defines whether to filter documents by their channels or not. - - If set to `sync_gateway/bychannel` then a **pull** replication will be limited to a specific set of channels specified by the `query_params.channels` property. - - This only can be used with pull replications. + description: This defines whether to filter documents. type: string enum: - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: If set, a pull replication will be limited to a specific set of channels specified by the `query_param.channels` property. query_params: description: |- This is a set of key/value pairs used in the query string of the replication. If `filters=sync_gateway/bychannel` then this can be used to set the channels to filter by in a pull replication. To do this, set the `channels` key to a string array of the channels to filter by. For example: - ``` + ```json "filter":"sync_gateway/bychannel", "query_params": { "channels":["chanUser1"] @@ -1638,11 +1622,26 @@ paths: type: array items: type: string + nullable: true example: - scope1.collectionA - null - scope1.collectionF default: [] + username: + description: |- + **This has been deprecated in favour of `remote_username`.** + + This is the username to use to authenticate with the remote. + type: string + deprecated: true + password: + description: |- + **This has been deprecated in favour of `remote_password`.** + + This is the password to use to authenticate with the remote. This password will be redacted in the replication config. + type: string + deprecated: true required: &ref_21 - direction title: User configurable replication properties @@ -1875,15 +1874,15 @@ paths: - title: Simple description: The names of all databases. type: array - items: &ref_120 + items: &ref_122 type: string - example: &ref_121 + example: &ref_123 - db1 - db2 - title: Verbose description: Description of all databases. type: array - example: &ref_122 + example: &ref_124 - db_name: db1 bucket: bucket1 state: Online @@ -1894,7 +1893,7 @@ paths: state: Starting require_resync: true init_in_progress: true - items: &ref_123 + items: &ref_125 type: object properties: db_name: @@ -1942,14 +1941,14 @@ paths: - name: name_only in: query required: false - schema: &ref_110 + schema: &ref_112 type: boolean default: true description: Whether to return user names only, or more detailed information for each user. - name: limit in: query required: false - schema: &ref_111 + schema: &ref_113 type: integer description: How many results to return. Using a value of `0` results in no limit. responses: @@ -2034,7 +2033,7 @@ paths: responses: '200': description: Properties associated with a user - content: &ref_144 + content: &ref_146 application/json: schema: description: Properties associated with a user @@ -2265,7 +2264,7 @@ paths: - name: name in: path required: true - schema: &ref_112 + schema: &ref_114 type: string description: The name of the role. get: @@ -2281,7 +2280,7 @@ paths: responses: '200': description: Properties associated with a role - content: &ref_145 + content: &ref_147 application/json: schema: description: Properties associated with a role @@ -2380,243 +2379,46 @@ paths: schema: description: Contains all the replication IDs with their corresponding replication configurations type: object - properties: &ref_124 + properties: &ref_126 replication_id: description: Properties of a replication - type: object - properties: &ref_22 - replication_id: - description: |- - This is the ID of the replication. - - When creating a new replication using a POST request, this will be set to a random UUID if not explicitly set. - - When the replication ID is specified in the URL, this must be set to the same replication ID if specifying it at all. - type: string - remote: - description: |- - This is the endpoint of the database for the remote Sync Gateway that is the subject of this replication's `push`, `pull`, or `pushAndPull` action. - - Typically this would include the URI, port, and database name. For example, `http://localhost:4985/db`. - - How this remote is used depends on the `direction` of the replication: - * `pull` - this replicator _pulls_ changes from the `remote` - * `push` - this replicator _pushes_ changes to this `remote` - * `pushAndPull` - this replicator _pushes_ changes to this `remote`, while also pulling receiving changes - type: string - username: - description: |- - **This has been deprecated in favour of `remote_username`.** - - This is the username to use to authenticate with the remote. - - This can only be used for a pull replication. - type: string - deprecated: true - password: - description: |- - **This has been deprecated in favour of `remote_password`.** - - This is the password to use to authenticate with the remote. - - This password will be redacted in the replication config. - - This can only be used for a pull replication. - type: string - deprecated: true - remote_username: - description: |- - The username to use to authenticate with the remote. - - This can only be used for a pull replication. - type: string - remote_password: - description: |- - The password to use to authenticate with the remote. - - This password will be redacted in the replication config. - - This can only be used for a pull replication. - type: string - direction: - description: |- - This specifies which direction the replication will be replicating with the `remote` replicator. - - The directions are: - * `pull` - changes are pulled from the remote database - * `push` - changes are pushed to the remote database - * `pushAndPull` - changes are both push-to and pulled-from the remote database - - Replications created prior to Sync Gateway 2.8 derive their `direction` from the source/target URL of the replication. - type: string - enum: - - push - - pull - - pushAndPull - conflict_resolution_type: - description: |- - This defines what conflict resolution policy Sync Gateway should use to apply when resolving conflicting revisions. - - Changing this is an Enterprise Edition only feature. - - **Behaviour** - * *default* - In priority order, this will cause - - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) - - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. - * *localWins* - This will result in local revisions always being the winner in any conflict. - * *remoteWins* - This will result in remote revisions always being the winner in any conflict. - * *custom* - This will result in conflicts going through your own custom conflict resolver. You must provide this logic as a Javascript function in the `custom_conflict_resolver` parameter. This is an Enterprise Edition only feature. - - - Note: replications created prior to Sync Gateway 2.8 will default to `default`. - type: string - default: default - enum: - - default - - remoteWins - - localWins - - custom - custom_conflict_resolver: - description: "This specifies the Javascript function to use to resolve conflicts between conflicting revisions.\n \nThis **must** be used when `conflict_resolution_type=custom`. This property will be ignored when `conflict_resolution_type` is not `custom`.\n\nThe Javascript function to provide this property should be in backticks (like the sync function). The function takes 1 parameter which is a struct that represents the conflict. This struct has 2 properties:\n* `LocalDocument` - The local document. This contains the document ID under the `_id` key.\n* `RemoteDocument` - The remote document\nThe function should return the new document's body. This can be the winning revision (for example, `return conflict.LocalDocument`), a new body, or `nil` to resolve as a delete.\n\nExample:\n```\n\"custom_conflict_resolver\":\\`\n\tfunction(conflict) {\n\t\tconsole.log(\"Doc ID: \"+conflict.LocalDocument._id);\n\t\tconsole.log(\"Full remote doc: \"+JSON.stringify(conflict.RemoteDocument));\n\t\treturn conflict.RemoteDocument;\n\t}\n\\`\n```\n\nUsing complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible.\n\nThis is an Enterprise Edition only feature.\n" - type: string - default: none - purge_on_removal: - description: |- - Specifies whether to purge a document if the remote user loses access to all of the channels on the document when attempting to pull it from the remote. - - If false, documents will not be replicated and not be purged when the user loses access. - type: boolean - default: false - enable_delta_sync: - description: |- - This will turn on delta- sync for the replication. This works in conjunction with the database level setting `delta_sync.enabled` - - If set to true, delta-sync will be used as long as both databases involved in the replication have delta-sync enabled. If a database does not have delta-sync enabled, then the replication will run without delta-sync. - - Replications created prior to Sync Gateway 2.8 must have delta-sync disabled. - - Enabling this is an Enterprise Edition only feature. - type: boolean - default: false - max_backoff_time: - description: |- - Specifies the maximum time-period (in minutes) that Sync Gateway will attempt to reconnect to a lost or unreachable remote. - - When a disconnection happens, Sync Gateway will do an exponential backoff up to this specified value. When this value is met, it will attempt to reconnect indefinitely every `max_backoff_time` minutes. - - If this is set to 0, Sync Gateway will do the normal exponential backoff after the disconnect happens but then attempting 10 minutes and stop the replication. - - Note: this defaults to 5 minutes for replications created prior to Sync Gateway 2.8. - type: integer - default: 5 - initial_state: - description: |- - This is what state to start the replication in when creating a new replication. - - This allows you to control if the replication starts in a `stopped` start or `running` state. - - Replications prior to Sync Gateway 2.8 will run in the default state `running`. - type: string - default: running - enum: - - running - - stopped - continuous: - description: |- - If true, changes will be immediately synced when they happen. This is known as a continuous replication. - - If false, all changes will be synced until they have been processed. The replication will then cease and not process any future changes (unless started again by the user). This is known as a one-shot replication. - type: boolean - default: false - filter: - description: |- - This defines whether to filter documents by their channels or not. - - If set to `sync_gateway/bychannel` then a **pull** replication will be limited to a specific set of channels specified by the `query_params.channels` property. - - This only can be used with pull replications. - type: string - enum: - - sync_gateway/bychannel - query_params: - description: |- - This is a set of key/value pairs used in the query string of the replication. - - If `filters=sync_gateway/bychannel` then this can be used to set the channels to filter by in a pull replication. To do this, set the `channels` key to a string array of the channels to filter by. For example: - ``` - "filter":"sync_gateway/bychannel", - "query_params": { - "channels":["chanUser1"] - }, - ``` - type: array - items: - type: string - adhoc: - description: |- - Set to true to run the replication as an adhoc replication instead of a persistent one. - - This means that the replication will only last the period of the replication until the status is changed to `stopped` and then it will be removed automatically. It will also be removed if Sync Gateway restarts or if removed due to user action. - type: boolean - default: false - batch_size: - description: The amount of changes to be sent in one batch of replications. Changing this is an Enterprise Edition only feature. - type: integer - default: 200 - run_as: - description: This is used if you want to specify a user to run the replication as. This means that the replication will only be able to replicate what the user access to what the user has access to. - type: string - collections_enabled: - description: |- - If true, the replicator will run with collections, and will replicate all collections, unless otherwise limited by `collections_local`. - - If false, the replicator will only replicate the default collection. - type: boolean - default: false - collections_local: - description: |- - Limits the set of collections replicated to those listed in this array. - - The replication will use all collections defined on the database if this list is empty. - type: array - items: - type: string - example: - - scope1.collection1 - - scope1.collection3 - - scope1.collection6 - default: [] - collections_remote: - description: |- - Remaps the local collection name to the one specified in this array when replicating with the remote. - - If only a subset of collections need remapping, elements in this array can be specified as `null` to preserve the local collection name. - - The same index is used for both `collections_remote` and `collections_local`, and both arrays must be the same length. - type: array - items: - type: string - example: - - scope1.collectionA - - null - - scope1.collectionF - default: [] - assigned_node: - description: The unique ID of the node assigned to the replication. - type: string - target_state: - description: This is the state that the replicator is in or that trying to transition in to. - type: string - enum: - - running - - stopped - - resetting - - error - - starting - - reconnecting - cluster_uuid: - description: The cluster unique identifier. - type: string + allOf: &ref_22 + - type: object + properties: + replication_id: + description: This is the ID of the replication. + type: string + - description: Properties of a replication + type: object + properties: *ref_20 + required: *ref_21 + title: User configurable replication properties + - type: object + properties: + assigned_node: + description: The unique ID of the node assigned to the replication. + type: string + target_state: + description: This is the state that the replicator is in or that trying to transition in to. + type: string + enum: &ref_24 + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: &ref_25 + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: The replication is reconnecting to the remote database. + title: Replication Status + cluster_uuid: + description: The cluster unique identifier. + type: string title: Replication title: All replications '404': @@ -2670,8 +2472,10 @@ paths: - name: replicationid in: path required: true - schema: &ref_24 + schema: &ref_26 type: string + minimum: 1 + maximum: 160 description: What replication to target based on its replication ID. get: summary: Get a replication configuration @@ -2688,8 +2492,7 @@ paths: application/json: schema: description: Properties of a replication - type: object - properties: *ref_22 + allOf: *ref_22 title: Replication '404': description: Resource could not be found @@ -2782,28 +2585,28 @@ paths: - name: activeOnly in: query required: false - schema: &ref_25 + schema: &ref_27 type: boolean default: false description: Only return replications that are actively running (`state=running`). - name: localOnly in: query required: false - schema: &ref_26 + schema: &ref_28 type: boolean default: false description: Only return replications that were started on the current Sync Gateway node. - name: includeError in: query required: false - schema: &ref_27 + schema: &ref_29 type: boolean default: true description: Include replications that have stopped due to an error (`state=error`). - name: includeConfig in: query required: false - schema: &ref_28 + schema: &ref_30 type: boolean default: false description: Include the replication configuration with each replicator status in the response. @@ -2816,7 +2619,7 @@ paths: type: array items: type: object - properties: &ref_29 + properties: &ref_31 replication_id: description: The ID of the replication. type: string @@ -2827,15 +2630,11 @@ paths: required: *ref_21 title: User configurable replication properties status: - description: The status of the replication. + description: This is the state that the replicator is in or that trying to transition in to. type: string - enum: - - stopped - - running - - reconnecting - - resetting - - error - - starting + enum: *ref_24 + x-enumDescriptions: *ref_25 + title: Replication Status error_message: description: The error message of the replication if an error has occurred. type: string @@ -2863,10 +2662,10 @@ paths: type: integer docs_checked_push: type: integer - docs_write_failures: + doc_write_failures: description: The number of documents that have failed to be wrote (pushed) to the target database. There will be no attempt to try to push these docs again. type: integer - docs_write_conflicts: + doc_write_conflicts: description: The number of documents that had a conflict. type: integer rejected_by_remote: @@ -2878,7 +2677,7 @@ paths: deltas_sent: description: 'The number of deltas that have been sent to the remote. ' type: integer - required: &ref_30 + required: &ref_32 - replication_id title: Replication-status '400': @@ -2898,7 +2697,7 @@ paths: - name: replicationid in: path required: true - schema: *ref_24 + schema: *ref_26 description: What replication to target based on its replication ID. get: summary: Get replication status @@ -2912,22 +2711,22 @@ paths: - name: activeOnly in: query required: false - schema: *ref_25 + schema: *ref_27 description: Only return replications that are actively running (`state=running`). - name: localOnly in: query required: false - schema: *ref_26 + schema: *ref_28 description: Only return replications that were started on the current Sync Gateway node. - name: includeError in: query required: false - schema: *ref_27 + schema: *ref_29 description: Include replications that have stopped due to an error (`state=error`). - name: includeConfig in: query required: false - schema: *ref_28 + schema: *ref_30 description: Include the replication configuration with each replicator status in the response. responses: '200': @@ -2936,8 +2735,8 @@ paths: application/json: schema: type: object - properties: *ref_29 - required: *ref_30 + properties: *ref_31 + required: *ref_32 title: Replication-status '400': description: There was a problem with your request @@ -2985,8 +2784,8 @@ paths: application/json: schema: type: object - properties: *ref_29 - required: *ref_30 + properties: *ref_31 + required: *ref_32 title: Replication-status '400': description: There was a problem with your request @@ -3014,22 +2813,22 @@ paths: - name: activeOnly in: query required: false - schema: *ref_25 + schema: *ref_27 description: Only return replications that are actively running (`state=running`). - name: localOnly in: query required: false - schema: *ref_26 + schema: *ref_28 description: Only return replications that were started on the current Sync Gateway node. - name: includeError in: query required: false - schema: *ref_27 + schema: *ref_29 description: Include replications that have stopped due to an error (`state=error`). - name: includeConfig in: query required: false - schema: *ref_28 + schema: *ref_30 description: Include the replication configuration with each replicator status in the response. description: |- Check if a replication exists. @@ -3061,7 +2860,7 @@ paths: * Sync Gateway Dev Ops requestBody: - content: &ref_31 + content: &ref_33 application/json: schema: type: object @@ -3095,7 +2894,7 @@ paths: * Sync Gateway Dev Ops requestBody: - content: *ref_31 + content: *ref_33 responses: '200': description: Successfully started or stopped CPU profiling @@ -3115,7 +2914,7 @@ paths: * Sync Gateway Dev Ops requestBody: - content: *ref_31 + content: *ref_33 responses: '200': description: Successfully dumped heap profile @@ -3164,7 +2963,7 @@ paths: in: query deprecated: true required: false - schema: &ref_37 + schema: &ref_39 type: boolean default: true description: No longer supported field. @@ -3181,7 +2980,7 @@ paths: application/json: schema: type: object - properties: &ref_129 + properties: &ref_131 bootstrap: description: Configuration settings for interacting with Couchbase Server. type: object @@ -3348,7 +3147,7 @@ paths: type: object allOf: - type: object - properties: &ref_33 + properties: &ref_35 log_file_path: description: Absolute or relative path on the filesystem to the log file directory. A relative path is from the directory that contains the Sync Gateway executable file. type: string @@ -3366,9 +3165,9 @@ paths: console: allOf: - title: Configuration for console logging. - allOf: &ref_126 + allOf: &ref_128 - type: object - properties: &ref_125 + properties: &ref_127 log_level: description: Log Level for the console output type: string @@ -3733,7 +3532,7 @@ paths: audit: type: object title: Audit logging config - properties: &ref_127 + properties: &ref_129 enabled: description: Toggle for this log output type: boolean @@ -3825,7 +3624,7 @@ paths: serverless: description: Configuration for when SG is running in serverless mode type: object - properties: &ref_128 + properties: &ref_130 enabled: description: Run SG in to serverless mode type: boolean @@ -3878,7 +3677,7 @@ paths: x-additionalPropertiesName: databasename description: The configuration for the credentials set. type: object - properties: &ref_32 + properties: &ref_34 username: description: Username for authenticating to the bucket type: string @@ -3900,7 +3699,7 @@ paths: x-additionalPropertiesName: bucketname description: The configuration for the credentials set. type: object - properties: *ref_32 + properties: *ref_34 title: Credentials config readOnly: true max_file_descriptors: @@ -3947,11 +3746,11 @@ paths: application/json: schema: type: object - properties: &ref_130 + properties: &ref_132 logging: allOf: - type: object - properties: *ref_33 + properties: *ref_35 max_concurrent_replications: description: Maximum number of concurrent replication connections allowed. If set to 0 this limit will be ignored. type: integer @@ -3982,7 +3781,7 @@ paths: application/json: schema: type: object - properties: &ref_131 + properties: &ref_133 databases: description: Contains a map of all the databases in the node along with their status. type: object @@ -4011,8 +3810,8 @@ paths: type: array items: type: object - properties: *ref_29 - required: *ref_30 + properties: *ref_31 + required: *ref_32 title: Replication-status cluster: type: object @@ -4026,8 +3825,7 @@ paths: properties: replication_id: description: Properties of a replication - type: object - properties: *ref_22 + allOf: *ref_22 title: Replication nodes: description: Map of all Sync Gateway nodes in the cluster. @@ -4053,7 +3851,7 @@ paths: allOf: - description: Product vendor type: object - properties: &ref_54 + properties: &ref_56 name: description: Product name type: string @@ -4064,7 +3862,7 @@ paths: Omitted if `api.hide_product_version=true` type: string example: 3.1 - required: &ref_55 + required: &ref_57 - name title: Vendor title: Status @@ -4221,12 +4019,12 @@ paths: - name: seconds in: query description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: &ref_34 + schema: &ref_36 type: integer responses: '200': description: OK - content: &ref_35 + content: &ref_37 application/octet-stream: schema: description: pprof binary data @@ -4247,11 +4045,11 @@ paths: - name: seconds in: query description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_34 + schema: *ref_36 responses: '200': description: OK - content: *ref_35 + content: *ref_37 tags: - Profiling operationId: post__debug-pprof-goroutine @@ -4336,11 +4134,11 @@ paths: - name: seconds in: query description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_34 + schema: *ref_36 responses: '200': description: OK - content: *ref_35 + content: *ref_37 tags: - Profiling operationId: get__debug-pprof-heap @@ -4354,11 +4152,11 @@ paths: - name: seconds in: query description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_34 + schema: *ref_36 responses: '200': description: OK - content: *ref_35 + content: *ref_37 tags: - Profiling operationId: post__debug-pprof-heap @@ -4373,11 +4171,11 @@ paths: - name: seconds in: query description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_34 + schema: *ref_36 responses: '200': description: OK - content: *ref_35 + content: *ref_37 tags: - Profiling operationId: get__debug-pprof-profile @@ -4391,11 +4189,11 @@ paths: - name: seconds in: query description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_34 + schema: *ref_36 responses: '200': description: OK - content: *ref_35 + content: *ref_37 tags: - Profiling operationId: post__debug-pprof-profile @@ -4412,7 +4210,7 @@ paths: - name: seconds in: query required: false - schema: &ref_36 + schema: &ref_38 type: integer default: 30 minimum: 0 @@ -4420,7 +4218,7 @@ paths: responses: '200': description: OK - content: *ref_35 + content: *ref_37 '403': description: Forbidden content: @@ -4448,12 +4246,12 @@ paths: - name: seconds in: query required: false - schema: *ref_36 + schema: *ref_38 description: The amount of seconds to run the profiler for. responses: '200': description: OK - content: *ref_35 + content: *ref_37 '403': description: Forbidden content: @@ -4479,7 +4277,7 @@ paths: responses: '200': description: OK - content: *ref_35 + content: *ref_37 tags: - Profiling operationId: get__debug-pprof-threadcreate @@ -4492,7 +4290,7 @@ paths: responses: '200': description: OK - content: *ref_35 + content: *ref_37 tags: - Profiling operationId: post__debug-pprof-threadcreate @@ -4509,12 +4307,12 @@ paths: - name: seconds in: query required: false - schema: *ref_36 + schema: *ref_38 description: The amount of seconds to run the profiler for. responses: '200': description: OK - content: *ref_35 + content: *ref_37 '403': description: Forbidden content: @@ -4542,12 +4340,12 @@ paths: - name: seconds in: query required: false - schema: *ref_36 + schema: *ref_38 description: The amount of seconds to run the profiler for. responses: '200': description: OK - content: *ref_35 + content: *ref_37 '403': description: Forbidden content: @@ -4581,7 +4379,7 @@ paths: responses: '200': description: OK - content: *ref_35 + content: *ref_37 tags: - Profiling operationId: get__debug-pprof-trace @@ -4602,7 +4400,7 @@ paths: responses: '200': description: OK - content: *ref_35 + content: *ref_37 tags: - Profiling operationId: post__debug-pprof-trace @@ -4619,7 +4417,7 @@ paths: - name: seconds in: query required: false - schema: *ref_36 + schema: *ref_38 description: The amount of seconds to run the profiler for. responses: '200': @@ -4643,7 +4441,7 @@ paths: - name: seconds in: query required: false - schema: *ref_36 + schema: *ref_38 description: The amount of seconds to run the profiler for. responses: '200': @@ -4725,7 +4523,7 @@ paths: in: query deprecated: true required: false - schema: *ref_37 + schema: *ref_39 description: No longer supported field. - name: include_javascript in: query @@ -4736,7 +4534,7 @@ paths: - name: include_runtime in: query required: false - schema: &ref_113 + schema: &ref_115 type: boolean default: false description: Whether to include the values set at runtime, and default values. @@ -4759,7 +4557,7 @@ paths: schema: description: The properties of a database configuration. type: object - properties: *ref_38 + properties: *ref_40 title: Database-config '404': description: Resource could not be found @@ -4782,14 +4580,14 @@ paths: - name: If-Match in: header required: false - schema: &ref_40 + schema: &ref_42 type: string description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. - name: disable_oidc_validation in: query required: false description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: *ref_39 + schema: *ref_41 requestBody: description: The new database configuration to use content: @@ -4797,12 +4595,12 @@ paths: schema: description: The properties of a database configuration. type: object - properties: *ref_38 + properties: *ref_40 title: Database-config responses: '201': description: Database configuration successfully updated - headers: &ref_41 + headers: &ref_43 Etag: schema: type: string @@ -4820,7 +4618,7 @@ paths: The supplied If-Match header did not match the current version of the configuration. Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: &ref_42 + content: &ref_44 application/json: schema: type: object @@ -4848,7 +4646,7 @@ paths: - name: If-Match in: header required: false - schema: *ref_40 + schema: *ref_42 description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. requestBody: description: The database configuration fields to update @@ -4857,12 +4655,12 @@ paths: schema: description: The properties of a database configuration. type: object - properties: *ref_38 + properties: *ref_40 title: Database-config responses: '201': description: Database configuration successfully updated - headers: *ref_41 + headers: *ref_43 '400': description: There was a problem with your request content: *ref_11 @@ -4875,7 +4673,7 @@ paths: The supplied If-Match header did not match the current version of the configuration. Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_42 + content: *ref_44 tags: - Database Configuration operationId: post_db-_config @@ -4917,7 +4715,7 @@ paths: oneOf: - title: Simple description: A map of audit events and whether they are enabled or not. - properties: &ref_43 + properties: &ref_45 enabled: type: boolean events: @@ -4966,7 +4764,7 @@ paths: type: string - title: Verbose description: A map of detailed audit events. - properties: &ref_44 + properties: &ref_46 enabled: type: boolean events: @@ -4976,7 +4774,7 @@ paths: description: The audit event ID and whether it is enabled or not. title: audit-event-verbose type: object - properties: &ref_132 + properties: &ref_134 name: type: string description: The name of the audit event. @@ -5054,10 +4852,10 @@ paths: oneOf: - title: Simple description: A map of audit events and whether they are enabled or not. - properties: *ref_43 + properties: *ref_45 - title: Verbose description: A map of detailed audit events. - properties: *ref_44 + properties: *ref_46 responses: '200': description: Database audit configuration successfully updated @@ -5095,10 +4893,10 @@ paths: oneOf: - title: Simple description: A map of audit events and whether they are enabled or not. - properties: *ref_43 + properties: *ref_45 - title: Verbose description: A map of detailed audit events. - properties: *ref_44 + properties: *ref_46 responses: '200': description: Database audit configuration successfully updated @@ -5172,13 +4970,13 @@ paths: - name: If-Match in: header required: false - schema: *ref_40 + schema: *ref_42 description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. - name: disable_oidc_validation in: query required: false description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: *ref_39 + schema: *ref_41 requestBody: description: The new sync function to use content: @@ -5205,7 +5003,7 @@ paths: The supplied If-Match header did not match the current version of the configuration. Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_42 + content: *ref_44 tags: - Database Configuration operationId: put_keyspace-_config-sync @@ -5228,7 +5026,7 @@ paths: - name: If-Match in: header required: false - schema: &ref_79 + schema: &ref_81 type: string description: The revision ID to target. responses: @@ -5244,7 +5042,7 @@ paths: The supplied If-Match header did not match the current version of the configuration. Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_42 + content: *ref_44 tags: - Database Configuration operationId: delete_keyspace-_config-sync @@ -5299,13 +5097,13 @@ paths: - name: If-Match in: header required: false - schema: *ref_40 + schema: *ref_42 description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. - name: disable_oidc_validation in: query required: false description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: *ref_39 + schema: *ref_41 requestBody: description: The import filter to use content: @@ -5328,7 +5126,7 @@ paths: The supplied If-Match header did not match the current version of the configuration. Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_42 + content: *ref_44 tags: - Database Configuration operationId: put_keyspace-_config-import_filter @@ -5344,7 +5142,7 @@ paths: - name: If-Match in: header required: false - schema: *ref_40 + schema: *ref_42 description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. responses: '200': @@ -5359,7 +5157,7 @@ paths: The supplied If-Match header did not match the current version of the configuration. Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_42 + content: *ref_44 tags: - Database Configuration operationId: delete_keyspace-_config-import_filter @@ -5387,7 +5185,7 @@ paths: schema: description: The status of a resync operation type: object - properties: &ref_47 + properties: &ref_49 status: description: The status of the current operation. type: string @@ -5414,20 +5212,20 @@ paths: allOf: - description: scope name with one or more collection names for which resync will be triggered type: object - additionalProperties: &ref_45 + additionalProperties: &ref_47 allOf: - description: List of collection names type: array - items: &ref_133 + items: &ref_135 type: string example: - collection1 - collection2 - example: &ref_46 + example: &ref_48 scopeName: - collection1 - collection2 - required: &ref_48 + required: &ref_50 - status - start_time - last_error @@ -5490,8 +5288,8 @@ paths: allOf: - description: scope name with one or more collection names for which resync will be triggered type: object - additionalProperties: *ref_45 - example: *ref_46 + additionalProperties: *ref_47 + example: *ref_48 regenerate_sequences: description: This can be used as an alternative to query param `regenerate_sequences`. If either query param or this is set to true, then the request will regenerate the sequence numbers for each document processed. type: boolean @@ -5504,8 +5302,8 @@ paths: schema: description: The status of a resync operation type: object - properties: *ref_47 - required: *ref_48 + properties: *ref_49 + required: *ref_50 title: Resync-status '503': description: Service Unavailable @@ -5562,7 +5360,7 @@ paths: allOf: - type: object description: Settings for Global Secondary Indexes (GSI). - properties: &ref_49 + properties: &ref_51 create_separate_principal_indexes: description: |- Whether to create separate indexes for users and roles instead of a single larger syncDocs index. @@ -5586,7 +5384,7 @@ paths: schema: description: The status of an asynchronous indexes initialization operation. type: object - properties: &ref_50 + properties: &ref_52 status: description: The status of the current operation. type: string @@ -5632,8 +5430,8 @@ paths: allOf: - type: object description: Settings for Global Secondary Indexes (GSI). - properties: *ref_49 - required: &ref_51 + properties: *ref_51 + required: &ref_53 - status - start_time - last_error @@ -5667,8 +5465,8 @@ paths: schema: description: The status of an asynchronous indexes initialization operation. type: object - properties: *ref_50 - required: *ref_51 + properties: *ref_52 + required: *ref_53 title: IndexInitStatus '404': description: Resource could not be found @@ -5928,7 +5726,7 @@ paths: - name: view in: path required: true - schema: &ref_52 + schema: &ref_54 type: string description: The view to target. get: @@ -5975,7 +5773,7 @@ paths: - name: view in: path required: true - schema: *ref_52 + schema: *ref_54 description: The view to target. get: summary: Query a view on the default design document | Unsupported @@ -5993,67 +5791,67 @@ paths: in: query required: false description: Indicates whether the specified end key should be included in the result. - schema: &ref_59 + schema: &ref_61 type: boolean - name: descending in: query required: false description: Return documents in descending order. - schema: &ref_60 + schema: &ref_62 type: boolean - name: include_docs in: query required: false description: Only works when using Couchbase Server 3.0 and earlier. Indicates whether to include the full content of the documents in the response. - schema: &ref_61 + schema: &ref_63 type: boolean - name: reduce in: query required: false description: Whether to execute a reduce function on the response or not. - schema: &ref_62 + schema: &ref_64 type: boolean - name: group in: query required: false description: Group the results using the reduce function to a group or single row. - schema: &ref_63 + schema: &ref_65 type: boolean - name: skip in: query required: false description: Skip the specified number of documents before starting to return results. - schema: &ref_64 + schema: &ref_66 type: integer - name: limit in: query required: false description: Return only the specified number of documents - schema: &ref_65 + schema: &ref_67 type: integer - name: group_level in: query required: false description: Specify the group level to be used. - schema: &ref_66 + schema: &ref_68 type: integer - name: startkey_docid in: query required: false description: Return documents starting with the specified document identifier. - schema: &ref_67 + schema: &ref_69 type: string - name: endkey_docid in: query required: false description: Stop returning records when the specified document identifier is reached. - schema: &ref_68 + schema: &ref_70 type: string - name: stale in: query required: false description: Allow the results from a stale view to be used, without triggering a rebuild of all views within the encompassing design document. - schema: &ref_69 + schema: &ref_71 type: string enum: - ok @@ -6061,25 +5859,25 @@ paths: - name: startkey in: query required: false - schema: &ref_70 + schema: &ref_72 type: string description: Return records starting with the specified key. - name: endkey in: query required: false - schema: &ref_71 + schema: &ref_73 type: string description: Stop returning records when this key is reached. - name: key in: query required: false description: Return only the document that matches the specified key. - schema: &ref_72 + schema: &ref_74 type: string - name: keys in: query required: false - schema: &ref_73 + schema: &ref_75 type: array items: type: string @@ -6222,7 +6020,7 @@ paths: - name: type in: query required: false - schema: &ref_53 + schema: &ref_55 type: string default: tombstone enum: @@ -6290,7 +6088,7 @@ paths: - name: type in: query required: false - schema: *ref_53 + schema: *ref_55 description: |- This is the type of compaction to use. The type must be either: * `attachment` for cleaning up legacy (pre-3.0) attachments @@ -6303,7 +6101,7 @@ paths: schema: description: The status returned from a compaction. type: object - properties: &ref_134 + properties: &ref_136 status: description: The status of the current operation. type: string @@ -6353,7 +6151,7 @@ paths: - mark - sweep - cleanup - required: &ref_135 + required: &ref_137 - status - start_time - last_error @@ -6390,7 +6188,7 @@ paths: - name: roundtrip in: query required: false - schema: &ref_76 + schema: &ref_78 type: boolean description: Block until document has been received by change cache requestBody: @@ -6400,7 +6198,7 @@ paths: description: The configurable Sync Gateway properties of a document. type: object additionalProperties: true - properties: &ref_80 + properties: &ref_82 _id: description: The ID of the document. type: string @@ -6457,7 +6255,7 @@ paths: schema: description: Properties returned when a new document revision is created type: object - properties: &ref_74 + properties: &ref_76 id: description: The ID of the document. type: string @@ -6467,7 +6265,7 @@ paths: rev: description: The revision of the document. type: string - required: &ref_75 + required: &ref_77 - id - ok - rev @@ -6483,7 +6281,7 @@ paths: content: *ref_18 '415': description: Invalid content type - content: &ref_81 + content: &ref_83 application/json: schema: type: object @@ -6517,7 +6315,7 @@ paths: application/json: schema: type: object - properties: &ref_136 + properties: &ref_138 cmdline: description: Built-in variables from the Go runtime, lists the command-line arguments type: object @@ -6763,7 +6561,7 @@ paths: application/json: schema: type: object - properties: &ref_137 + properties: &ref_139 ADMIN: description: '`true` if the request is from the Admin API - otherwise omitted.' type: boolean @@ -6776,8 +6574,8 @@ paths: allOf: - description: Product vendor type: object - properties: *ref_54 - required: *ref_55 + properties: *ref_56 + required: *ref_57 title: Vendor version: description: |- @@ -6791,7 +6589,7 @@ paths: `true` if the sync gateway node is running in persistent config mode. type: boolean example: true - required: &ref_138 + required: &ref_140 - couchdb - vendor tags: @@ -6872,7 +6670,7 @@ paths: - name: include_docs in: query required: false - schema: &ref_89 + schema: &ref_91 type: boolean description: Include the body associated with each document. - name: revocations @@ -6934,12 +6732,12 @@ paths: responses: '200': description: Successfully returned the changes feed - content: &ref_56 + content: &ref_58 application/json: schema: description: Properties of a changes feed type: object - properties: &ref_139 + properties: &ref_141 results: type: array items: @@ -7031,7 +6829,7 @@ paths: responses: '200': description: Successfully returned the changes feed - content: *ref_56 + content: *ref_58 '400': description: There was a problem with your request content: *ref_11 @@ -7052,7 +6850,7 @@ paths: - name: ddoc in: path required: true - schema: &ref_58 + schema: &ref_60 type: string description: The design document name. get: @@ -7074,7 +6872,7 @@ paths: schema: description: Properties of a design document type: object - properties: &ref_57 + properties: &ref_59 language: type: string views: @@ -7123,7 +6921,7 @@ paths: schema: description: Properties of a design document type: object - properties: *ref_57 + properties: *ref_59 responses: '200': description: Design document changes successfully @@ -7189,12 +6987,12 @@ paths: - name: ddoc in: path required: true - schema: *ref_58 + schema: *ref_60 description: The design document name. - name: view in: path required: true - schema: *ref_52 + schema: *ref_54 description: The view to target. get: summary: Query a view on a design document | Unsupported @@ -7212,76 +7010,76 @@ paths: in: query required: false description: Indicates whether the specified end key should be included in the result. - schema: *ref_59 + schema: *ref_61 - name: descending in: query required: false description: Return documents in descending order. - schema: *ref_60 + schema: *ref_62 - name: include_docs in: query required: false description: Only works when using Couchbase Server 3.0 and earlier. Indicates whether to include the full content of the documents in the response. - schema: *ref_61 + schema: *ref_63 - name: reduce in: query required: false description: Whether to execute a reduce function on the response or not. - schema: *ref_62 + schema: *ref_64 - name: group in: query required: false description: Group the results using the reduce function to a group or single row. - schema: *ref_63 + schema: *ref_65 - name: skip in: query required: false description: Skip the specified number of documents before starting to return results. - schema: *ref_64 + schema: *ref_66 - name: limit in: query required: false description: Return only the specified number of documents - schema: *ref_65 + schema: *ref_67 - name: group_level in: query required: false description: Specify the group level to be used. - schema: *ref_66 + schema: *ref_68 - name: startkey_docid in: query required: false description: Return documents starting with the specified document identifier. - schema: *ref_67 + schema: *ref_69 - name: endkey_docid in: query required: false description: Stop returning records when the specified document identifier is reached. - schema: *ref_68 + schema: *ref_70 - name: stale in: query required: false description: Allow the results from a stale view to be used, without triggering a rebuild of all views within the encompassing design document. - schema: *ref_69 + schema: *ref_71 - name: startkey in: query required: false - schema: *ref_70 + schema: *ref_72 description: Return records starting with the specified key. - name: endkey in: query required: false - schema: *ref_71 + schema: *ref_73 description: Stop returning records when this key is reached. - name: key in: query required: false description: Return only the document that matches the specified key. - schema: *ref_72 + schema: *ref_74 - name: keys in: query required: false - schema: *ref_73 + schema: *ref_75 description: An array of document ID strings to filter by. responses: '200': @@ -7453,8 +7251,8 @@ paths: schema: description: Properties returned when a new document revision is created type: object - properties: *ref_74 - required: *ref_75 + properties: *ref_76 + required: *ref_77 title: New-revision '400': description: There was a problem with your request @@ -7551,14 +7349,14 @@ paths: - name: rev in: query required: false - schema: &ref_78 + schema: &ref_80 type: string example: 2-5145e1086bb8d1d71a531e9f6b543c58 description: The document revision to target. - name: open_revs in: query required: false - schema: &ref_83 + schema: &ref_85 type: array items: type: string @@ -7566,13 +7364,13 @@ paths: - name: show_exp in: query required: false - schema: &ref_84 + schema: &ref_86 type: boolean description: Whether to show the expiry property (`_exp`) in the response. - name: revs_from in: query required: false - schema: &ref_85 + schema: &ref_87 type: array items: type: string @@ -7580,7 +7378,7 @@ paths: - name: atts_since in: query required: false - schema: &ref_86 + schema: &ref_88 type: array items: type: string @@ -7588,19 +7386,19 @@ paths: - name: revs_limit in: query required: false - schema: &ref_87 + schema: &ref_89 type: integer description: Maximum amount of revisions to return for each document. - name: attachments in: query required: false - schema: &ref_88 + schema: &ref_90 type: boolean description: Include attachment bodies in response. - name: replicator2 in: query required: false - schema: &ref_77 + schema: &ref_79 type: boolean description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. responses: @@ -7634,7 +7432,7 @@ paths: Document ID is not in an allowed format therefore is invalid. This could be because it is over 250 characters or is prefixed with an underscore ("_"). - content: &ref_82 + content: &ref_84 application/json: schema: type: object @@ -7674,30 +7472,30 @@ paths: - name: roundtrip in: query required: false - schema: *ref_76 + schema: *ref_78 description: Block until document has been received by change cache - name: replicator2 in: query required: false - schema: *ref_77 + schema: *ref_79 description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. - name: new_edits in: query required: false - schema: &ref_114 + schema: &ref_116 type: boolean default: true description: Setting this to false indicates that the request body is an already-existing revision that should be directly inserted into the database, instead of a modification to apply to the current document. This mode is used for replication. This option must be used in conjunction with the `_revisions` property in the request body. - name: rev in: query required: false - schema: *ref_78 + schema: *ref_80 example: 2-5145e1086bb8d1d71a531e9f6b543c58 description: The document revision to target. - name: If-Match in: header required: false - schema: *ref_79 + schema: *ref_81 description: The revision ID to target. requestBody: content: @@ -7706,7 +7504,7 @@ paths: description: The configurable Sync Gateway properties of a document. type: object additionalProperties: true - properties: *ref_80 + properties: *ref_82 responses: '201': description: Created @@ -7720,8 +7518,8 @@ paths: schema: description: Properties returned when a new document revision is created type: object - properties: *ref_74 - required: *ref_75 + properties: *ref_76 + required: *ref_77 title: New-revision '400': description: There was a problem with your request @@ -7734,7 +7532,7 @@ paths: content: *ref_18 '415': description: Invalid content type - content: *ref_81 + content: *ref_83 tags: - Document operationId: put_keyspace-docid @@ -7752,24 +7550,24 @@ paths: - name: rev in: query required: false - schema: *ref_78 + schema: *ref_80 example: 2-5145e1086bb8d1d71a531e9f6b543c58 description: The document revision to target. - name: If-Match in: header required: false - schema: *ref_79 + schema: *ref_81 description: The revision ID to target. responses: '200': description: New revision created successfully - content: &ref_146 + content: &ref_148 application/json: schema: description: Properties returned when a new document revision is created type: object - properties: *ref_74 - required: *ref_75 + properties: *ref_76 + required: *ref_77 title: New-revision '400': description: There was a problem with your request @@ -7789,7 +7587,7 @@ paths: Document ID is not in an allowed format therefore is invalid. This could be because it is over 250 characters or is prefixed with an underscore ("_"). - content: *ref_82 + content: *ref_84 '404': description: Resource could not be found content: *ref_2 @@ -7800,43 +7598,43 @@ paths: - name: rev in: query required: false - schema: *ref_78 + schema: *ref_80 example: 2-5145e1086bb8d1d71a531e9f6b543c58 description: The document revision to target. - name: open_revs in: query required: false - schema: *ref_83 + schema: *ref_85 description: 'Option to fetch specified revisions of the document. The value can be all to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven''t been pruned are guaranteed to be returned. If this option is specified the response will be in multipart format. Use the `Accept: application/json` request header to get the result as a JSON object.' - name: show_exp in: query required: false - schema: *ref_84 + schema: *ref_86 description: Whether to show the expiry property (`_exp`) in the response. - name: revs_from in: query required: false - schema: *ref_85 + schema: *ref_87 description: Trim the revision history to stop at the first revision in the provided list. If no match is found, the revisions will be trimmed to the `revs_limit`. - name: atts_since in: query required: false - schema: *ref_86 + schema: *ref_88 description: Include attachments only since specified revisions. Excludes the attachments for the specified revisions. Only gets used if `attachments=true`. - name: revs_limit in: query required: false - schema: *ref_87 + schema: *ref_89 description: Maximum amount of revisions to return for each document. - name: attachments in: query required: false - schema: *ref_88 + schema: *ref_90 description: Include attachment bodies in response. - name: replicator2 in: query required: false - schema: *ref_77 + schema: *ref_79 description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. description: |- Return a status code based on if the document exists or not. @@ -7886,7 +7684,7 @@ paths: - name: rev in: query required: false - schema: *ref_78 + schema: *ref_80 example: 2-5145e1086bb8d1d71a531e9f6b543c58 description: The document revision to target. - name: content_encoding @@ -7978,8 +7776,8 @@ paths: schema: description: Properties returned when a new document revision is created type: object - properties: *ref_74 - required: *ref_75 + properties: *ref_76 + required: *ref_77 title: New-revision '404': description: Resource could not be found @@ -8020,7 +7818,7 @@ paths: - name: rev in: query required: false - schema: *ref_78 + schema: *ref_80 example: 2-5145e1086bb8d1d71a531e9f6b543c58 description: The document revision to target. operationId: head_keyspace-docid-attach @@ -8054,8 +7852,8 @@ paths: schema: description: Properties returned when a new document revision is created type: object - properties: *ref_74 - required: *ref_75 + properties: *ref_76 + required: *ref_77 title: New-revision '404': description: Resource could not be found @@ -8093,57 +7891,57 @@ paths: - name: include_docs in: query required: false - schema: *ref_89 + schema: *ref_91 description: Include the body associated with each document. - name: channels in: query required: false - schema: &ref_90 + schema: &ref_92 type: boolean description: Include the channels each document is part of that the calling user also has access too. - name: access in: query required: false - schema: &ref_91 + schema: &ref_93 type: boolean description: Include what user/roles that each document grants access too. - name: revs in: query required: false - schema: &ref_92 + schema: &ref_94 type: boolean description: Include all the revisions for each document under the `_revisions` property. - name: update_seq in: query required: false - schema: &ref_93 + schema: &ref_95 type: boolean description: Include the document sequence number `update_seq` property for each document. - name: keys in: query required: false - schema: *ref_73 + schema: *ref_75 description: An array of document ID strings to filter by. - name: startkey in: query required: false - schema: *ref_70 + schema: *ref_72 description: Return records starting with the specified key. - name: endkey in: query required: false - schema: *ref_71 + schema: *ref_73 description: Stop returning records when this key is reached. - name: limit in: query required: false - schema: &ref_94 + schema: &ref_96 type: number description: This limits the number of result rows returned. Using a value of `0` has the same effect as the value `1`. responses: '200': description: Operation ran successfully - content: &ref_95 + content: &ref_97 application/json: schema: type: object @@ -8196,42 +7994,42 @@ paths: - name: include_docs in: query required: false - schema: *ref_89 + schema: *ref_91 description: Include the body associated with each document. - name: channels in: query required: false - schema: *ref_90 + schema: *ref_92 description: Include the channels each document is part of that the calling user also has access too. - name: access in: query required: false - schema: *ref_91 + schema: *ref_93 description: Include what user/roles that each document grants access too. - name: revs in: query required: false - schema: *ref_92 + schema: *ref_94 description: Include all the revisions for each document under the `_revisions` property. - name: update_seq in: query required: false - schema: *ref_93 + schema: *ref_95 description: Include the document sequence number `update_seq` property for each document. - name: startkey in: query required: false - schema: *ref_70 + schema: *ref_72 description: Return records starting with the specified key. - name: endkey in: query required: false - schema: *ref_71 + schema: *ref_73 description: Stop returning records when this key is reached. - name: limit in: query required: false - schema: *ref_94 + schema: *ref_96 description: This limits the number of result rows returned. Using a value of `0` has the same effect as the value `1`. requestBody: content: @@ -8249,7 +8047,7 @@ paths: responses: '200': description: Operation ran successfully - content: *ref_95 + content: *ref_97 '400': description: There was a problem with your request content: *ref_11 @@ -8300,7 +8098,7 @@ paths: description: The configurable Sync Gateway properties of a document. type: object additionalProperties: true - properties: *ref_80 + properties: *ref_82 required: - docs example: @@ -8412,7 +8210,7 @@ paths: - name: revs in: query required: false - schema: *ref_92 + schema: *ref_94 description: Include all the revisions for each document under the `_revisions` property. - name: revs_limit in: query @@ -8478,13 +8276,13 @@ paths: - name: provider in: query required: false - schema: &ref_96 + schema: &ref_98 type: string description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - name: offline in: query required: false - schema: &ref_97 + schema: &ref_99 type: string description: If true, the OpenID Connect provider is requested to confirm with the user the permissions requested and refresh the OIDC token. To do this, access_type=offline and prompt=consent is set on the redirection link. responses: @@ -8520,12 +8318,12 @@ paths: - name: provider in: query required: false - schema: *ref_96 + schema: *ref_98 description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - name: offline in: query required: false - schema: *ref_97 + schema: *ref_99 description: If true, the OpenID Connect provider is requested to confirm with the user the permissions requested and refresh the OIDC token. To do this, access_type=offline and prompt=consent is set on the redirection link. responses: '400': @@ -8565,28 +8363,28 @@ paths: - name: code in: query required: true - schema: &ref_115 + schema: &ref_117 type: string description: The OpenID Connect authentication code. - name: provider in: query required: false - schema: *ref_96 + schema: *ref_98 description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - name: state in: query required: false - schema: &ref_116 + schema: &ref_118 type: string description: The OpenID Connect state to verify against the state cookie. This is used to prevent cross-site request forgery (CSRF). This is not required if `disable_callback_state=true` for the provider config (NOT recommended). responses: '200': description: Successfully authenticated with OpenID Connect. - content: &ref_98 + content: &ref_100 application/json: schema: type: object - properties: &ref_140 + properties: &ref_142 id_token: description: The OpenID Connect ID token type: string @@ -8651,12 +8449,12 @@ paths: - name: provider in: query required: false - schema: *ref_96 + schema: *ref_98 description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. responses: '200': description: Successfully authenticated with OpenID Connect. - content: *ref_98 + content: *ref_100 '400': description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' '404': @@ -8736,7 +8534,7 @@ paths: - name: scope in: query required: true - schema: &ref_99 + schema: &ref_101 type: string description: The OpenID Connect authentication scope. responses: @@ -8744,7 +8542,7 @@ paths: description: OK '400': description: A validation error occurred with the scope. - content: &ref_100 + content: &ref_102 application/json: schema: type: object @@ -8758,7 +8556,7 @@ paths: content: *ref_2 '500': description: An error occurred. - content: &ref_101 + content: &ref_103 application/json: schema: type: object @@ -8775,14 +8573,14 @@ paths: - name: scope in: query required: true - schema: *ref_99 + schema: *ref_101 description: The OpenID Connect authentication scope. responses: '200': description: OK '400': description: A validation error occurred with the scope. - content: *ref_100 + content: *ref_102 '403': description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. '404': @@ -8790,7 +8588,7 @@ paths: content: *ref_2 '500': description: An error occurred. - content: *ref_101 + content: *ref_103 tags: - Unsupported operationId: post_db-_oidc_testing-authorize @@ -8825,12 +8623,12 @@ paths: responses: '200': description: Properties expected back from an OpenID Connect provider after successful authentication - content: &ref_147 + content: &ref_149 application/json: schema: description: Properties expected back from an OpenID Connect provider after successful authentication type: object - properties: &ref_141 + properties: &ref_143 access_token: type: string token_type: @@ -8928,13 +8726,13 @@ paths: - name: redirect_uri in: query required: false - schema: &ref_102 + schema: &ref_104 type: string description: The Sync Gateway OpenID Connect callback URL. - name: scope in: query required: true - schema: *ref_99 + schema: *ref_101 description: The OpenID Connect authentication scope. - name: username in: query @@ -8959,7 +8757,7 @@ paths: responses: '302': description: Redirecting to Sync Gateway OpenID Connect callback URL - headers: &ref_103 + headers: &ref_105 Location: schema: type: string @@ -8979,20 +8777,20 @@ paths: - name: redirect_uri in: query required: false - schema: *ref_102 + schema: *ref_104 description: The Sync Gateway OpenID Connect callback URL. - name: scope in: query required: true - schema: *ref_99 + schema: *ref_101 description: The OpenID Connect authentication scope. requestBody: - content: &ref_148 + content: &ref_150 application/json: schema: description: Properties passed from the OpenID Connect mock login page to the handler type: object - properties: &ref_142 + properties: &ref_144 username: type: string tokenttl: @@ -9001,7 +8799,7 @@ paths: type: string authenticated: type: string - required: &ref_143 + required: &ref_145 - username - tokenttl - identity-token-formats @@ -9010,7 +8808,7 @@ paths: responses: '302': description: Redirecting to Sync Gateway OpenID Connect callback URL - headers: *ref_103 + headers: *ref_105 '403': description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. '404': @@ -9096,7 +8894,7 @@ paths: description: Session created successfully '400': description: Origin is not in the approved list of allowed origins - content: *ref_104 + content: *ref_106 '401': description: Received error from Facebook verifier content: @@ -9167,7 +8965,7 @@ paths: description: Session created successfully '400': description: Origin is not in the approved list of allowed origins - content: *ref_104 + content: *ref_106 '401': description: Received error from Google token verifier or invalid application ID in the config content: @@ -9254,11 +9052,11 @@ paths: schema: description: A map of log keys and whether they are enabled or not. type: object - example: &ref_105 + example: &ref_107 HTTP: true CRUD: false Changes: true - additionalProperties: &ref_106 + additionalProperties: &ref_108 description: The log key and whether it is enabled or not. type: boolean deprecated: true @@ -9278,7 +9076,7 @@ paths: - name: logLevel in: query required: false - schema: &ref_107 + schema: &ref_109 type: string enum: - none @@ -9291,7 +9089,7 @@ paths: - name: level in: query required: false - schema: &ref_108 + schema: &ref_110 type: integer maximum: 3 minimum: 1 @@ -9307,8 +9105,8 @@ paths: schema: description: A map of log keys and whether they are enabled or not. type: object - example: *ref_105 - additionalProperties: *ref_106 + example: *ref_107 + additionalProperties: *ref_108 responses: '200': description: Log keys successfully replaced. @@ -9332,12 +9130,12 @@ paths: - name: logLevel in: query required: false - schema: *ref_107 + schema: *ref_109 description: The is what to set the console log level too. - name: level in: query required: false - schema: *ref_108 + schema: *ref_110 deprecated: true description: |- **Deprecated: use log level instead.** @@ -9350,8 +9148,8 @@ paths: schema: description: A map of log keys and whether they are enabled or not. type: object - example: *ref_105 - additionalProperties: *ref_106 + example: *ref_107 + additionalProperties: *ref_108 responses: '200': description: Log keys successfully updated. @@ -9398,25 +9196,25 @@ components: name: include_doc in: query required: false - schema: *ref_109 + schema: *ref_111 description: Include the body associated with the document. disable_oidc_validation: name: disable_oidc_validation in: query required: false description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: *ref_39 + schema: *ref_41 usersNameOnly: name: name_only in: query required: false - schema: *ref_110 + schema: *ref_112 description: Whether to return user names only, or more detailed information for each user. usersLimit: name: limit in: query required: false - schema: *ref_111 + schema: *ref_113 description: How many results to return. Using a value of `0` results in no limit. user-name: name: name @@ -9428,175 +9226,175 @@ components: name: name in: path required: true - schema: *ref_112 + schema: *ref_114 description: The name of the role. replicationid: name: replicationid in: path required: true - schema: *ref_24 + schema: *ref_26 description: What replication to target based on its replication ID. replication-active-only: name: activeOnly in: query required: false - schema: *ref_25 + schema: *ref_27 description: Only return replications that are actively running (`state=running`). replication-local-only: name: localOnly in: query required: false - schema: *ref_26 + schema: *ref_28 description: Only return replications that were started on the current Sync Gateway node. replication-include-error: name: includeError in: query required: false - schema: *ref_27 + schema: *ref_29 description: Include replications that have stopped due to an error (`state=error`). replication-include-config: name: includeConfig in: query required: false - schema: *ref_28 + schema: *ref_30 description: Include the replication configuration with each replicator status in the response. deprecated-redact: name: redact in: query deprecated: true required: false - schema: *ref_37 + schema: *ref_39 description: No longer supported field. pprof-seconds: name: seconds in: query description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_34 + schema: *ref_36 debug-profile-seconds: name: seconds in: query required: false - schema: *ref_36 + schema: *ref_38 description: The amount of seconds to run the profiler for. include_runtime: name: include_runtime in: query required: false - schema: *ref_113 + schema: *ref_115 description: Whether to include the values set at runtime, and default values. DB-config-If-Match: name: If-Match in: header required: false - schema: *ref_40 + schema: *ref_42 description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. If-Match: name: If-Match in: header required: false - schema: *ref_79 + schema: *ref_81 description: The revision ID to target. view: name: view in: path required: true - schema: *ref_52 + schema: *ref_54 description: The view to target. inclusive_end: name: inclusive_end in: query required: false description: Indicates whether the specified end key should be included in the result. - schema: *ref_59 + schema: *ref_61 descending: name: descending in: query required: false description: Return documents in descending order. - schema: *ref_60 + schema: *ref_62 include_docs-cbs3: name: include_docs in: query required: false description: Only works when using Couchbase Server 3.0 and earlier. Indicates whether to include the full content of the documents in the response. - schema: *ref_61 + schema: *ref_63 reduce: name: reduce in: query required: false description: Whether to execute a reduce function on the response or not. - schema: *ref_62 + schema: *ref_64 group: name: group in: query required: false description: Group the results using the reduce function to a group or single row. - schema: *ref_63 + schema: *ref_65 skip: name: skip in: query required: false description: Skip the specified number of documents before starting to return results. - schema: *ref_64 + schema: *ref_66 limit: name: limit in: query required: false description: Return only the specified number of documents - schema: *ref_65 + schema: *ref_67 group_level: name: group_level in: query required: false description: Specify the group level to be used. - schema: *ref_66 + schema: *ref_68 startkey_docid: name: startkey_docid in: query required: false description: Return documents starting with the specified document identifier. - schema: *ref_67 + schema: *ref_69 endkey_docid: name: endkey_docid in: query required: false description: Stop returning records when the specified document identifier is reached. - schema: *ref_68 + schema: *ref_70 stale: name: stale in: query required: false description: Allow the results from a stale view to be used, without triggering a rebuild of all views within the encompassing design document. - schema: *ref_69 + schema: *ref_71 startkey: name: startkey in: query required: false - schema: *ref_70 + schema: *ref_72 description: Return records starting with the specified key. endkey: name: endkey in: query required: false - schema: *ref_71 + schema: *ref_73 description: Stop returning records when this key is reached. key: name: key in: query required: false description: Return only the document that matches the specified key. - schema: *ref_72 + schema: *ref_74 keys: name: keys in: query required: false - schema: *ref_73 + schema: *ref_75 description: An array of document ID strings to filter by. compact-type: name: type in: query required: false - schema: *ref_53 + schema: *ref_55 description: |- This is the type of compaction to use. The type must be either: * `attachment` for cleaning up legacy (pre-3.0) attachments @@ -9605,152 +9403,152 @@ components: name: roundtrip in: query required: false - schema: *ref_76 + schema: *ref_78 description: Block until document has been received by change cache include_docs: name: include_docs in: query required: false - schema: *ref_89 + schema: *ref_91 description: Include the body associated with each document. ddoc: name: ddoc in: path required: true - schema: *ref_58 + schema: *ref_60 description: The design document name. rev: name: rev in: query required: false - schema: *ref_78 + schema: *ref_80 example: 2-5145e1086bb8d1d71a531e9f6b543c58 description: The document revision to target. open_revs: name: open_revs in: query required: false - schema: *ref_83 + schema: *ref_85 description: 'Option to fetch specified revisions of the document. The value can be all to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven''t been pruned are guaranteed to be returned. If this option is specified the response will be in multipart format. Use the `Accept: application/json` request header to get the result as a JSON object.' show_exp: name: show_exp in: query required: false - schema: *ref_84 + schema: *ref_86 description: Whether to show the expiry property (`_exp`) in the response. revs_from: name: revs_from in: query required: false - schema: *ref_85 + schema: *ref_87 description: Trim the revision history to stop at the first revision in the provided list. If no match is found, the revisions will be trimmed to the `revs_limit`. atts_since: name: atts_since in: query required: false - schema: *ref_86 + schema: *ref_88 description: Include attachments only since specified revisions. Excludes the attachments for the specified revisions. Only gets used if `attachments=true`. revs_limit: name: revs_limit in: query required: false - schema: *ref_87 + schema: *ref_89 description: Maximum amount of revisions to return for each document. includeAttachments: name: attachments in: query required: false - schema: *ref_88 + schema: *ref_90 description: Include attachment bodies in response. replicator2: name: replicator2 in: query required: false - schema: *ref_77 + schema: *ref_79 description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. new_edits: name: new_edits in: query required: false - schema: *ref_114 + schema: *ref_116 description: Setting this to false indicates that the request body is an already-existing revision that should be directly inserted into the database, instead of a modification to apply to the current document. This mode is used for replication. This option must be used in conjunction with the `_revisions` property in the request body. Include-channels: name: channels in: query required: false - schema: *ref_90 + schema: *ref_92 description: Include the channels each document is part of that the calling user also has access too. include-access: name: access in: query required: false - schema: *ref_91 + schema: *ref_93 description: Include what user/roles that each document grants access too. include-revs: name: revs in: query required: false - schema: *ref_92 + schema: *ref_94 description: Include all the revisions for each document under the `_revisions` property. include-seqs: name: update_seq in: query required: false - schema: *ref_93 + schema: *ref_95 description: Include the document sequence number `update_seq` property for each document. limit-result-rows: name: limit in: query required: false - schema: *ref_94 + schema: *ref_96 description: This limits the number of result rows returned. Using a value of `0` has the same effect as the value `1`. provider: name: provider in: query required: false - schema: *ref_96 + schema: *ref_98 description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. offline: name: offline in: query required: false - schema: *ref_97 + schema: *ref_99 description: If true, the OpenID Connect provider is requested to confirm with the user the permissions requested and refresh the OIDC token. To do this, access_type=offline and prompt=consent is set on the redirection link. oidc-code: name: code in: query required: true - schema: *ref_115 + schema: *ref_117 description: The OpenID Connect authentication code. oidc-state: name: state in: query required: false - schema: *ref_116 + schema: *ref_118 description: The OpenID Connect state to verify against the state cookie. This is used to prevent cross-site request forgery (CSRF). This is not required if `disable_callback_state=true` for the provider config (NOT recommended). oidc-scope: name: scope in: query required: true - schema: *ref_99 + schema: *ref_101 description: The OpenID Connect authentication scope. oidc-redirect_uri: name: redirect_uri in: query required: false - schema: *ref_102 + schema: *ref_104 description: The Sync Gateway OpenID Connect callback URL. log-level: name: logLevel in: query required: false - schema: *ref_107 + schema: *ref_109 description: The is what to set the console log level too. log-level-int: name: level in: query required: false - schema: *ref_108 + schema: *ref_110 deprecated: true description: |- **Deprecated: use log level instead.** @@ -9759,7 +9557,7 @@ components: schemas: User-session-information: type: object - properties: *ref_117 + properties: *ref_119 title: User Session Information HTTP-Error: type: object @@ -9774,12 +9572,12 @@ components: CollectionConfig: description: Collection-specific configuration. type: object - properties: *ref_118 + properties: *ref_120 title: Collection config Scopes: description: Scope-specific configuration. type: object - properties: *ref_119 + properties: *ref_121 title: Scopes User: description: Properties associated with a user @@ -9812,164 +9610,169 @@ components: Database: description: The properties of a database configuration. type: object - properties: *ref_38 + properties: *ref_40 title: Database-config All DBs: title: Simple description: The names of all databases. type: array - items: *ref_120 - example: *ref_121 + items: *ref_122 + example: *ref_123 All DBs Verbose: title: Verbose description: Description of all databases. type: array - example: *ref_122 - items: *ref_123 + example: *ref_124 + items: *ref_125 + ISGRReplicationState: + description: This is the state that the replicator is in or that trying to transition in to. + type: string + enum: *ref_24 + x-enumDescriptions: *ref_25 + title: Replication Status Retrieved-replication: description: Properties of a replication - type: object - properties: *ref_22 + allOf: *ref_22 title: Replication All-replications: description: Contains all the replication IDs with their corresponding replication configurations type: object - properties: *ref_124 + properties: *ref_126 title: All replications Replication-status: type: object - properties: *ref_29 - required: *ref_30 + properties: *ref_31 + required: *ref_32 title: Replication-status Console-logging-keys-level: type: object - properties: *ref_125 + properties: *ref_127 Console-logging-config: title: Configuration for console logging. - allOf: *ref_126 + allOf: *ref_128 Audit-logging-config: type: object title: Audit logging config - properties: *ref_127 + properties: *ref_129 Logging-config: type: object - properties: *ref_33 + properties: *ref_35 Serverless: description: Configuration for when SG is running in serverless mode type: object - properties: *ref_128 + properties: *ref_130 CredentialsConfig: description: The configuration for the credentials set. type: object - properties: *ref_32 + properties: *ref_34 title: Credentials config Startup-config: type: object - properties: *ref_129 + properties: *ref_131 title: Startup-config Runtime-config: type: object - properties: *ref_130 + properties: *ref_132 title: Runtime-config Vendor: description: Product vendor type: object - properties: *ref_54 - required: *ref_55 + properties: *ref_56 + required: *ref_57 title: Vendor Status: type: object - properties: *ref_131 + properties: *ref_133 title: Status Database-audit: title: Simple description: A map of audit events and whether they are enabled or not. - properties: *ref_43 + properties: *ref_45 AuditEventVerbose: title: audit-event-verbose description: Detailed information about an audit event. type: object - properties: *ref_132 + properties: *ref_134 Database-audit-verbose: title: Verbose description: A map of detailed audit events. - properties: *ref_44 + properties: *ref_46 CollectionNames: description: List of collection names type: array - items: *ref_133 + items: *ref_135 ResyncScopesMap: description: scope name with one or more collection names for which resync will be triggered type: object - additionalProperties: *ref_45 - example: *ref_46 + additionalProperties: *ref_47 + example: *ref_48 Resync-status: description: The status of a resync operation type: object - properties: *ref_47 - required: *ref_48 + properties: *ref_49 + required: *ref_50 title: Resync-status IndexSettings: type: object description: Settings for Global Secondary Indexes (GSI). - properties: *ref_49 + properties: *ref_51 IndexInitStatus: description: The status of an asynchronous indexes initialization operation. type: object - properties: *ref_50 - required: *ref_51 + properties: *ref_52 + required: *ref_53 title: IndexInitStatus Compact-status: description: The status returned from a compaction. type: object - properties: *ref_134 - required: *ref_135 + properties: *ref_136 + required: *ref_137 title: Compact-status Document: description: The configurable Sync Gateway properties of a document. type: object additionalProperties: true - properties: *ref_80 + properties: *ref_82 New-revision: description: Properties returned when a new document revision is created type: object - properties: *ref_74 - required: *ref_75 + properties: *ref_76 + required: *ref_77 title: New-revision ExpVars: type: object - properties: *ref_136 + properties: *ref_138 NodeInfo: type: object - properties: *ref_137 - required: *ref_138 + properties: *ref_139 + required: *ref_140 Changes-feed: description: Properties of a changes feed type: object - properties: *ref_139 + properties: *ref_141 Design-doc: description: Properties of a design document type: object - properties: *ref_57 + properties: *ref_59 OIDC-callback: type: object - properties: *ref_140 + properties: *ref_142 title: OpenID Connect callback properties OIDC-token: description: Properties expected back from an OpenID Connect provider after successful authentication type: object - properties: *ref_141 + properties: *ref_143 title: OIDC-token OIDC-login-page-handler: description: Properties passed from the OpenID Connect mock login page to the handler type: object - properties: *ref_142 - required: *ref_143 + properties: *ref_144 + required: *ref_145 DeprecatedLogKeyMap: description: A map of log keys and whether they are enabled or not. type: object - example: *ref_105 - additionalProperties: *ref_106 + example: *ref_107 + additionalProperties: *ref_108 responses: User-session-information: description: Properties associated with a user session @@ -9979,7 +9782,7 @@ components: content: *ref_2 Invalid-CORS: description: Origin is not in the approved list of allowed origins - content: *ref_104 + content: *ref_106 request-problem: description: There was a problem with your request content: *ref_11 @@ -9988,20 +9791,20 @@ components: content: *ref_18 User: description: Properties associated with a user - content: *ref_144 + content: *ref_146 Role: description: Properties associated with a role - content: *ref_145 + content: *ref_147 Replicator-updated: description: Updated existing configuration successfully Replicator-created: description: Created new replication successfully pprof-binary: description: OK - content: *ref_35 + content: *ref_37 DB-config-updated: description: Database configuration successfully updated - headers: *ref_41 + headers: *ref_43 DB-config-precondition-failed: description: |- Precondition Failed @@ -10009,13 +9812,13 @@ components: The supplied If-Match header did not match the current version of the configuration. Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_42 + content: *ref_44 Invalid-content-type: description: Invalid content type - content: *ref_81 + content: *ref_83 changes-feed: description: Successfully returned the changes feed - content: *ref_56 + content: *ref_58 ddoc-forbidden: description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. invalid-doc-id: @@ -10023,34 +9826,34 @@ components: Document ID is not in an allowed format therefore is invalid. This could be because it is over 250 characters or is prefixed with an underscore ("_"). - content: *ref_82 + content: *ref_84 New-revision: description: New revision created successfully - content: *ref_146 + content: *ref_148 all-docs: description: Operation ran successfully - content: *ref_95 + content: *ref_97 OIDC-invalid-provider: description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' OIDC-connection: description: Unable to connect and validate with the OpenID Connect provider requested OIDC-callback: description: Successfully authenticated with OpenID Connect. - content: *ref_98 + content: *ref_100 OIDC-test-provider-disabled: description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. OIDC-invalid-scope: description: A validation error occurred with the scope. - content: *ref_100 + content: *ref_102 OIDC-testing-internal-error: description: An error occurred. - content: *ref_101 + content: *ref_103 OIDC-token: description: Properties expected back from an OpenID Connect provider after successful authentication - content: *ref_147 + content: *ref_149 OIDC-testing-redirect: description: Redirecting to Sync Gateway OpenID Connect callback URL - headers: *ref_103 + headers: *ref_105 requestBodies: User: content: *ref_14 @@ -10062,7 +9865,7 @@ components: content: *ref_23 description: If the `replication_id` matches an existing replication then the existing configuration will be updated. Only the specified fields in the request will be used to update the existing configuration. Unspecified fields will remain untouched. Profile: - content: *ref_31 + content: *ref_33 OIDC-login-page-handler: - content: *ref_148 + content: *ref_150 description: Properties passed from the OpenID Connect mock login page to the handler diff --git a/modules/ROOT/pages/_partials/static_restapi/admin/index.adoc b/modules/ROOT/pages/_partials/static_restapi/admin/index.adoc index 6fe040d4..d467094c 100644 --- a/modules/ROOT/pages/_partials/static_restapi/admin/index.adoc +++ b/modules/ROOT/pages/_partials/static_restapi/admin/index.adoc @@ -31095,7 +31095,7 @@ endif::[] [#models] = Definitions -:count-models: 178 +:count-models: 179 :leveloffset: +1 @@ -31193,6 +31193,9 @@ xref:get_keyspace__raw_docid_200_response__sync_history[] xref:get__sgcollect_info_200_response[] xref:get__stats_200_response[] xref:HTTP_Error[] +ifdef::enum-definitions[] +xref:ISGRReplicationState[] +endif::enum-definitions[] xref:IndexInitStatus[] xref:IndexInitStatus_1[] xref:IndexInitStatus_1_settings[] @@ -32511,9 +32514,9 @@ a¦ [markdown] -- -If true, documents will be imported in to Sync Gateway from the bucket when requested. Documents will be ran through the set `import_filter` if any is set. +If true, documents will be imported in to Sync Gateway from the bucket in the background. Documents will be ran through the set `import_filter` if any is set. -The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to `false` or else in the Enterprise Edition, it will default to `true`. +The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to `false` or else in the Enterprise Edition, it will default to `true`. This value requires `enable_shared_bucket_access=true`. This can also be set to the string `continuous` which maps to true. -- @@ -32540,6 +32543,8 @@ Each partition is processed by an independent function that runs simultaneously -- [%hardbreaks] +*Minimum:* `1` +*Maximum:* `1024` {blank} a¦ Big Decimal @@ -33705,9 +33710,9 @@ a¦ [markdown] -- -If true, documents will be imported in to Sync Gateway from the bucket when requested. Documents will be ran through the set `import_filter` if any is set. +If true, documents will be imported in to Sync Gateway from the bucket in the background. Documents will be ran through the set `import_filter` if any is set. -The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to `false` or else in the Enterprise Edition, it will default to `true`. +The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to `false` or else in the Enterprise Edition, it will default to `true`. This value requires `enable_shared_bucket_access=true`. This can also be set to the string `continuous` which maps to true. -- @@ -33734,6 +33739,8 @@ Each partition is processed by an independent function that runs simultaneously -- [%hardbreaks] +*Minimum:* `1` +*Maximum:* `1024` {blank} a¦ Big Decimal @@ -41615,6 +41622,24 @@ a¦ String // markup not found, no include::{specDir}definitions/HTTP_Error/definition-after.adoc[opts=optional] +ifdef::enum-definitions[] +[#ISGRReplicationState] += Replication Status + +.icon:menu[fw] Enumeration +{blank} + +//tag::desc-ISGRReplicationState[] +This is the state that the replicator is in or that trying to transition in to. +//end::desc-ISGRReplicationState[] + +.Schema +//tag::type-ISGRReplicationState[] +String + + +//end::type-ISGRReplicationState[] +endif::enum-definitions[] // markup not found, no include::{specDir}definitions/IndexInitStatus/definition-before.adoc[opts=optional] @@ -45316,52 +45341,7 @@ a¦ -- This is the endpoint of the database for the remote Sync Gateway that is the subject of this replication's `push`, `pull`, or `pushAndPull` action. -Typically this would include the URI, port, and database name. For example, `http://localhost:4985/db`. - -How this remote is used depends on the `direction` of the replication: -* `pull` - this replicator _pulls_ changes from the `remote` -* `push` - this replicator _pushes_ changes to this `remote` -* `pushAndPull` - this replicator _pushes_ changes to this `remote`, while also pulling receiving changes --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*username* + -_optional_ -a¦ - -[markdown] --- -**This has been deprecated in favour of `remote_username`.** - -This is the username to use to authenticate with the remote. - -This can only be used for a pull replication. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*password* + -_optional_ -a¦ - -[markdown] --- -**This has been deprecated in favour of `remote_password`.** - -This is the password to use to authenticate with the remote. - -This password will be redacted in the replication config. - -This can only be used for a pull replication. +Typically this would include the URI, port, and database name. For example, `https://localhost:4985/db`. -- [%hardbreaks] @@ -45377,8 +45357,6 @@ a¦ [markdown] -- The username to use to authenticate with the remote. - -This can only be used for a pull replication. -- [%hardbreaks] @@ -45393,11 +45371,7 @@ a¦ [markdown] -- -The password to use to authenticate with the remote. - -This password will be redacted in the replication config. - -This can only be used for a pull replication. +The password to use to authenticate with the remote. This password will be redacted in the replication config. -- [%hardbreaks] @@ -45413,13 +45387,6 @@ a¦ [markdown] -- This specifies which direction the replication will be replicating with the `remote` replicator. - -The directions are: -* `pull` - changes are pulled from the remote database -* `push` - changes are pushed to the remote database -* `pushAndPull` - changes are both push-to and pulled-from the remote database - -Replications created prior to Sync Gateway 2.8 derive their `direction` from the source/target URL of the replication. -- [%hardbreaks] @@ -45438,17 +45405,6 @@ a¦ This defines what conflict resolution policy Sync Gateway should use to apply when resolving conflicting revisions. Changing this is an Enterprise Edition only feature. - -**Behaviour** -* *default* - In priority order, this will cause - - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) - - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. -* *localWins* - This will result in local revisions always being the winner in any conflict. -* *remoteWins* - This will result in remote revisions always being the winner in any conflict. -* *custom* - This will result in conflicts going through your own custom conflict resolver. You must provide this logic as a Javascript function in the `custom_conflict_resolver` parameter. This is an Enterprise Edition only feature. - - -Note: replications created prior to Sync Gateway 2.8 will default to `default`. -- [%hardbreaks] @@ -45465,29 +45421,27 @@ a¦ [markdown] -- This specifies the Javascript function to use to resolve conflicts between conflicting revisions. - + This **must** be used when `conflict_resolution_type=custom`. This property will be ignored when `conflict_resolution_type` is not `custom`. The Javascript function to provide this property should be in backticks (like the sync function). The function takes 1 parameter which is a struct that represents the conflict. This struct has 2 properties: -* `LocalDocument` - The local document. This contains the document ID under the `_id` key. -* `RemoteDocument` - The remote document + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document The function should return the new document's body. This can be the winning revision (for example, `return conflict.LocalDocument`), a new body, or `nil` to resolve as a delete. Example: -``` -"custom_conflict_resolver":\` - function(conflict) { - console.log("Doc ID: "+conflict.LocalDocument._id); - console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); - return conflict.RemoteDocument; - } -\` + +```javascript +function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; +} ``` Using complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible. This is an Enterprise Edition only feature. - -- [%hardbreaks] @@ -45519,13 +45473,9 @@ a¦ [markdown] -- -This will turn on delta- sync for the replication. This works in conjunction with the database level setting `delta_sync.enabled` - -If set to true, delta-sync will be used as long as both databases involved in the replication have delta-sync enabled. If a database does not have delta-sync enabled, then the replication will run without delta-sync. +This will turn on delta-sync for the replication. In order to enable delta-sync for a replication, the database level setting `delta_sync.enabled` must also be set to true. -Replications created prior to Sync Gateway 2.8 must have delta-sync disabled. - -Enabling this is an Enterprise Edition only feature. +Using delta-sync is an Enterprise Edition only feature. -- [%hardbreaks] @@ -45598,15 +45548,11 @@ a¦ [markdown] -- -This defines whether to filter documents by their channels or not. - -If set to `sync_gateway/bychannel` then a **pull** replication will be limited to a specific set of channels specified by the `query_params.channels` property. - -This only can be used with pull replications. +This defines whether to filter documents. -- [%hardbreaks] -*Values:* `"sync_gateway/bychannel"` +*Values:* `"sync_gateway/bychannel"`, `""` {blank} a¦ String @@ -45621,7 +45567,7 @@ a¦ This is a set of key/value pairs used in the query string of the replication. If `filters=sync_gateway/bychannel` then this can be used to set the channels to filter by in a pull replication. To do this, set the `channels` key to a string array of the channels to filter by. For example: -``` +```json "filter":"sync_gateway/bychannel", "query_params": { "channels":["chanUser1"] @@ -45734,6 +45680,40 @@ The same index is used for both `collections_remote` and `collections_local`, an a¦ String array +a¦ +*username* + +_optional_ +a¦ + +[markdown] +-- +**This has been deprecated in favour of `remote_username`.** + +This is the username to use to authenticate with the remote. +-- + +[%hardbreaks] +{blank} +a¦ String + + +a¦ +*password* + +_optional_ +a¦ + +[markdown] +-- +**This has been deprecated in favour of `remote_password`.** + +This is the password to use to authenticate with the remote. This password will be redacted in the replication config. +-- + +[%hardbreaks] +{blank} +a¦ String + + |=== //end::Replication[] @@ -45765,16 +45745,51 @@ endif::collapse-models[] // markup not found, no include::{specDir}definitions/Replication_1/definition-begin.adoc[opts=optional] +.icon:bars[fw] Composite Schema +{blank} + +All of the following: + +* xref:Object[] + + +* xref:Object[] + + +* xref:Object[] + + + + +// markup not found, no include::{specDir}definitions/Replication_1/definition-end.adoc[opts=optional] + + +:leveloffset: -1 + +// markup not found, no include::{specDir}definitions/Replication_1/definition-after.adoc[opts=optional] + + + + +// markup not found, no include::{specDir}definitions/Replication_status/definition-before.adoc[opts=optional] + + +ifdef::collapse-models[] +[discrete] +endif::collapse-models[] +[#Replication_status] += Replication-status + +:leveloffset: +1 + +// markup not found, no include::{specDir}definitions/Replication_status/definition-begin.adoc[opts=optional] + + .icon:brackets-curly[fw] Object {blank} -//tag::Replication_1[] +//tag::Replication_status[] -ifdef::model-descriptions[] -//tag::desc-Replication_1[] -Properties of a replication -//end::desc-Replication_1[] -endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== @@ -45782,16 +45797,12 @@ endif::model-descriptions[] a¦ *replication_id* + -_optional_ +_required_ a¦ [markdown] -- -This is the ID of the replication. - -When creating a new replication using a POST request, this will be set to a random UUID if not explicitly set. - -When the replication ID is specified in the URL, this must be set to the same replication ID if specifying it at all. +The ID of the replication. -- [%hardbreaks] @@ -45800,60 +45811,44 @@ a¦ String a¦ -*remote* + +*config* + _optional_ a¦ [markdown] -- -This is the endpoint of the database for the remote Sync Gateway that is the subject of this replication's `push`, `pull`, or `pushAndPull` action. - -Typically this would include the URI, port, and database name. For example, `http://localhost:4985/db`. - -How this remote is used depends on the `direction` of the replication: -* `pull` - this replicator _pulls_ changes from the `remote` -* `push` - this replicator _pushes_ changes to this `remote` -* `pushAndPull` - this replicator _pushes_ changes to this `remote`, while also pulling receiving changes +include::index.adoc[tag=desc-User_configurable_replication_properties, opts=optional] -- [%hardbreaks] {blank} -a¦ String +a¦ xref:User_configurable_replication_properties[] a¦ -*username* + +*status* + _optional_ a¦ [markdown] -- -**This has been deprecated in favour of `remote_username`.** - -This is the username to use to authenticate with the remote. - -This can only be used for a pull replication. +This is the state that the replicator is in or that trying to transition in to. -- [%hardbreaks] +*Values:* `"running"`, `"stopped"`, `"resetting"`, `"error"`, `"starting"`, `"reconnecting"` {blank} a¦ String a¦ -*password* + +*error_message* + _optional_ a¦ [markdown] -- -**This has been deprecated in favour of `remote_password`.** - -This is the password to use to authenticate with the remote. - -This password will be redacted in the replication config. - -This can only be used for a pull replication. +The error message of the replication if an error has occurred. -- [%hardbreaks] @@ -45862,124 +45857,72 @@ a¦ String a¦ -*remote_username* + +*docs_read* + _optional_ a¦ [markdown] -- -The username to use to authenticate with the remote. - -This can only be used for a pull replication. +The number of documents that have been read (fetched) from the source database. -- [%hardbreaks] {blank} -a¦ String +a¦ Integer a¦ -*remote_password* + +*docs_checked_pull* + _optional_ a¦ [markdown] -- -The password to use to authenticate with the remote. - -This password will be redacted in the replication config. - -This can only be used for a pull replication. -- [%hardbreaks] {blank} -a¦ String +a¦ Integer a¦ -*direction* + +*docs_purged* + _optional_ a¦ [markdown] -- -This specifies which direction the replication will be replicating with the `remote` replicator. - -The directions are: -* `pull` - changes are pulled from the remote database -* `push` - changes are pushed to the remote database -* `pushAndPull` - changes are both push-to and pulled-from the remote database - -Replications created prior to Sync Gateway 2.8 derive their `direction` from the source/target URL of the replication. +The number of documents that have been purged. -- [%hardbreaks] -*Values:* `"push"`, `"pull"`, `"pushAndPull"` {blank} -a¦ String +a¦ Integer a¦ -*conflict_resolution_type* + +*rejected_by_local* + _optional_ a¦ [markdown] -- -This defines what conflict resolution policy Sync Gateway should use to apply when resolving conflicting revisions. - -Changing this is an Enterprise Edition only feature. - -**Behaviour** -* *default* - In priority order, this will cause - - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) - - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. -* *localWins* - This will result in local revisions always being the winner in any conflict. -* *remoteWins* - This will result in remote revisions always being the winner in any conflict. -* *custom* - This will result in conflicts going through your own custom conflict resolver. You must provide this logic as a Javascript function in the `custom_conflict_resolver` parameter. This is an Enterprise Edition only feature. - - -Note: replications created prior to Sync Gateway 2.8 will default to `default`. +The number of documents that were received by the local but did not get replicated due to getting rejected by the sync function on the local. -- [%hardbreaks] -*Values:* `"default"`, `"remoteWins"`, `"localWins"`, `"custom"` {blank} -a¦ String +a¦ Integer a¦ -*custom_conflict_resolver* + +*last_seq_pull* + _optional_ a¦ [markdown] -- -This specifies the Javascript function to use to resolve conflicts between conflicting revisions. - -This **must** be used when `conflict_resolution_type=custom`. This property will be ignored when `conflict_resolution_type` is not `custom`. - -The Javascript function to provide this property should be in backticks (like the sync function). The function takes 1 parameter which is a struct that represents the conflict. This struct has 2 properties: -* `LocalDocument` - The local document. This contains the document ID under the `_id` key. -* `RemoteDocument` - The remote document -The function should return the new document's body. This can be the winning revision (for example, `return conflict.LocalDocument`), a new body, or `nil` to resolve as a delete. - -Example: -``` -"custom_conflict_resolver":\` - function(conflict) { - console.log("Doc ID: "+conflict.LocalDocument._id); - console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); - return conflict.RemoteDocument; - } -\` -``` - -Using complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible. - -This is an Enterprise Edition only feature. - +The last changes sequence number that was pulled from the remote. -- [%hardbreaks] @@ -45988,57 +45931,42 @@ a¦ String a¦ -*purge_on_removal* + +*deltas_recv* + _optional_ a¦ [markdown] -- -Specifies whether to purge a document if the remote user loses access to all of the channels on the document when attempting to pull it from the remote. - -If false, documents will not be replicated and not be purged when the user loses access. +The number of deltas that have been received from the remote. -- [%hardbreaks] {blank} -a¦ Boolean +a¦ Integer a¦ -*enable_delta_sync* + +*deltas_requested* + _optional_ a¦ [markdown] -- -This will turn on delta- sync for the replication. This works in conjunction with the database level setting `delta_sync.enabled` - -If set to true, delta-sync will be used as long as both databases involved in the replication have delta-sync enabled. If a database does not have delta-sync enabled, then the replication will run without delta-sync. - -Replications created prior to Sync Gateway 2.8 must have delta-sync disabled. - -Enabling this is an Enterprise Edition only feature. -- [%hardbreaks] {blank} -a¦ Boolean +a¦ Integer a¦ -*max_backoff_time* + +*docs_written* + _optional_ a¦ [markdown] -- -Specifies the maximum time-period (in minutes) that Sync Gateway will attempt to reconnect to a lost or unreachable remote. - -When a disconnection happens, Sync Gateway will do an exponential backoff up to this specified value. When this value is met, it will attempt to reconnect indefinitely every `max_backoff_time` minutes. - -If this is set to 0, Sync Gateway will do the normal exponential backoff after the disconnect happens but then attempting 10 minutes and stop the replication. - -Note: this defaults to 5 minutes for replications created prior to Sync Gateway 2.8. +The number of documents that have been wrote (pushed) to the target database. -- [%hardbreaks] @@ -46047,982 +45975,12 @@ a¦ Integer a¦ -*initial_state* + -_optional_ -a¦ - -[markdown] --- -This is what state to start the replication in when creating a new replication. - -This allows you to control if the replication starts in a `stopped` start or `running` state. - -Replications prior to Sync Gateway 2.8 will run in the default state `running`. --- - -[%hardbreaks] -*Values:* `"running"`, `"stopped"` -{blank} -a¦ String - - -a¦ -*continuous* + -_optional_ -a¦ - -[markdown] --- -If true, changes will be immediately synced when they happen. This is known as a continuous replication. - -If false, all changes will be synced until they have been processed. The replication will then cease and not process any future changes (unless started again by the user). This is known as a one-shot replication. --- - -[%hardbreaks] -{blank} -a¦ Boolean - - -a¦ -*filter* + -_optional_ -a¦ - -[markdown] --- -This defines whether to filter documents by their channels or not. - -If set to `sync_gateway/bychannel` then a **pull** replication will be limited to a specific set of channels specified by the `query_params.channels` property. - -This only can be used with pull replications. --- - -[%hardbreaks] -*Values:* `"sync_gateway/bychannel"` -{blank} -a¦ String - - -a¦ -*query_params* + -_optional_ -a¦ - -[markdown] --- -This is a set of key/value pairs used in the query string of the replication. - -If `filters=sync_gateway/bychannel` then this can be used to set the channels to filter by in a pull replication. To do this, set the `channels` key to a string array of the channels to filter by. For example: -``` -"filter":"sync_gateway/bychannel", -"query_params": { - "channels":["chanUser1"] -}, -``` --- - -[%hardbreaks] -{blank} -a¦ String - array - -a¦ -*adhoc* + -_optional_ -a¦ - -[markdown] --- -Set to true to run the replication as an adhoc replication instead of a persistent one. - -This means that the replication will only last the period of the replication until the status is changed to `stopped` and then it will be removed automatically. It will also be removed if Sync Gateway restarts or if removed due to user action. --- - -[%hardbreaks] -{blank} -a¦ Boolean - - -a¦ -*batch_size* + -_optional_ -a¦ - -[markdown] --- -The amount of changes to be sent in one batch of replications. Changing this is an Enterprise Edition only feature. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*run_as* + -_optional_ -a¦ - -[markdown] --- -This is used if you want to specify a user to run the replication as. This means that the replication will only be able to replicate what the user access to what the user has access to. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*collections_enabled* + -_optional_ -a¦ - -[markdown] --- -If true, the replicator will run with collections, and will replicate all collections, unless otherwise limited by `collections_local`. - -If false, the replicator will only replicate the default collection. --- - -[%hardbreaks] -{blank} -a¦ Boolean - - -a¦ -*collections_local* + -_optional_ -a¦ - -[markdown] --- -Limits the set of collections replicated to those listed in this array. - -The replication will use all collections defined on the database if this list is empty. --- - -[%hardbreaks] -{blank} -a¦ String - array - -a¦ -*collections_remote* + -_optional_ -a¦ - -[markdown] --- -Remaps the local collection name to the one specified in this array when replicating with the remote. - -If only a subset of collections need remapping, elements in this array can be specified as `null` to preserve the local collection name. - -The same index is used for both `collections_remote` and `collections_local`, and both arrays must be the same length. --- - -[%hardbreaks] -{blank} -a¦ String - array - -a¦ -*assigned_node* + -_optional_ -a¦ - -[markdown] --- -The unique ID of the node assigned to the replication. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*target_state* + -_optional_ -a¦ - -[markdown] --- -This is the state that the replicator is in or that trying to transition in to. --- - -[%hardbreaks] -*Values:* `"running"`, `"stopped"`, `"resetting"`, `"error"`, `"starting"`, `"reconnecting"` -{blank} -a¦ String - - -a¦ -*cluster_uuid* + -_optional_ -a¦ - -[markdown] --- -The cluster unique identifier. --- - -[%hardbreaks] -{blank} -a¦ String - - -|=== - -//end::Replication_1[] - - - - -// markup not found, no include::{specDir}definitions/Replication_1/definition-end.adoc[opts=optional] - - -:leveloffset: -1 - -// markup not found, no include::{specDir}definitions/Replication_1/definition-after.adoc[opts=optional] - - - - -// markup not found, no include::{specDir}definitions/Replication_status/definition-before.adoc[opts=optional] - - -ifdef::collapse-models[] -[discrete] -endif::collapse-models[] -[#Replication_status] -= Replication-status - -:leveloffset: +1 - -// markup not found, no include::{specDir}definitions/Replication_status/definition-begin.adoc[opts=optional] - - -.icon:brackets-curly[fw] Object -{blank} - -//tag::Replication_status[] - - -[cols="25,55,20",separator=¦] -|=== -¦ Property ¦ ¦ Schema - -a¦ -*replication_id* + -_required_ -a¦ - -[markdown] --- -The ID of the replication. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*config* + -_optional_ -a¦ - -[markdown] --- -include::index.adoc[tag=desc-User_configurable_replication_properties, opts=optional] --- - -[%hardbreaks] -{blank} -a¦ xref:User_configurable_replication_properties[] - - -a¦ -*status* + -_optional_ -a¦ - -[markdown] --- -The status of the replication. --- - -[%hardbreaks] -*Values:* `"stopped"`, `"running"`, `"reconnecting"`, `"resetting"`, `"error"`, `"starting"` -{blank} -a¦ String - - -a¦ -*error_message* + -_optional_ -a¦ - -[markdown] --- -The error message of the replication if an error has occurred. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*docs_read* + -_optional_ -a¦ - -[markdown] --- -The number of documents that have been read (fetched) from the source database. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*docs_checked_pull* + -_optional_ -a¦ - -[markdown] --- --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*docs_purged* + -_optional_ -a¦ - -[markdown] --- -The number of documents that have been purged. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*rejected_by_local* + -_optional_ -a¦ - -[markdown] --- -The number of documents that were received by the local but did not get replicated due to getting rejected by the sync function on the local. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*last_seq_pull* + -_optional_ -a¦ - -[markdown] --- -The last changes sequence number that was pulled from the remote. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*deltas_recv* + -_optional_ -a¦ - -[markdown] --- -The number of deltas that have been received from the remote. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*deltas_requested* + -_optional_ -a¦ - -[markdown] --- --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*docs_written* + -_optional_ -a¦ - -[markdown] --- -The number of documents that have been wrote (pushed) to the target database. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*docs_checked_push* + -_optional_ -a¦ - -[markdown] --- --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*docs_write_failures* + -_optional_ -a¦ - -[markdown] --- -The number of documents that have failed to be wrote (pushed) to the target database. There will be no attempt to try to push these docs again. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*docs_write_conflicts* + -_optional_ -a¦ - -[markdown] --- -The number of documents that had a conflict. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*rejected_by_remote* + -_optional_ -a¦ - -[markdown] --- -The number of documents that were received by the remote but did not get replicated due to getting rejected by the sync function on the remote. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*last_seq_push* + -_optional_ -a¦ - -[markdown] --- -The last changes sequence number that was pushed to the remote. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*deltas_sent* + -_optional_ -a¦ - -[markdown] --- -The number of deltas that have been sent to the remote. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -|=== - -//end::Replication_status[] - - - - -// markup not found, no include::{specDir}definitions/Replication_status/definition-end.adoc[opts=optional] - - -:leveloffset: -1 - -// markup not found, no include::{specDir}definitions/Replication_status/definition-after.adoc[opts=optional] - - - - -// markup not found, no include::{specDir}definitions/Resync_status/definition-before.adoc[opts=optional] - - -ifdef::collapse-models[] -[discrete] -endif::collapse-models[] -[#Resync_status] -= Resync-status - -:leveloffset: +1 - -// markup not found, no include::{specDir}definitions/Resync_status/definition-begin.adoc[opts=optional] - - -.icon:brackets-curly[fw] Object -{blank} - -//tag::Resync_status[] - -ifdef::model-descriptions[] -//tag::desc-Resync_status[] -The status of a resync operation -//end::desc-Resync_status[] -endif::model-descriptions[] - -[cols="25,55,20",separator=¦] -|=== -¦ Property ¦ ¦ Schema - -a¦ -*status* + -_required_ -a¦ - -[markdown] --- -The status of the current operation. --- - -[%hardbreaks] -*Values:* `"running"`, `"completed"`, `"stopping"`, `"stopped"`, `"error"` -{blank} -a¦ String - - -a¦ -*start_time* + -_required_ -a¦ - -[markdown] --- -The ISO-8601 date and time the resync operation was started. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*last_error* + -_required_ -a¦ - -[markdown] --- -The last error that occurred in the resync operation (if any). --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*docs_changed* + -_required_ -a¦ - -[markdown] --- -The amount of documents that have been changed as a result of the resync operation. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*docs_processed* + -_required_ -a¦ - -[markdown] --- -The amount of docs that have been processed so far in the resync operation. --- - -[%hardbreaks] -{blank} -a¦ Integer - - -a¦ -*collections_processing* + -_optional_ -a¦ - -[markdown] --- -The collections that the resync operation is running on. --- - -[%hardbreaks] -{blank} -a¦ xref:Map[] - - -|=== - -//end::Resync_status[] - - - - -// markup not found, no include::{specDir}definitions/Resync_status/definition-end.adoc[opts=optional] - - -:leveloffset: -1 - -// markup not found, no include::{specDir}definitions/Resync_status/definition-after.adoc[opts=optional] - - - - -// markup not found, no include::{specDir}definitions/Retrieved-replication/definition-before.adoc[opts=optional] - - -ifdef::collapse-models[] -[discrete] -endif::collapse-models[] -[#Retrieved-replication] -= Replication - -:leveloffset: +1 - -// markup not found, no include::{specDir}definitions/Retrieved-replication/definition-begin.adoc[opts=optional] - - -.icon:brackets-curly[fw] Object -{blank} - -//tag::Retrieved-replication[] - -ifdef::model-descriptions[] -//tag::desc-Retrieved-replication[] -Properties of a replication -//end::desc-Retrieved-replication[] -endif::model-descriptions[] - -[cols="25,55,20",separator=¦] -|=== -¦ Property ¦ ¦ Schema - -a¦ -*replication_id* + -_optional_ -a¦ - -[markdown] --- -This is the ID of the replication. - -When creating a new replication using a POST request, this will be set to a random UUID if not explicitly set. - -When the replication ID is specified in the URL, this must be set to the same replication ID if specifying it at all. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*remote* + -_optional_ -a¦ - -[markdown] --- -This is the endpoint of the database for the remote Sync Gateway that is the subject of this replication's `push`, `pull`, or `pushAndPull` action. - -Typically this would include the URI, port, and database name. For example, `http://localhost:4985/db`. - -How this remote is used depends on the `direction` of the replication: -* `pull` - this replicator _pulls_ changes from the `remote` -* `push` - this replicator _pushes_ changes to this `remote` -* `pushAndPull` - this replicator _pushes_ changes to this `remote`, while also pulling receiving changes --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*username* + -_optional_ -a¦ - -[markdown] --- -**This has been deprecated in favour of `remote_username`.** - -This is the username to use to authenticate with the remote. - -This can only be used for a pull replication. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*password* + -_optional_ -a¦ - -[markdown] --- -**This has been deprecated in favour of `remote_password`.** - -This is the password to use to authenticate with the remote. - -This password will be redacted in the replication config. - -This can only be used for a pull replication. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*remote_username* + -_optional_ -a¦ - -[markdown] --- -The username to use to authenticate with the remote. - -This can only be used for a pull replication. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*remote_password* + -_optional_ -a¦ - -[markdown] --- -The password to use to authenticate with the remote. - -This password will be redacted in the replication config. - -This can only be used for a pull replication. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*direction* + -_optional_ -a¦ - -[markdown] --- -This specifies which direction the replication will be replicating with the `remote` replicator. - -The directions are: -* `pull` - changes are pulled from the remote database -* `push` - changes are pushed to the remote database -* `pushAndPull` - changes are both push-to and pulled-from the remote database - -Replications created prior to Sync Gateway 2.8 derive their `direction` from the source/target URL of the replication. --- - -[%hardbreaks] -*Values:* `"push"`, `"pull"`, `"pushAndPull"` -{blank} -a¦ String - - -a¦ -*conflict_resolution_type* + -_optional_ -a¦ - -[markdown] --- -This defines what conflict resolution policy Sync Gateway should use to apply when resolving conflicting revisions. - -Changing this is an Enterprise Edition only feature. - -**Behaviour** -* *default* - In priority order, this will cause - - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) - - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. -* *localWins* - This will result in local revisions always being the winner in any conflict. -* *remoteWins* - This will result in remote revisions always being the winner in any conflict. -* *custom* - This will result in conflicts going through your own custom conflict resolver. You must provide this logic as a Javascript function in the `custom_conflict_resolver` parameter. This is an Enterprise Edition only feature. - - -Note: replications created prior to Sync Gateway 2.8 will default to `default`. --- - -[%hardbreaks] -*Values:* `"default"`, `"remoteWins"`, `"localWins"`, `"custom"` -{blank} -a¦ String - - -a¦ -*custom_conflict_resolver* + -_optional_ -a¦ - -[markdown] --- -This specifies the Javascript function to use to resolve conflicts between conflicting revisions. - -This **must** be used when `conflict_resolution_type=custom`. This property will be ignored when `conflict_resolution_type` is not `custom`. - -The Javascript function to provide this property should be in backticks (like the sync function). The function takes 1 parameter which is a struct that represents the conflict. This struct has 2 properties: -* `LocalDocument` - The local document. This contains the document ID under the `_id` key. -* `RemoteDocument` - The remote document -The function should return the new document's body. This can be the winning revision (for example, `return conflict.LocalDocument`), a new body, or `nil` to resolve as a delete. - -Example: -``` -"custom_conflict_resolver":\` - function(conflict) { - console.log("Doc ID: "+conflict.LocalDocument._id); - console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); - return conflict.RemoteDocument; - } -\` -``` - -Using complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible. - -This is an Enterprise Edition only feature. - --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*purge_on_removal* + -_optional_ -a¦ - -[markdown] --- -Specifies whether to purge a document if the remote user loses access to all of the channels on the document when attempting to pull it from the remote. - -If false, documents will not be replicated and not be purged when the user loses access. --- - -[%hardbreaks] -{blank} -a¦ Boolean - - -a¦ -*enable_delta_sync* + -_optional_ -a¦ - -[markdown] --- -This will turn on delta- sync for the replication. This works in conjunction with the database level setting `delta_sync.enabled` - -If set to true, delta-sync will be used as long as both databases involved in the replication have delta-sync enabled. If a database does not have delta-sync enabled, then the replication will run without delta-sync. - -Replications created prior to Sync Gateway 2.8 must have delta-sync disabled. - -Enabling this is an Enterprise Edition only feature. --- - -[%hardbreaks] -{blank} -a¦ Boolean - - -a¦ -*max_backoff_time* + +*docs_checked_push* + _optional_ a¦ [markdown] -- -Specifies the maximum time-period (in minutes) that Sync Gateway will attempt to reconnect to a lost or unreachable remote. - -When a disconnection happens, Sync Gateway will do an exponential backoff up to this specified value. When this value is met, it will attempt to reconnect indefinitely every `max_backoff_time` minutes. - -If this is set to 0, Sync Gateway will do the normal exponential backoff after the disconnect happens but then attempting 10 minutes and stop the replication. - -Note: this defaults to 5 minutes for replications created prior to Sync Gateway 2.8. -- [%hardbreaks] @@ -47031,110 +45989,43 @@ a¦ Integer a¦ -*initial_state* + -_optional_ -a¦ - -[markdown] --- -This is what state to start the replication in when creating a new replication. - -This allows you to control if the replication starts in a `stopped` start or `running` state. - -Replications prior to Sync Gateway 2.8 will run in the default state `running`. --- - -[%hardbreaks] -*Values:* `"running"`, `"stopped"` -{blank} -a¦ String - - -a¦ -*continuous* + -_optional_ -a¦ - -[markdown] --- -If true, changes will be immediately synced when they happen. This is known as a continuous replication. - -If false, all changes will be synced until they have been processed. The replication will then cease and not process any future changes (unless started again by the user). This is known as a one-shot replication. --- - -[%hardbreaks] -{blank} -a¦ Boolean - - -a¦ -*filter* + -_optional_ -a¦ - -[markdown] --- -This defines whether to filter documents by their channels or not. - -If set to `sync_gateway/bychannel` then a **pull** replication will be limited to a specific set of channels specified by the `query_params.channels` property. - -This only can be used with pull replications. --- - -[%hardbreaks] -*Values:* `"sync_gateway/bychannel"` -{blank} -a¦ String - - -a¦ -*query_params* + +*doc_write_failures* + _optional_ a¦ [markdown] -- -This is a set of key/value pairs used in the query string of the replication. - -If `filters=sync_gateway/bychannel` then this can be used to set the channels to filter by in a pull replication. To do this, set the `channels` key to a string array of the channels to filter by. For example: -``` -"filter":"sync_gateway/bychannel", -"query_params": { - "channels":["chanUser1"] -}, -``` +The number of documents that have failed to be wrote (pushed) to the target database. There will be no attempt to try to push these docs again. -- [%hardbreaks] -{blank} -a¦ String - array +{blank} +a¦ Integer + a¦ -*adhoc* + +*doc_write_conflicts* + _optional_ a¦ [markdown] -- -Set to true to run the replication as an adhoc replication instead of a persistent one. - -This means that the replication will only last the period of the replication until the status is changed to `stopped` and then it will be removed automatically. It will also be removed if Sync Gateway restarts or if removed due to user action. +The number of documents that had a conflict. -- [%hardbreaks] {blank} -a¦ Boolean +a¦ Integer a¦ -*batch_size* + +*rejected_by_remote* + _optional_ a¦ [markdown] -- -The amount of changes to be sent in one batch of replications. Changing this is an Enterprise Edition only feature. +The number of documents that were received by the remote but did not get replicated due to getting rejected by the sync function on the remote. -- [%hardbreaks] @@ -47143,13 +46034,13 @@ a¦ Integer a¦ -*run_as* + +*last_seq_push* + _optional_ a¦ [markdown] -- -This is used if you want to specify a user to run the replication as. This means that the replication will only be able to replicate what the user access to what the user has access to. +The last changes sequence number that was pushed to the remote. -- [%hardbreaks] @@ -47158,107 +46049,200 @@ a¦ String a¦ -*collections_enabled* + +*deltas_sent* + _optional_ a¦ [markdown] -- -If true, the replicator will run with collections, and will replicate all collections, unless otherwise limited by `collections_local`. - -If false, the replicator will only replicate the default collection. +The number of deltas that have been sent to the remote. -- [%hardbreaks] {blank} -a¦ Boolean +a¦ Integer + + +|=== + +//end::Replication_status[] + + + + +// markup not found, no include::{specDir}definitions/Replication_status/definition-end.adoc[opts=optional] + + +:leveloffset: -1 + +// markup not found, no include::{specDir}definitions/Replication_status/definition-after.adoc[opts=optional] + + + + +// markup not found, no include::{specDir}definitions/Resync_status/definition-before.adoc[opts=optional] + + +ifdef::collapse-models[] +[discrete] +endif::collapse-models[] +[#Resync_status] += Resync-status + +:leveloffset: +1 + +// markup not found, no include::{specDir}definitions/Resync_status/definition-begin.adoc[opts=optional] + + +.icon:brackets-curly[fw] Object +{blank} + +//tag::Resync_status[] + +ifdef::model-descriptions[] +//tag::desc-Resync_status[] +The status of a resync operation +//end::desc-Resync_status[] +endif::model-descriptions[] +[cols="25,55,20",separator=¦] +|=== +¦ Property ¦ ¦ Schema a¦ -*collections_local* + -_optional_ +*status* + +_required_ a¦ [markdown] -- -Limits the set of collections replicated to those listed in this array. - -The replication will use all collections defined on the database if this list is empty. +The status of the current operation. -- [%hardbreaks] +*Values:* `"running"`, `"completed"`, `"stopping"`, `"stopped"`, `"error"` {blank} a¦ String - array + a¦ -*collections_remote* + -_optional_ +*start_time* + +_required_ a¦ [markdown] -- -Remaps the local collection name to the one specified in this array when replicating with the remote. +The ISO-8601 date and time the resync operation was started. +-- -If only a subset of collections need remapping, elements in this array can be specified as `null` to preserve the local collection name. +[%hardbreaks] +{blank} +a¦ String -The same index is used for both `collections_remote` and `collections_local`, and both arrays must be the same length. + +a¦ +*last_error* + +_required_ +a¦ + +[markdown] +-- +The last error that occurred in the resync operation (if any). -- [%hardbreaks] {blank} a¦ String - array + a¦ -*assigned_node* + -_optional_ +*docs_changed* + +_required_ a¦ [markdown] -- -The unique ID of the node assigned to the replication. +The amount of documents that have been changed as a result of the resync operation. -- [%hardbreaks] {blank} -a¦ String +a¦ Integer a¦ -*target_state* + -_optional_ +*docs_processed* + +_required_ a¦ [markdown] -- -This is the state that the replicator is in or that trying to transition in to. +The amount of docs that have been processed so far in the resync operation. -- [%hardbreaks] -*Values:* `"running"`, `"stopped"`, `"resetting"`, `"error"`, `"starting"`, `"reconnecting"` {blank} -a¦ String +a¦ Integer a¦ -*cluster_uuid* + +*collections_processing* + _optional_ a¦ [markdown] -- -The cluster unique identifier. +The collections that the resync operation is running on. -- [%hardbreaks] {blank} -a¦ String +a¦ xref:Map[] |=== -//end::Retrieved-replication[] +//end::Resync_status[] + + + + +// markup not found, no include::{specDir}definitions/Resync_status/definition-end.adoc[opts=optional] + + +:leveloffset: -1 + +// markup not found, no include::{specDir}definitions/Resync_status/definition-after.adoc[opts=optional] + + + + +// markup not found, no include::{specDir}definitions/Retrieved-replication/definition-before.adoc[opts=optional] + + +ifdef::collapse-models[] +[discrete] +endif::collapse-models[] +[#Retrieved-replication] += Replication + +:leveloffset: +1 + +// markup not found, no include::{specDir}definitions/Retrieved-replication/definition-begin.adoc[opts=optional] + + +.icon:bars[fw] Composite Schema +{blank} + +All of the following: + +* xref:Object[] + + +* xref:Object[] + + +* xref:Object[] @@ -52119,52 +51103,7 @@ a¦ -- This is the endpoint of the database for the remote Sync Gateway that is the subject of this replication's `push`, `pull`, or `pushAndPull` action. -Typically this would include the URI, port, and database name. For example, `http://localhost:4985/db`. - -How this remote is used depends on the `direction` of the replication: -* `pull` - this replicator _pulls_ changes from the `remote` -* `push` - this replicator _pushes_ changes to this `remote` -* `pushAndPull` - this replicator _pushes_ changes to this `remote`, while also pulling receiving changes --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*username* + -_optional_ -a¦ - -[markdown] --- -**This has been deprecated in favour of `remote_username`.** - -This is the username to use to authenticate with the remote. - -This can only be used for a pull replication. --- - -[%hardbreaks] -{blank} -a¦ String - - -a¦ -*password* + -_optional_ -a¦ - -[markdown] --- -**This has been deprecated in favour of `remote_password`.** - -This is the password to use to authenticate with the remote. - -This password will be redacted in the replication config. - -This can only be used for a pull replication. +Typically this would include the URI, port, and database name. For example, `https://localhost:4985/db`. -- [%hardbreaks] @@ -52180,8 +51119,6 @@ a¦ [markdown] -- The username to use to authenticate with the remote. - -This can only be used for a pull replication. -- [%hardbreaks] @@ -52196,11 +51133,7 @@ a¦ [markdown] -- -The password to use to authenticate with the remote. - -This password will be redacted in the replication config. - -This can only be used for a pull replication. +The password to use to authenticate with the remote. This password will be redacted in the replication config. -- [%hardbreaks] @@ -52216,13 +51149,6 @@ a¦ [markdown] -- This specifies which direction the replication will be replicating with the `remote` replicator. - -The directions are: -* `pull` - changes are pulled from the remote database -* `push` - changes are pushed to the remote database -* `pushAndPull` - changes are both push-to and pulled-from the remote database - -Replications created prior to Sync Gateway 2.8 derive their `direction` from the source/target URL of the replication. -- [%hardbreaks] @@ -52241,17 +51167,6 @@ a¦ This defines what conflict resolution policy Sync Gateway should use to apply when resolving conflicting revisions. Changing this is an Enterprise Edition only feature. - -**Behaviour** -* *default* - In priority order, this will cause - - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) - - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. -* *localWins* - This will result in local revisions always being the winner in any conflict. -* *remoteWins* - This will result in remote revisions always being the winner in any conflict. -* *custom* - This will result in conflicts going through your own custom conflict resolver. You must provide this logic as a Javascript function in the `custom_conflict_resolver` parameter. This is an Enterprise Edition only feature. - - -Note: replications created prior to Sync Gateway 2.8 will default to `default`. -- [%hardbreaks] @@ -52268,29 +51183,27 @@ a¦ [markdown] -- This specifies the Javascript function to use to resolve conflicts between conflicting revisions. - + This **must** be used when `conflict_resolution_type=custom`. This property will be ignored when `conflict_resolution_type` is not `custom`. The Javascript function to provide this property should be in backticks (like the sync function). The function takes 1 parameter which is a struct that represents the conflict. This struct has 2 properties: -* `LocalDocument` - The local document. This contains the document ID under the `_id` key. -* `RemoteDocument` - The remote document + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document The function should return the new document's body. This can be the winning revision (for example, `return conflict.LocalDocument`), a new body, or `nil` to resolve as a delete. Example: -``` -"custom_conflict_resolver":\` - function(conflict) { - console.log("Doc ID: "+conflict.LocalDocument._id); - console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); - return conflict.RemoteDocument; - } -\` + +```javascript +function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; +} ``` Using complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible. This is an Enterprise Edition only feature. - -- [%hardbreaks] @@ -52322,13 +51235,9 @@ a¦ [markdown] -- -This will turn on delta- sync for the replication. This works in conjunction with the database level setting `delta_sync.enabled` - -If set to true, delta-sync will be used as long as both databases involved in the replication have delta-sync enabled. If a database does not have delta-sync enabled, then the replication will run without delta-sync. - -Replications created prior to Sync Gateway 2.8 must have delta-sync disabled. +This will turn on delta-sync for the replication. In order to enable delta-sync for a replication, the database level setting `delta_sync.enabled` must also be set to true. -Enabling this is an Enterprise Edition only feature. +Using delta-sync is an Enterprise Edition only feature. -- [%hardbreaks] @@ -52401,15 +51310,11 @@ a¦ [markdown] -- -This defines whether to filter documents by their channels or not. - -If set to `sync_gateway/bychannel` then a **pull** replication will be limited to a specific set of channels specified by the `query_params.channels` property. - -This only can be used with pull replications. +This defines whether to filter documents. -- [%hardbreaks] -*Values:* `"sync_gateway/bychannel"` +*Values:* `"sync_gateway/bychannel"`, `""` {blank} a¦ String @@ -52424,7 +51329,7 @@ a¦ This is a set of key/value pairs used in the query string of the replication. If `filters=sync_gateway/bychannel` then this can be used to set the channels to filter by in a pull replication. To do this, set the `channels` key to a string array of the channels to filter by. For example: -``` +```json "filter":"sync_gateway/bychannel", "query_params": { "channels":["chanUser1"] @@ -52537,6 +51442,40 @@ The same index is used for both `collections_remote` and `collections_local`, an a¦ String array +a¦ +*username* + +_optional_ +a¦ + +[markdown] +-- +**This has been deprecated in favour of `remote_username`.** + +This is the username to use to authenticate with the remote. +-- + +[%hardbreaks] +{blank} +a¦ String + + +a¦ +*password* + +_optional_ +a¦ + +[markdown] +-- +**This has been deprecated in favour of `remote_password`.** + +This is the password to use to authenticate with the remote. This password will be redacted in the replication config. +-- + +[%hardbreaks] +{blank} +a¦ String + + |=== //end::User_configurable_replication_properties[] diff --git a/modules/ROOT/partials/sgw-openapi-admin.html b/modules/ROOT/partials/sgw-openapi-admin.html index e7afd9ba..1a628d4d 100644 --- a/modules/ROOT/partials/sgw-openapi-admin.html +++ b/modules/ROOT/partials/sgw-openapi-admin.html @@ -625,7 +625,7 @@ " class="sc-faJlkc sc-fdduAw sc-eINXvP kOqeZB ipNwOs fbuMAW">
There was a problem with your request
{- "databases": {
- "dbname1": {
- "seq": 0,
- "server_uuid": "string",
- "require_resync": true,
- "state": "Online",
- "replication_status": [
- {
- "replication_id": "string",
- "config": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
]
}, - "status": "stopped",
- "error_message": "string",
- "docs_read": 0,
- "docs_checked_pull": 0,
- "docs_purged": 0,
- "rejected_by_local": 0,
- "last_seq_pull": "string",
- "deltas_recv": 0,
- "deltas_requested": 0,
- "docs_written": 0,
- "docs_checked_push": 0,
- "docs_write_failures": 0,
- "docs_write_conflicts": 0,
- "rejected_by_remote": 0,
- "last_seq_push": "string",
- "deltas_sent": 0
}
], - "cluster": {
- "cluster_uuid": "string",
- "replication": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "assigned_node": "string",
- "target_state": "running",
- "cluster_uuid": "string"
}
}, - "nodes": {
- "node_uuid": {
- "uuid": "string",
- "host": "string"
}
}
}
}, - "dbname2": {
- "seq": 0,
- "server_uuid": "string",
- "require_resync": true,
- "state": "Online",
- "replication_status": [
- {
- "replication_id": "string",
- "config": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
]
}, - "status": "stopped",
- "error_message": "string",
- "docs_read": 0,
- "docs_checked_pull": 0,
- "docs_purged": 0,
- "rejected_by_local": 0,
- "last_seq_pull": "string",
- "deltas_recv": 0,
- "deltas_requested": 0,
- "docs_written": 0,
- "docs_checked_push": 0,
- "docs_write_failures": 0,
- "docs_write_conflicts": 0,
- "rejected_by_remote": 0,
- "last_seq_push": "string",
- "deltas_sent": 0
}
], - "cluster": {
- "cluster_uuid": "string",
- "replication": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "assigned_node": "string",
- "target_state": "running",
- "cluster_uuid": "string"
}
}, - "nodes": {
- "node_uuid": {
- "uuid": "string",
- "host": "string"
}
}
}
}
}, - "version": "string",
- "vendor": {
- "name": "Couchbase Sync Gateway",
- "version": 3.1
}
}
{- "databases": {
- "dbname1": {
- "seq": 0,
- "server_uuid": "string",
- "require_resync": true,
- "state": "Online",
- "replication_status": [
- {
- "replication_id": "string",
- "config": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string"
}, - "status": "running",
- "error_message": "string",
- "docs_read": 0,
- "docs_checked_pull": 0,
- "docs_purged": 0,
- "rejected_by_local": 0,
- "last_seq_pull": "string",
- "deltas_recv": 0,
- "deltas_requested": 0,
- "docs_written": 0,
- "docs_checked_push": 0,
- "doc_write_failures": 0,
- "doc_write_conflicts": 0,
- "rejected_by_remote": 0,
- "last_seq_push": "string",
- "deltas_sent": 0
}
], - "cluster": {
- "cluster_uuid": "string",
- "replication": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string",
- "assigned_node": "string",
- "target_state": "running",
- "cluster_uuid": "string"
}
}, - "nodes": {
- "node_uuid": {
- "uuid": "string",
- "host": "string"
}
}
}
}, - "dbname2": {
- "seq": 0,
- "server_uuid": "string",
- "require_resync": true,
- "state": "Online",
- "replication_status": [
- {
- "replication_id": "string",
- "config": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string"
}, - "status": "running",
- "error_message": "string",
- "docs_read": 0,
- "docs_checked_pull": 0,
- "docs_purged": 0,
- "rejected_by_local": 0,
- "last_seq_pull": "string",
- "deltas_recv": 0,
- "deltas_requested": 0,
- "docs_written": 0,
- "docs_checked_push": 0,
- "doc_write_failures": 0,
- "doc_write_conflicts": 0,
- "rejected_by_remote": 0,
- "last_seq_push": "string",
- "deltas_sent": 0
}
], - "cluster": {
- "cluster_uuid": "string",
- "replication": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string",
- "assigned_node": "string",
- "target_state": "running",
- "cluster_uuid": "string"
}
}, - "nodes": {
- "node_uuid": {
- "uuid": "string",
- "host": "string"
}
}
}
}
}, - "version": "string",
- "vendor": {
- "name": "Couchbase Sync Gateway",
- "version": 3.1
}
}
The maximum depth a document's revision tree can grow too.
The minimum is 20
if conflicts are allowed and 0 if not. It is not recommended to go below 100
when conflicts are allowed. The default is 100
if conflicts are allowed and 50
if not.
If true, documents will be imported in to Sync Gateway from the bucket when requested. Documents will be ran through the set import_filter
if any is set.
The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to false
or else in the Enterprise Edition, it will default to true
.
If true, documents will be imported in to Sync Gateway from the bucket in the background. Documents will be ran through the set import_filter
if any is set.
The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to false
or else in the Enterprise Edition, it will default to true
. This value requires enable_shared_bucket_access=true
.
This can also be set to the string continuous
which maps to true.
The number of seconds before a view query should timeout.
The number of seconds before a _local
document should expire.
Whether to use extended attributes to store Sync Gateway document (_sync
) metadata.
A server error occurred
{- "server": "string",
- "pool": "default",
- "bucket": "The database name",
- "username": "string",
- "password": "string",
- "certpath": "string",
- "keypath": "string",
- "cacertpath": "string",
- "kv_tls_port": 11207,
- "max_concurrent_query_ops": 1000,
- "scopes": {
- "scopename": {
- "collections": {
- "collectionname1": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}, - "collectionname2": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}
}
}
}, - "name": "string",
- "sync": "function(doc){channel(doc.channels);}",
- "users": {
- "username1": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "username2": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "roles": {
- "rolename1": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "rolename2": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "revs_limit": 50,
- "import_docs": true,
- "import_partitions": 16,
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }",
- "import_backup_old_rev": false,
- "event_handlers": {
- "max_processes": "string",
- "wait_for_process": "string",
- "document_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0,
- "options": {
- "winning_rev_only": false
}
}, - "db_state_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0
}
}, - "feed_type": "DCP",
- "allow_empty_password": false,
- "cache": {
- "rev_cache": {
- "size": 5000,
- "max_memory_count_mb": 0,
- "shard_count": 16
}, - "channel_cache": {
- "max_number": 50000,
- "compact_high_watermark_pct": 80,
- "compact_low_watermark_pct": 60,
- "max_wait_pending": 5000,
- "max_num_pending": 10000,
- "max_wait_skipped": 3600000,
- "enable_star_channel": true,
- "max_length": 500,
- "min_length": 50,
- "expiry_seconds": 60,
- "query_limit": 5000
}, - "max_wait_pending": 0,
- "max_wait_skipped": 0,
- "enable_star_channel": true,
- "channel_cache_max_length": 0,
- "channel_cache_min_length": 0,
- "channel_cache_expiry": 0,
- "max_num_pending": 0
}, - "rev_cache_size": 0,
- "offline": false,
- "unsupported": {
- "user_views": {
- "enabled": true
}, - "oidc_test_provider": {
- "enabled": true
}, - "api_endpoints": {
- "enable_couchbase_bucket_flush": true
}, - "warning_thresholds": {
- "xattr_size_bytes": 0,
- "channels_per_doc": 0,
- "access_and_role_grants_per_doc": 0,
- "channels_per_user": 0,
- "channel_name_size": 0
}, - "oidc_tls_skip_verify": true,
- "sgr_tls_skip_verify": true,
- "remote_config_tls_skip_verify": true,
- "guest_read_only": true,
- "force_api_forbidden_errors": true,
- "dcp_read_buffer": 0,
- "kv_buffer": 0
}, - "local_jwt": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}
}, - "oidc": {
- "providers": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}
}, - "default_provider": "string"
}, - "old_rev_expiry_seconds": 300,
- "view_query_timeout_secs": 75,
- "local_doc_expiry_secs": 7776000,
- "enable_shared_bucket_access": true,
- "session_cookie_secure": true,
- "session_cookie_name": "string",
- "session_cookie_http_only": false,
- "allow_conflicts": false,
- "num_index_replicas": 1,
- "index": {
- "num_partitions": 1,
- "num_replicas": 1
}, - "use_views": false,
- "send_www_authenticate_header": true,
- "disable_password_auth": false,
- "bucket_op_timeout_ms": 0,
- "slow_query_warning_threshold": 500,
- "delta_sync": {
- "enabled": false,
- "rev_max_age_seconds": 86400
}, - "compact_interval_days": 1,
- "sgreplicate_enabled": true,
- "sgreplicate_websocket_heartbeat_secs": 300,
- "replications": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
]
}
}, - "serve_insecure_attachment_types": false,
- "query_pagination_limit": 5000,
- "user_xattr_key": "string",
- "client_partition_window_secs": 2592000,
- "guest": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "javascript_timeout_secs": 60,
- "suspendable": false,
- "changes_request_plus": false,
- "cors": {
- "origin": [
- "string"
], - "login_origin": [
- "string"
], - "headers": [
- "string"
]
}, - "logging": {
- "console": {
- "log_level": "debug",
- "log_keys": [
- "CRUD",
- "HTTP",
- "Query"
]
}, - "audit": {
- "enabled": false,
- "enabled_events": [
- [
- 1234,
- 5678
]
], - "disabled_users": [
- {
- "domain": "cbs",
- "name": "string"
}
], - "disabled_roles": [
- {
- "domain": "cbs",
- "name": "string"
}
]
}
}, - "disable_public_all_docs": false
}
{- "error": "string",
- "reason": "string"
}
{- "server": "string",
- "pool": "default",
- "bucket": "The database name",
- "username": "string",
- "password": "string",
- "certpath": "string",
- "keypath": "string",
- "cacertpath": "string",
- "kv_tls_port": 11207,
- "max_concurrent_query_ops": 1000,
- "scopes": {
- "scopename": {
- "collections": {
- "collectionname1": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}, - "collectionname2": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}
}
}
}, - "name": "string",
- "sync": "function(doc){channel(doc.channels);}",
- "users": {
- "username1": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "username2": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "roles": {
- "rolename1": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "rolename2": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "revs_limit": 50,
- "import_docs": true,
- "import_partitions": 16,
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }",
- "import_backup_old_rev": false,
- "event_handlers": {
- "max_processes": "string",
- "wait_for_process": "string",
- "document_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0,
- "options": {
- "winning_rev_only": false
}
}, - "db_state_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0
}
}, - "feed_type": "DCP",
- "allow_empty_password": false,
- "cache": {
- "rev_cache": {
- "size": 5000,
- "max_memory_count_mb": 0,
- "shard_count": 16
}, - "channel_cache": {
- "max_number": 50000,
- "compact_high_watermark_pct": 80,
- "compact_low_watermark_pct": 60,
- "max_wait_pending": 5000,
- "max_num_pending": 10000,
- "max_wait_skipped": 3600000,
- "enable_star_channel": true,
- "max_length": 500,
- "min_length": 50,
- "expiry_seconds": 60,
- "query_limit": 5000
}, - "max_wait_pending": 0,
- "max_wait_skipped": 0,
- "enable_star_channel": true,
- "channel_cache_max_length": 0,
- "channel_cache_min_length": 0,
- "channel_cache_expiry": 0,
- "max_num_pending": 0
}, - "rev_cache_size": 0,
- "offline": false,
- "unsupported": {
- "user_views": {
- "enabled": true
}, - "oidc_test_provider": {
- "enabled": true
}, - "api_endpoints": {
- "enable_couchbase_bucket_flush": true
}, - "warning_thresholds": {
- "xattr_size_bytes": 0,
- "channels_per_doc": 0,
- "access_and_role_grants_per_doc": 0,
- "channels_per_user": 0,
- "channel_name_size": 0
}, - "oidc_tls_skip_verify": true,
- "sgr_tls_skip_verify": true,
- "remote_config_tls_skip_verify": true,
- "guest_read_only": true,
- "force_api_forbidden_errors": true,
- "dcp_read_buffer": 0,
- "kv_buffer": 0
}, - "local_jwt": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}
}, - "oidc": {
- "providers": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}
}, - "default_provider": "string"
}, - "old_rev_expiry_seconds": 300,
- "view_query_timeout_secs": 75,
- "local_doc_expiry_secs": 7776000,
- "enable_shared_bucket_access": true,
- "session_cookie_secure": true,
- "session_cookie_name": "string",
- "session_cookie_http_only": false,
- "allow_conflicts": false,
- "num_index_replicas": 1,
- "index": {
- "num_partitions": 1,
- "num_replicas": 1
}, - "use_views": false,
- "send_www_authenticate_header": true,
- "disable_password_auth": false,
- "bucket_op_timeout_ms": 0,
- "slow_query_warning_threshold": 500,
- "delta_sync": {
- "enabled": false,
- "rev_max_age_seconds": 86400
}, - "compact_interval_days": 1,
- "sgreplicate_enabled": true,
- "sgreplicate_websocket_heartbeat_secs": 300,
- "replications": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string"
}
}, - "serve_insecure_attachment_types": false,
- "query_pagination_limit": 5000,
- "user_xattr_key": "string",
- "client_partition_window_secs": 2592000,
- "guest": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "javascript_timeout_secs": 60,
- "suspendable": false,
- "changes_request_plus": false,
- "cors": {
- "origin": [
- "string"
], - "login_origin": [
- "string"
], - "headers": [
- "string"
]
}, - "logging": {
- "console": {
- "log_level": "debug",
- "log_keys": [
- "CRUD",
- "HTTP",
- "Query"
]
}, - "audit": {
- "enabled": false,
- "enabled_events": [
- [
- 1234,
- 5678
]
], - "disabled_users": [
- {
- "domain": "cbs",
- "name": "string"
}
], - "disabled_roles": [
- {
- "domain": "cbs",
- "name": "string"
}
]
}
}, - "disable_public_all_docs": false
}
{- "error": "string",
- "reason": "string"
}
{- "server": "string",
- "pool": "default",
- "bucket": "The database name",
- "username": "string",
- "password": "string",
- "certpath": "string",
- "keypath": "string",
- "cacertpath": "string",
- "kv_tls_port": 11207,
- "max_concurrent_query_ops": 1000,
- "scopes": {
- "scopename": {
- "collections": {
- "collectionname1": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}, - "collectionname2": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}
}
}
}, - "name": "string",
- "sync": "function(doc){channel(doc.channels);}",
- "users": {
- "username1": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "roles": [
- "string"
], - "jwt_roles": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_issuer": "string",
- "jwt_last_updated": "2019-08-24T14:15:22Z",
- "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}, - "username2": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "roles": [
- "string"
], - "jwt_roles": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_issuer": "string",
- "jwt_last_updated": "2019-08-24T14:15:22Z",
- "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}
}, - "roles": {
- "rolename1": {
- "name": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}, - "rolename2": {
- "name": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}
}, - "revs_limit": 50,
- "import_docs": true,
- "import_partitions": 16,
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }",
- "import_backup_old_rev": false,
- "event_handlers": {
- "max_processes": "string",
- "wait_for_process": "string",
- "document_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0,
- "options": {
- "winning_rev_only": false
}
}, - "db_state_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0
}
}, - "feed_type": "DCP",
- "allow_empty_password": false,
- "cache": {
- "rev_cache": {
- "size": 5000,
- "max_memory_count_mb": 0,
- "shard_count": 16
}, - "channel_cache": {
- "max_number": 50000,
- "compact_high_watermark_pct": 80,
- "compact_low_watermark_pct": 60,
- "max_wait_pending": 5000,
- "max_num_pending": 10000,
- "max_wait_skipped": 3600000,
- "enable_star_channel": true,
- "max_length": 500,
- "min_length": 50,
- "expiry_seconds": 60,
- "query_limit": 5000
}, - "max_wait_pending": 0,
- "max_wait_skipped": 0,
- "enable_star_channel": true,
- "channel_cache_max_length": 0,
- "channel_cache_min_length": 0,
- "channel_cache_expiry": 0,
- "max_num_pending": 0
}, - "rev_cache_size": 0,
- "offline": false,
- "unsupported": {
- "user_views": {
- "enabled": true
}, - "oidc_test_provider": {
- "enabled": true
}, - "api_endpoints": {
- "enable_couchbase_bucket_flush": true
}, - "warning_thresholds": {
- "xattr_size_bytes": 0,
- "channels_per_doc": 0,
- "access_and_role_grants_per_doc": 0,
- "channels_per_user": 0,
- "channel_name_size": 0
}, - "oidc_tls_skip_verify": true,
- "sgr_tls_skip_verify": true,
- "remote_config_tls_skip_verify": true,
- "guest_read_only": true,
- "force_api_forbidden_errors": true,
- "dcp_read_buffer": 0,
- "kv_buffer": 0
}, - "local_jwt": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}
}, - "oidc": {
- "providers": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}
}, - "default_provider": "string"
}, - "old_rev_expiry_seconds": 300,
- "view_query_timeout_secs": 75,
- "local_doc_expiry_secs": 7776000,
- "enable_shared_bucket_access": true,
- "session_cookie_secure": true,
- "session_cookie_name": "string",
- "session_cookie_http_only": false,
- "allow_conflicts": false,
- "num_index_replicas": 1,
- "index": {
- "num_partitions": 1,
- "num_replicas": 1
}, - "use_views": false,
- "send_www_authenticate_header": true,
- "disable_password_auth": false,
- "bucket_op_timeout_ms": 0,
- "slow_query_warning_threshold": 500,
- "delta_sync": {
- "enabled": false,
- "rev_max_age_seconds": 86400
}, - "compact_interval_days": 1,
- "sgreplicate_enabled": true,
- "sgreplicate_websocket_heartbeat_secs": 300,
- "replications": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
]
}
}, - "serve_insecure_attachment_types": false,
- "query_pagination_limit": 5000,
- "user_xattr_key": "string",
- "client_partition_window_secs": 2592000,
- "guest": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "roles": [
- "string"
], - "jwt_roles": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_issuer": "string",
- "jwt_last_updated": "2019-08-24T14:15:22Z",
- "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}, - "javascript_timeout_secs": 60,
- "suspendable": false,
- "changes_request_plus": false,
- "cors": {
- "origin": [
- "string"
], - "login_origin": [
- "string"
], - "headers": [
- "string"
]
}, - "logging": {
- "console": {
- "log_level": "debug",
- "log_keys": [
- "CRUD",
- "HTTP",
- "Query"
]
}, - "audit": {
- "enabled": false,
- "enabled_events": [
- [
- 1234,
- 5678
]
], - "disabled_users": [
- {
- "domain": "cbs",
- "name": "string"
}
], - "disabled_roles": [
- {
- "domain": "cbs",
- "name": "string"
}
]
}
}, - "disable_public_all_docs": false
}
{- "server": "string",
- "pool": "default",
- "bucket": "The database name",
- "username": "string",
- "password": "string",
- "certpath": "string",
- "keypath": "string",
- "cacertpath": "string",
- "kv_tls_port": 11207,
- "max_concurrent_query_ops": 1000,
- "scopes": {
- "scopename": {
- "collections": {
- "collectionname1": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}, - "collectionname2": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}
}
}
}, - "name": "string",
- "sync": "function(doc){channel(doc.channels);}",
- "users": {
- "username1": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "roles": [
- "string"
], - "jwt_roles": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_issuer": "string",
- "jwt_last_updated": "2019-08-24T14:15:22Z",
- "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}, - "username2": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "roles": [
- "string"
], - "jwt_roles": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_issuer": "string",
- "jwt_last_updated": "2019-08-24T14:15:22Z",
- "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}
}, - "roles": {
- "rolename1": {
- "name": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}, - "rolename2": {
- "name": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}
}, - "revs_limit": 50,
- "import_docs": true,
- "import_partitions": 16,
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }",
- "import_backup_old_rev": false,
- "event_handlers": {
- "max_processes": "string",
- "wait_for_process": "string",
- "document_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0,
- "options": {
- "winning_rev_only": false
}
}, - "db_state_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0
}
}, - "feed_type": "DCP",
- "allow_empty_password": false,
- "cache": {
- "rev_cache": {
- "size": 5000,
- "max_memory_count_mb": 0,
- "shard_count": 16
}, - "channel_cache": {
- "max_number": 50000,
- "compact_high_watermark_pct": 80,
- "compact_low_watermark_pct": 60,
- "max_wait_pending": 5000,
- "max_num_pending": 10000,
- "max_wait_skipped": 3600000,
- "enable_star_channel": true,
- "max_length": 500,
- "min_length": 50,
- "expiry_seconds": 60,
- "query_limit": 5000
}, - "max_wait_pending": 0,
- "max_wait_skipped": 0,
- "enable_star_channel": true,
- "channel_cache_max_length": 0,
- "channel_cache_min_length": 0,
- "channel_cache_expiry": 0,
- "max_num_pending": 0
}, - "rev_cache_size": 0,
- "offline": false,
- "unsupported": {
- "user_views": {
- "enabled": true
}, - "oidc_test_provider": {
- "enabled": true
}, - "api_endpoints": {
- "enable_couchbase_bucket_flush": true
}, - "warning_thresholds": {
- "xattr_size_bytes": 0,
- "channels_per_doc": 0,
- "access_and_role_grants_per_doc": 0,
- "channels_per_user": 0,
- "channel_name_size": 0
}, - "oidc_tls_skip_verify": true,
- "sgr_tls_skip_verify": true,
- "remote_config_tls_skip_verify": true,
- "guest_read_only": true,
- "force_api_forbidden_errors": true,
- "dcp_read_buffer": 0,
- "kv_buffer": 0
}, - "local_jwt": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}
}, - "oidc": {
- "providers": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}
}, - "default_provider": "string"
}, - "old_rev_expiry_seconds": 300,
- "view_query_timeout_secs": 75,
- "local_doc_expiry_secs": 7776000,
- "enable_shared_bucket_access": true,
- "session_cookie_secure": true,
- "session_cookie_name": "string",
- "session_cookie_http_only": false,
- "allow_conflicts": false,
- "num_index_replicas": 1,
- "index": {
- "num_partitions": 1,
- "num_replicas": 1
}, - "use_views": false,
- "send_www_authenticate_header": true,
- "disable_password_auth": false,
- "bucket_op_timeout_ms": 0,
- "slow_query_warning_threshold": 500,
- "delta_sync": {
- "enabled": false,
- "rev_max_age_seconds": 86400
}, - "compact_interval_days": 1,
- "sgreplicate_enabled": true,
- "sgreplicate_websocket_heartbeat_secs": 300,
- "replications": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string"
}
}, - "serve_insecure_attachment_types": false,
- "query_pagination_limit": 5000,
- "user_xattr_key": "string",
- "client_partition_window_secs": 2592000,
- "guest": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "roles": [
- "string"
], - "jwt_roles": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_issuer": "string",
- "jwt_last_updated": "2019-08-24T14:15:22Z",
- "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}, - "collectionname2": {
- "admin_channels": [
- "string"
], - "all_channels": [
- "string"
], - "jwt_channels": [
- "string"
], - "jwt_last_updated": "2019-08-24T14:15:22Z"
}
}
}
}, - "javascript_timeout_secs": 60,
- "suspendable": false,
- "changes_request_plus": false,
- "cors": {
- "origin": [
- "string"
], - "login_origin": [
- "string"
], - "headers": [
- "string"
]
}, - "logging": {
- "console": {
- "log_level": "debug",
- "log_keys": [
- "CRUD",
- "HTTP",
- "Query"
]
}, - "audit": {
- "enabled": false,
- "enabled_events": [
- [
- 1234,
- 5678
]
], - "disabled_users": [
- {
- "domain": "cbs",
- "name": "string"
}
], - "disabled_roles": [
- {
- "domain": "cbs",
- "name": "string"
}
]
}
}, - "disable_public_all_docs": false
}
If true, documents will be imported in to Sync Gateway from the bucket when requested. Documents will be ran through the set import_filter
if any is set.
The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to false
or else in the Enterprise Edition, it will default to true
.
If true, documents will be imported in to Sync Gateway from the bucket in the background. Documents will be ran through the set import_filter
if any is set.
The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to false
or else in the Enterprise Edition, it will default to true
. This value requires enable_shared_bucket_access=true
.
This can also be set to the string continuous
which maps to true.
The number of seconds before a view query should timeout.
The number of seconds before a _local
document should expire.
Whether to use extended attributes to store Sync Gateway document (_sync
) metadata.
{- "server": "string",
- "pool": "default",
- "bucket": "The database name",
- "username": "string",
- "password": "string",
- "certpath": "string",
- "keypath": "string",
- "cacertpath": "string",
- "kv_tls_port": 11207,
- "max_concurrent_query_ops": 1000,
- "scopes": {
- "scopename": {
- "collections": {
- "collectionname1": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}, - "collectionname2": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}
}
}
}, - "name": "string",
- "sync": "function(doc){channel(doc.channels);}",
- "users": {
- "username1": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "username2": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "roles": {
- "rolename1": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "rolename2": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "revs_limit": 50,
- "import_docs": true,
- "import_partitions": 16,
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }",
- "import_backup_old_rev": false,
- "event_handlers": {
- "max_processes": "string",
- "wait_for_process": "string",
- "document_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0,
- "options": {
- "winning_rev_only": false
}
}, - "db_state_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0
}
}, - "feed_type": "DCP",
- "allow_empty_password": false,
- "cache": {
- "rev_cache": {
- "size": 5000,
- "max_memory_count_mb": 0,
- "shard_count": 16
}, - "channel_cache": {
- "max_number": 50000,
- "compact_high_watermark_pct": 80,
- "compact_low_watermark_pct": 60,
- "max_wait_pending": 5000,
- "max_num_pending": 10000,
- "max_wait_skipped": 3600000,
- "enable_star_channel": true,
- "max_length": 500,
- "min_length": 50,
- "expiry_seconds": 60,
- "query_limit": 5000
}, - "max_wait_pending": 0,
- "max_wait_skipped": 0,
- "enable_star_channel": true,
- "channel_cache_max_length": 0,
- "channel_cache_min_length": 0,
- "channel_cache_expiry": 0,
- "max_num_pending": 0
}, - "rev_cache_size": 0,
- "offline": false,
- "unsupported": {
- "user_views": {
- "enabled": true
}, - "oidc_test_provider": {
- "enabled": true
}, - "api_endpoints": {
- "enable_couchbase_bucket_flush": true
}, - "warning_thresholds": {
- "xattr_size_bytes": 0,
- "channels_per_doc": 0,
- "access_and_role_grants_per_doc": 0,
- "channels_per_user": 0,
- "channel_name_size": 0
}, - "oidc_tls_skip_verify": true,
- "sgr_tls_skip_verify": true,
- "remote_config_tls_skip_verify": true,
- "guest_read_only": true,
- "force_api_forbidden_errors": true,
- "dcp_read_buffer": 0,
- "kv_buffer": 0
}, - "local_jwt": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}
}, - "oidc": {
- "providers": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}
}, - "default_provider": "string"
}, - "old_rev_expiry_seconds": 300,
- "view_query_timeout_secs": 75,
- "local_doc_expiry_secs": 7776000,
- "enable_shared_bucket_access": true,
- "session_cookie_secure": true,
- "session_cookie_name": "string",
- "session_cookie_http_only": false,
- "allow_conflicts": false,
- "num_index_replicas": 1,
- "index": {
- "num_partitions": 1,
- "num_replicas": 1
}, - "use_views": false,
- "send_www_authenticate_header": true,
- "disable_password_auth": false,
- "bucket_op_timeout_ms": 0,
- "slow_query_warning_threshold": 500,
- "delta_sync": {
- "enabled": false,
- "rev_max_age_seconds": 86400
}, - "compact_interval_days": 1,
- "sgreplicate_enabled": true,
- "sgreplicate_websocket_heartbeat_secs": 300,
- "replications": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
]
}
}, - "serve_insecure_attachment_types": false,
- "query_pagination_limit": 5000,
- "user_xattr_key": "string",
- "client_partition_window_secs": 2592000,
- "guest": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "javascript_timeout_secs": 60,
- "suspendable": false,
- "changes_request_plus": false,
- "cors": {
- "origin": [
- "string"
], - "login_origin": [
- "string"
], - "headers": [
- "string"
]
}, - "logging": {
- "console": {
- "log_level": "debug",
- "log_keys": [
- "CRUD",
- "HTTP",
- "Query"
]
}, - "audit": {
- "enabled": false,
- "enabled_events": [
- [
- 1234,
- 5678
]
], - "disabled_users": [
- {
- "domain": "cbs",
- "name": "string"
}
], - "disabled_roles": [
- {
- "domain": "cbs",
- "name": "string"
}
]
}
}, - "disable_public_all_docs": false
}
{- "error": "string",
- "reason": "string"
}
{- "server": "string",
- "pool": "default",
- "bucket": "The database name",
- "username": "string",
- "password": "string",
- "certpath": "string",
- "keypath": "string",
- "cacertpath": "string",
- "kv_tls_port": 11207,
- "max_concurrent_query_ops": 1000,
- "scopes": {
- "scopename": {
- "collections": {
- "collectionname1": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}, - "collectionname2": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}
}
}
}, - "name": "string",
- "sync": "function(doc){channel(doc.channels);}",
- "users": {
- "username1": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "username2": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "roles": {
- "rolename1": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "rolename2": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "revs_limit": 50,
- "import_docs": true,
- "import_partitions": 16,
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }",
- "import_backup_old_rev": false,
- "event_handlers": {
- "max_processes": "string",
- "wait_for_process": "string",
- "document_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0,
- "options": {
- "winning_rev_only": false
}
}, - "db_state_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0
}
}, - "feed_type": "DCP",
- "allow_empty_password": false,
- "cache": {
- "rev_cache": {
- "size": 5000,
- "max_memory_count_mb": 0,
- "shard_count": 16
}, - "channel_cache": {
- "max_number": 50000,
- "compact_high_watermark_pct": 80,
- "compact_low_watermark_pct": 60,
- "max_wait_pending": 5000,
- "max_num_pending": 10000,
- "max_wait_skipped": 3600000,
- "enable_star_channel": true,
- "max_length": 500,
- "min_length": 50,
- "expiry_seconds": 60,
- "query_limit": 5000
}, - "max_wait_pending": 0,
- "max_wait_skipped": 0,
- "enable_star_channel": true,
- "channel_cache_max_length": 0,
- "channel_cache_min_length": 0,
- "channel_cache_expiry": 0,
- "max_num_pending": 0
}, - "rev_cache_size": 0,
- "offline": false,
- "unsupported": {
- "user_views": {
- "enabled": true
}, - "oidc_test_provider": {
- "enabled": true
}, - "api_endpoints": {
- "enable_couchbase_bucket_flush": true
}, - "warning_thresholds": {
- "xattr_size_bytes": 0,
- "channels_per_doc": 0,
- "access_and_role_grants_per_doc": 0,
- "channels_per_user": 0,
- "channel_name_size": 0
}, - "oidc_tls_skip_verify": true,
- "sgr_tls_skip_verify": true,
- "remote_config_tls_skip_verify": true,
- "guest_read_only": true,
- "force_api_forbidden_errors": true,
- "dcp_read_buffer": 0,
- "kv_buffer": 0
}, - "local_jwt": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}
}, - "oidc": {
- "providers": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}
}, - "default_provider": "string"
}, - "old_rev_expiry_seconds": 300,
- "view_query_timeout_secs": 75,
- "local_doc_expiry_secs": 7776000,
- "enable_shared_bucket_access": true,
- "session_cookie_secure": true,
- "session_cookie_name": "string",
- "session_cookie_http_only": false,
- "allow_conflicts": false,
- "num_index_replicas": 1,
- "index": {
- "num_partitions": 1,
- "num_replicas": 1
}, - "use_views": false,
- "send_www_authenticate_header": true,
- "disable_password_auth": false,
- "bucket_op_timeout_ms": 0,
- "slow_query_warning_threshold": 500,
- "delta_sync": {
- "enabled": false,
- "rev_max_age_seconds": 86400
}, - "compact_interval_days": 1,
- "sgreplicate_enabled": true,
- "sgreplicate_websocket_heartbeat_secs": 300,
- "replications": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string"
}
}, - "serve_insecure_attachment_types": false,
- "query_pagination_limit": 5000,
- "user_xattr_key": "string",
- "client_partition_window_secs": 2592000,
- "guest": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "javascript_timeout_secs": 60,
- "suspendable": false,
- "changes_request_plus": false,
- "cors": {
- "origin": [
- "string"
], - "login_origin": [
- "string"
], - "headers": [
- "string"
]
}, - "logging": {
- "console": {
- "log_level": "debug",
- "log_keys": [
- "CRUD",
- "HTTP",
- "Query"
]
}, - "audit": {
- "enabled": false,
- "enabled_events": [
- [
- 1234,
- 5678
]
], - "disabled_users": [
- {
- "domain": "cbs",
- "name": "string"
}
], - "disabled_roles": [
- {
- "domain": "cbs",
- "name": "string"
}
]
}
}, - "disable_public_all_docs": false
}
{- "error": "string",
- "reason": "string"
}
If true, documents will be imported in to Sync Gateway from the bucket when requested. Documents will be ran through the set import_filter
if any is set.
The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to false
or else in the Enterprise Edition, it will default to true
.
If true, documents will be imported in to Sync Gateway from the bucket in the background. Documents will be ran through the set import_filter
if any is set.
The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to false
or else in the Enterprise Edition, it will default to true
. This value requires enable_shared_bucket_access=true
.
This can also be set to the string continuous
which maps to true.
The number of seconds before a view query should timeout.
The number of seconds before a _local
document should expire.
Whether to use extended attributes to store Sync Gateway document (_sync
) metadata.
{- "server": "string",
- "pool": "default",
- "bucket": "The database name",
- "username": "string",
- "password": "string",
- "certpath": "string",
- "keypath": "string",
- "cacertpath": "string",
- "kv_tls_port": 11207,
- "max_concurrent_query_ops": 1000,
- "scopes": {
- "scopename": {
- "collections": {
- "collectionname1": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}, - "collectionname2": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}
}
}
}, - "name": "string",
- "sync": "function(doc){channel(doc.channels);}",
- "users": {
- "username1": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "username2": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "roles": {
- "rolename1": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "rolename2": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "revs_limit": 50,
- "import_docs": true,
- "import_partitions": 16,
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }",
- "import_backup_old_rev": false,
- "event_handlers": {
- "max_processes": "string",
- "wait_for_process": "string",
- "document_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0,
- "options": {
- "winning_rev_only": false
}
}, - "db_state_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0
}
}, - "feed_type": "DCP",
- "allow_empty_password": false,
- "cache": {
- "rev_cache": {
- "size": 5000,
- "max_memory_count_mb": 0,
- "shard_count": 16
}, - "channel_cache": {
- "max_number": 50000,
- "compact_high_watermark_pct": 80,
- "compact_low_watermark_pct": 60,
- "max_wait_pending": 5000,
- "max_num_pending": 10000,
- "max_wait_skipped": 3600000,
- "enable_star_channel": true,
- "max_length": 500,
- "min_length": 50,
- "expiry_seconds": 60,
- "query_limit": 5000
}, - "max_wait_pending": 0,
- "max_wait_skipped": 0,
- "enable_star_channel": true,
- "channel_cache_max_length": 0,
- "channel_cache_min_length": 0,
- "channel_cache_expiry": 0,
- "max_num_pending": 0
}, - "rev_cache_size": 0,
- "offline": false,
- "unsupported": {
- "user_views": {
- "enabled": true
}, - "oidc_test_provider": {
- "enabled": true
}, - "api_endpoints": {
- "enable_couchbase_bucket_flush": true
}, - "warning_thresholds": {
- "xattr_size_bytes": 0,
- "channels_per_doc": 0,
- "access_and_role_grants_per_doc": 0,
- "channels_per_user": 0,
- "channel_name_size": 0
}, - "oidc_tls_skip_verify": true,
- "sgr_tls_skip_verify": true,
- "remote_config_tls_skip_verify": true,
- "guest_read_only": true,
- "force_api_forbidden_errors": true,
- "dcp_read_buffer": 0,
- "kv_buffer": 0
}, - "local_jwt": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}
}, - "oidc": {
- "providers": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}
}, - "default_provider": "string"
}, - "old_rev_expiry_seconds": 300,
- "view_query_timeout_secs": 75,
- "local_doc_expiry_secs": 7776000,
- "enable_shared_bucket_access": true,
- "session_cookie_secure": true,
- "session_cookie_name": "string",
- "session_cookie_http_only": false,
- "allow_conflicts": false,
- "num_index_replicas": 1,
- "index": {
- "num_partitions": 1,
- "num_replicas": 1
}, - "use_views": false,
- "send_www_authenticate_header": true,
- "disable_password_auth": false,
- "bucket_op_timeout_ms": 0,
- "slow_query_warning_threshold": 500,
- "delta_sync": {
- "enabled": false,
- "rev_max_age_seconds": 86400
}, - "compact_interval_days": 1,
- "sgreplicate_enabled": true,
- "sgreplicate_websocket_heartbeat_secs": 300,
- "replications": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
]
}
}, - "serve_insecure_attachment_types": false,
- "query_pagination_limit": 5000,
- "user_xattr_key": "string",
- "client_partition_window_secs": 2592000,
- "guest": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "javascript_timeout_secs": 60,
- "suspendable": false,
- "changes_request_plus": false,
- "cors": {
- "origin": [
- "string"
], - "login_origin": [
- "string"
], - "headers": [
- "string"
]
}, - "logging": {
- "console": {
- "log_level": "debug",
- "log_keys": [
- "CRUD",
- "HTTP",
- "Query"
]
}, - "audit": {
- "enabled": false,
- "enabled_events": [
- [
- 1234,
- 5678
]
], - "disabled_users": [
- {
- "domain": "cbs",
- "name": "string"
}
], - "disabled_roles": [
- {
- "domain": "cbs",
- "name": "string"
}
]
}
}, - "disable_public_all_docs": false
}
{- "error": "string",
- "reason": "string"
}
{- "server": "string",
- "pool": "default",
- "bucket": "The database name",
- "username": "string",
- "password": "string",
- "certpath": "string",
- "keypath": "string",
- "cacertpath": "string",
- "kv_tls_port": 11207,
- "max_concurrent_query_ops": 1000,
- "scopes": {
- "scopename": {
- "collections": {
- "collectionname1": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}, - "collectionname2": {
- "sync": "function(doc){channel(\"collection name\");}",
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }"
}
}
}
}, - "name": "string",
- "sync": "function(doc){channel(doc.channels);}",
- "users": {
- "username1": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "username2": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "roles": {
- "rolename1": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "rolename2": {
- "name": "string",
- "admin_channels": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}
}, - "revs_limit": 50,
- "import_docs": true,
- "import_partitions": 16,
- "import_filter": "function(doc) { if (doc.type != 'mobile') { return false; } return true; }",
- "import_backup_old_rev": false,
- "event_handlers": {
- "max_processes": "string",
- "wait_for_process": "string",
- "document_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0,
- "options": {
- "winning_rev_only": false
}
}, - "db_state_changed": {
- "handler": "webhook",
- "url": "string",
- "filter": "string",
- "timeout": 0
}
}, - "feed_type": "DCP",
- "allow_empty_password": false,
- "cache": {
- "rev_cache": {
- "size": 5000,
- "max_memory_count_mb": 0,
- "shard_count": 16
}, - "channel_cache": {
- "max_number": 50000,
- "compact_high_watermark_pct": 80,
- "compact_low_watermark_pct": 60,
- "max_wait_pending": 5000,
- "max_num_pending": 10000,
- "max_wait_skipped": 3600000,
- "enable_star_channel": true,
- "max_length": 500,
- "min_length": 50,
- "expiry_seconds": 60,
- "query_limit": 5000
}, - "max_wait_pending": 0,
- "max_wait_skipped": 0,
- "enable_star_channel": true,
- "channel_cache_max_length": 0,
- "channel_cache_min_length": 0,
- "channel_cache_expiry": 0,
- "max_num_pending": 0
}, - "rev_cache_size": 0,
- "offline": false,
- "unsupported": {
- "user_views": {
- "enabled": true
}, - "oidc_test_provider": {
- "enabled": true
}, - "api_endpoints": {
- "enable_couchbase_bucket_flush": true
}, - "warning_thresholds": {
- "xattr_size_bytes": 0,
- "channels_per_doc": 0,
- "access_and_role_grants_per_doc": 0,
- "channels_per_user": 0,
- "channel_name_size": 0
}, - "oidc_tls_skip_verify": true,
- "sgr_tls_skip_verify": true,
- "remote_config_tls_skip_verify": true,
- "guest_read_only": true,
- "force_api_forbidden_errors": true,
- "dcp_read_buffer": 0,
- "kv_buffer": 0
}, - "local_jwt": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "algorithms": [
- "string"
], - "keys": [
- {
- "kty": "RSA",
- "use": "sig",
- "alg": "string",
- "kid": "string",
- "crv": "P-256",
- "x": "string",
- "y": "string",
- "n": "string",
- "e": "string"
}
], - "disable_session": true,
- "user_prefix": "string",
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string"
}
}, - "oidc": {
- "providers": {
- "providername1": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}, - "providername2": {
- "issuer": "string",
- "register": true,
- "client_id": "string",
- "validation_key": "string",
- "callback_url": "string",
- "disable_session": true,
- "scope": [
- "string"
], - "include_access": true,
- "user_prefix": "string",
- "discovery_url": "string",
- "disable_cfg_validation": false,
- "disable_callback_state": false,
- "username_claim": "string",
- "roles_claim": "string",
- "channels_claim": "string",
- "allow_unsigned_provider_tokens": true,
- "IsDefault": true,
- "Name": "string",
- "InsecureSkipVerify": false
}
}, - "default_provider": "string"
}, - "old_rev_expiry_seconds": 300,
- "view_query_timeout_secs": 75,
- "local_doc_expiry_secs": 7776000,
- "enable_shared_bucket_access": true,
- "session_cookie_secure": true,
- "session_cookie_name": "string",
- "session_cookie_http_only": false,
- "allow_conflicts": false,
- "num_index_replicas": 1,
- "index": {
- "num_partitions": 1,
- "num_replicas": 1
}, - "use_views": false,
- "send_www_authenticate_header": true,
- "disable_password_auth": false,
- "bucket_op_timeout_ms": 0,
- "slow_query_warning_threshold": 500,
- "delta_sync": {
- "enabled": false,
- "rev_max_age_seconds": 86400
}, - "compact_interval_days": 1,
- "sgreplicate_enabled": true,
- "sgreplicate_websocket_heartbeat_secs": 300,
- "replications": {
- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string"
}
}, - "serve_insecure_attachment_types": false,
- "query_pagination_limit": 5000,
- "user_xattr_key": "string",
- "client_partition_window_secs": 2592000,
- "guest": {
- "name": "string",
- "password": "string",
- "admin_channels": [
- "string"
], - "email": "string",
- "disabled": false,
- "admin_roles": [
- "string"
], - "collection_access": {
- "scopename1": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}, - "scopename2": {
- "collectionname1": {
- "admin_channels": [
- "string"
]
}, - "collectionname2": {
- "admin_channels": [
- "string"
]
}
}
}
}, - "javascript_timeout_secs": 60,
- "suspendable": false,
- "changes_request_plus": false,
- "cors": {
- "origin": [
- "string"
], - "login_origin": [
- "string"
], - "headers": [
- "string"
]
}, - "logging": {
- "console": {
- "log_level": "debug",
- "log_keys": [
- "CRUD",
- "HTTP",
- "Query"
]
}, - "audit": {
- "enabled": false,
- "enabled_events": [
- [
- 1234,
- 5678
]
], - "disabled_users": [
- {
- "domain": "cbs",
- "name": "string"
}
], - "disabled_roles": [
- {
- "domain": "cbs",
- "name": "string"
}
]
}
}, - "disable_public_all_docs": false
}
{- "error": "string",
- "reason": "string"
}
{- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "assigned_node": "string",
- "target_state": "running",
- "cluster_uuid": "string"
}
}
{- "replication_id": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string",
- "assigned_node": "string",
- "target_state": "running",
- "cluster_uuid": "string"
}
}
If the replication_id
matches an existing replication then the existing configuration will be updated. Only the specified fields in the request will be used to update the existing configuration. Unspecified fields will remain untouched.
replication_id | string replication_id | string <= 160 This is the ID of the replication. When creating a new replication using a POST request, this will be set to a random UUID if not explicitly set. When the replication ID is specified in the URL, this must be set to the same replication ID if specifying it at all. remote | string This is the endpoint of the database for the remote Sync Gateway that is the subject of this replication's Typically this would include the URI, port, and database name. For example, How this remote is used depends on the
username | string Deprecated This has been deprecated in favour of This is the username to use to authenticate with the remote. -This can only be used for a pull replication. -password | string Deprecated This has been deprecated in favour of This is the password to use to authenticate with the remote. -This password will be redacted in the replication config. -This can only be used for a pull replication. +Typically this would include the URI, port, and database name. For example, remote_username | string The username to use to authenticate with the remote. -This can only be used for a pull replication. -remote_password | string The password to use to authenticate with the remote. -This password will be redacted in the replication config. -This can only be used for a pull replication. -direction | required string Enum: "push" "pull" "pushAndPull" remote_password | string The password to use to authenticate with the remote. This password will be redacted in the replication config. +direction | required string
This specifies which direction the replication will be replicating with the The directions are: -
Replications created prior to Sync Gateway 2.8 derive their conflict_resolution_type | string Default: "default" Enum: "default" "remoteWins" "localWins" "custom" conflict_resolution_type | string Default: "default"
This defines what conflict resolution policy Sync Gateway should use to apply when resolving conflicting revisions. +Changing this is an Enterprise Edition only feature. +custom_conflict_resolver | string Default: "" "custom_conflict_resolver":\`
- function(conflict) {
- console.log("Doc ID: "+conflict.LocalDocument._id);
- console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument));
- return conflict.RemoteDocument;
- }
-\`
+
Using complex This is an Enterprise Edition only feature. @@ -3523,14 +3471,10 @@ <p>If false, documents will not be replicated and not be purged when the user loses access.</p> " class="sc-faJlkc sc-fdduAw kOqeZB fOLHUk">Specifies whether to purge a document if the remote user loses access to all of the channels on the document when attempting to pull it from the remote. If false, documents will not be replicated and not be purged when the user loses access. -enable_delta_sync | boolean Default: false This will turn on delta- sync for the replication. This works in conjunction with the database level setting If set to true, delta-sync will be used as long as both databases involved in the replication have delta-sync enabled. If a database does not have delta-sync enabled, then the replication will run without delta-sync. -Replications created prior to Sync Gateway 2.8 must have delta-sync disabled. -Enabling this is an Enterprise Edition only feature. +enable_delta_sync | boolean Default: false This will turn on delta-sync for the replication. In order to enable delta-sync for a replication, the database level setting Using delta-sync is an Enterprise Edition only feature. max_backoff_time | integer Default: 5 initial_state | string Default: "running" Enum: "running" "stopped" initial_state | string Default: "running"
This is what state to start the replication in when creating a new replication. @@ -3549,24 +3497,24 @@ <p>If false, all changes will be synced until they have been processed. The replication will then cease and not process any future changes (unless started again by the user). This is known as a one-shot replication.</p> " class="sc-faJlkc sc-fdduAw kOqeZB fOLHUk">If true, changes will be immediately synced when they happen. This is known as a continuous replication. If false, all changes will be synced until they have been processed. The replication will then cease and not process any future changes (unless started again by the user). This is known as a one-shot replication. -filter | string Value: "sync_gateway/bychannel" This defines whether to filter documents by their channels or not. -If set to This only can be used with pull replications. +filter | string
This defines whether to filter documents. query_params | Array of strings This is a set of key/value pairs used in the query string of the replication. If
adhoc | boolean Default: false Limits the set of collections replicated to those listed in this array. The replication will use all collections defined on the database if this list is empty. -collections_remote | Array of strings Default: [] collections_remote | Array of strings or null Default: [] Remaps the local collection name to the one specified in this array when replicating with the remote. If only a subset of collections need remapping, elements in this array can be specified as The same index is used for both username | string Deprecated This has been deprecated in favour of This is the username to use to authenticate with the remote. +password | string Deprecated This has been deprecated in favour of This is the password to use to authenticate with the remote. This password will be redacted in the replication config. |
{- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
]
}
{- "error": "string",
- "reason": "string"
}
{- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string"
}
{- "error": "string",
- "reason": "string"
}
db required | string Example: db1 The name of the database to run the operation against. - | ||
replicationid required | string replicationid | required string [ 1 .. 160 ] What replication to target based on its replication ID. |
{- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "assigned_node": "string",
- "target_state": "running",
- "cluster_uuid": "string"
}
{- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string",
- "assigned_node": "string",
- "target_state": "running",
- "cluster_uuid": "string"
}
db required | string Example: db1 The name of the database to run the operation against. - | ||
replicationid required | string replicationid | required string [ 1 .. 160 ] What replication to target based on its replication ID. |
If the replication_id
matches an existing replication then the existing configuration will be updated. Only the specified fields in the request will be used to update the existing configuration. Unspecified fields will remain untouched.
replication_id | string replication_id | string <= 160 This is the ID of the replication. When creating a new replication using a POST request, this will be set to a random UUID if not explicitly set. When the replication ID is specified in the URL, this must be set to the same replication ID if specifying it at all. remote | string This is the endpoint of the database for the remote Sync Gateway that is the subject of this replication's Typically this would include the URI, port, and database name. For example, How this remote is used depends on the
username | string Deprecated This has been deprecated in favour of This is the username to use to authenticate with the remote. -This can only be used for a pull replication. -password | string Deprecated This has been deprecated in favour of This is the password to use to authenticate with the remote. -This password will be redacted in the replication config. -This can only be used for a pull replication. +Typically this would include the URI, port, and database name. For example, remote_username | string The username to use to authenticate with the remote. -This can only be used for a pull replication. -remote_password | string The password to use to authenticate with the remote. -This password will be redacted in the replication config. -This can only be used for a pull replication. -direction | required string Enum: "push" "pull" "pushAndPull" remote_password | string The password to use to authenticate with the remote. This password will be redacted in the replication config. +direction | required string
This specifies which direction the replication will be replicating with the The directions are: -
Replications created prior to Sync Gateway 2.8 derive their conflict_resolution_type | string Default: "default" Enum: "default" "remoteWins" "localWins" "custom" conflict_resolution_type | string Default: "default"
This defines what conflict resolution policy Sync Gateway should use to apply when resolving conflicting revisions. +Changing this is an Enterprise Edition only feature. +custom_conflict_resolver | string Default: "" "custom_conflict_resolver":\`
- function(conflict) {
- console.log("Doc ID: "+conflict.LocalDocument._id);
- console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument));
- return conflict.RemoteDocument;
- }
-\`
+
Using complex This is an Enterprise Edition only feature. @@ -3773,14 +3677,10 @@ <p>If false, documents will not be replicated and not be purged when the user loses access.</p> " class="sc-faJlkc sc-fdduAw kOqeZB fOLHUk">Specifies whether to purge a document if the remote user loses access to all of the channels on the document when attempting to pull it from the remote. If false, documents will not be replicated and not be purged when the user loses access. -enable_delta_sync | boolean Default: false This will turn on delta- sync for the replication. This works in conjunction with the database level setting If set to true, delta-sync will be used as long as both databases involved in the replication have delta-sync enabled. If a database does not have delta-sync enabled, then the replication will run without delta-sync. -Replications created prior to Sync Gateway 2.8 must have delta-sync disabled. -Enabling this is an Enterprise Edition only feature. +enable_delta_sync | boolean Default: false This will turn on delta-sync for the replication. In order to enable delta-sync for a replication, the database level setting Using delta-sync is an Enterprise Edition only feature. max_backoff_time | integer Default: 5 initial_state | string Default: "running" Enum: "running" "stopped" initial_state | string Default: "running"
This is what state to start the replication in when creating a new replication. @@ -3799,24 +3703,24 @@ <p>If false, all changes will be synced until they have been processed. The replication will then cease and not process any future changes (unless started again by the user). This is known as a one-shot replication.</p> " class="sc-faJlkc sc-fdduAw kOqeZB fOLHUk">If true, changes will be immediately synced when they happen. This is known as a continuous replication. If false, all changes will be synced until they have been processed. The replication will then cease and not process any future changes (unless started again by the user). This is known as a one-shot replication. -filter | string Value: "sync_gateway/bychannel" This defines whether to filter documents by their channels or not. -If set to This only can be used with pull replications. +filter | string
This defines whether to filter documents. query_params | Array of strings This is a set of key/value pairs used in the query string of the replication. If
adhoc | boolean Default: false Limits the set of collections replicated to those listed in this array. The replication will use all collections defined on the database if this list is empty. -collections_remote | Array of strings Default: [] collections_remote | Array of strings or null Default: [] Remaps the local collection name to the one specified in this array when replicating with the remote. If only a subset of collections need remapping, elements in this array can be specified as The same index is used for both username | string Deprecated This has been deprecated in favour of This is the username to use to authenticate with the remote. +password | string Deprecated This has been deprecated in favour of This is the password to use to authenticate with the remote. This password will be redacted in the replication config. |
{- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
]
}
{- "error": "string",
- "reason": "string"
}
{- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string"
}
{- "error": "string",
- "reason": "string"
}
db required | string Example: db1 The name of the database to run the operation against. - | ||
replicationid required | string replicationid | required string [ 1 .. 160 ] What replication to target based on its replication ID. |
db required | string Example: db1 The name of the database to run the operation against. - | ||
replicationid required | string replicationid | required string [ 1 .. 160 ] What replication to target based on its replication ID. |
[- {
- "replication_id": "string",
- "config": {
- "replication_id": "string",
- "remote": "string",
- "username": "string",
- "password": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "none",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
]
}, - "status": "stopped",
- "error_message": "string",
- "docs_read": 0,
- "docs_checked_pull": 0,
- "docs_purged": 0,
- "rejected_by_local": 0,
- "last_seq_pull": "string",
- "deltas_recv": 0,
- "deltas_requested": 0,
- "docs_written": 0,
- "docs_checked_push": 0,
- "docs_write_failures": 0,
- "docs_write_conflicts": 0,
- "rejected_by_remote": 0,
- "last_seq_push": "string",
- "deltas_sent": 0
}
]
[- {
- "replication_id": "string",
- "config": {
- "replication_id": "string",
- "remote": "string",
- "remote_username": "string",
- "remote_password": "string",
- "direction": "push",
- "conflict_resolution_type": "default",
- "custom_conflict_resolver": "",
- "purge_on_removal": false,
- "enable_delta_sync": false,
- "max_backoff_time": 5,
- "initial_state": "running",
- "continuous": false,
- "filter": "sync_gateway/bychannel",
- "query_params": [
- "string"
], - "adhoc": false,
- "batch_size": 200,
- "run_as": "string",
- "collections_enabled": false,
- "collections_local": [
- "scope1.collection1",
- "scope1.collection3",
- "scope1.collection6"
], - "collections_remote": [
- "scope1.collectionA",
- null,
- "scope1.collectionF"
], - "username": "string",
- "password": "string"
}, - "status": "running",
- "error_message": "string",
- "docs_read": 0,
- "docs_checked_pull": 0,
- "docs_purged": 0,
- "rejected_by_local": 0,
- "last_seq_pull": "string",
- "deltas_recv": 0,
- "deltas_requested": 0,
- "docs_written": 0,
- "docs_checked_push": 0,
- "doc_write_failures": 0,
- "doc_write_conflicts": 0,
- "rejected_by_remote": 0,
- "last_seq_push": "string",
- "deltas_sent": 0
}
]
db required | string Example: db1 The name of the database to run the operation against. - | ||
replicationid required | string replicationid | required string [ 1 .. 160 ] What replication to target based on its replication ID. |