diff --git a/build.gradle b/build.gradle index c90f536b..6dbaeb88 100644 --- a/build.gradle +++ b/build.gradle @@ -29,6 +29,7 @@ defaultTasks 'admin:openApiGenerate', 'eventing:openApiGenerate', 'functions:openApiGenerate', 'indexes:openApiGenerate', + 'index-settings:openApiGenerate', 'search-index:openApiGenerate', 'search-nodes:openApiGenerate', 'search-advanced:openApiGenerate', diff --git a/docs/modules/analytics-rest-links/attachments/analytics-links.yaml b/docs/modules/analytics-rest-links/attachments/analytics-links.yaml index d0579f3f..1c641b68 100644 --- a/docs/modules/analytics-rest-links/attachments/analytics-links.yaml +++ b/docs/modules/analytics-rest-links/attachments/analytics-links.yaml @@ -826,7 +826,7 @@ components: ResponseAll: title: Links - description: These properties are common to all links. + description: Properties common to all links. type: object discriminator: propertyName: type @@ -879,6 +879,7 @@ components: ResponseCouchbaseSpecific: title: Couchbase Specific Response + description: Properties specific to remote Couchbase links. type: object required: - activeHostname @@ -1051,6 +1052,7 @@ components: ResponseS3Specific: title: S3 Specific Response + description: Properties specific to S3 links. type: object required: - accessKeyId @@ -1101,6 +1103,7 @@ components: ResponseAzureBlobSpecific: title: Azure Blob Specific Response + description: Properties specific to Azure Blob links. type: object required: - endpoint @@ -1205,6 +1208,7 @@ components: ResponseGCSSpecific: title: GCS Specific Response + description: Properties specific to Google Cloud Storage links. type: object required: - applicationDefaultCredentials diff --git a/docs/modules/analytics-rest-links/pages/index.adoc b/docs/modules/analytics-rest-links/pages/index.adoc index d5929b2d..ffbc8a7d 100644 --- a/docs/modules/analytics-rest-links/pages/index.adoc +++ b/docs/modules/analytics-rest-links/pages/index.adoc @@ -4079,7 +4079,7 @@ endif::collapse-models[] ifdef::model-descriptions[] //tag::desc-ResponseAll[] -These properties are common to all links. +Properties common to all links. //end::desc-ResponseAll[] endif::model-descriptions[] @@ -4199,15 +4199,48 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -All of the following: +//tag::ResponseAzureBlob[] -* xref:ResponseAll[] +ifdef::model-descriptions[] +//tag::desc-ResponseAzureBlob[] +These properties are returned for Azure Blob links. +//end::desc-ResponseAzureBlob[] +endif::model-descriptions[] +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ -* xref:ResponseAzureBlobSpecific[] +[markdown] +-- +include::index.adoc[tag=desc-ResponseAll, opts=optional] +-- +[%hardbreaks] +{blank} +a¦ xref:ResponseAll[] +a¦ _and_ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-ResponseAzureBlobSpecific, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:ResponseAzureBlobSpecific[] + + +|=== + +//end::ResponseAzureBlob[] + // markup not found, no include::{specDir}definitions/ResponseAzureBlob/definition-end.adoc[opts=optional] @@ -4238,6 +4271,11 @@ endif::collapse-models[] //tag::ResponseAzureBlobSpecific[] +ifdef::model-descriptions[] +//tag::desc-ResponseAzureBlobSpecific[] +Properties specific to Azure Blob links. +//end::desc-ResponseAzureBlobSpecific[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== @@ -4446,15 +4484,48 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -All of the following: +//tag::ResponseCouchbase[] -* xref:ResponseAll[] +ifdef::model-descriptions[] +//tag::desc-ResponseCouchbase[] +These properties are returned for remote Couchbase links. +//end::desc-ResponseCouchbase[] +endif::model-descriptions[] +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ -* xref:ResponseCouchbaseSpecific[] +[markdown] +-- +include::index.adoc[tag=desc-ResponseAll, opts=optional] +-- +[%hardbreaks] +{blank} +a¦ xref:ResponseAll[] +a¦ _and_ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-ResponseCouchbaseSpecific, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:ResponseCouchbaseSpecific[] + + +|=== + +//end::ResponseCouchbase[] + // markup not found, no include::{specDir}definitions/ResponseCouchbase/definition-end.adoc[opts=optional] @@ -4485,6 +4556,11 @@ endif::collapse-models[] //tag::ResponseCouchbaseSpecific[] +ifdef::model-descriptions[] +//tag::desc-ResponseCouchbaseSpecific[] +Properties specific to remote Couchbase links. +//end::desc-ResponseCouchbaseSpecific[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== @@ -4952,15 +5028,48 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -All of the following: +//tag::ResponseGCS[] -* xref:ResponseAll[] +ifdef::model-descriptions[] +//tag::desc-ResponseGCS[] +These properties are returned for Google Cloud Storage links. +//end::desc-ResponseGCS[] +endif::model-descriptions[] +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ -* xref:ResponseGCSSpecific[] +[markdown] +-- +include::index.adoc[tag=desc-ResponseAll, opts=optional] +-- +[%hardbreaks] +{blank} +a¦ xref:ResponseAll[] +a¦ _and_ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-ResponseGCSSpecific, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:ResponseGCSSpecific[] + + +|=== + +//end::ResponseGCS[] + // markup not found, no include::{specDir}definitions/ResponseGCS/definition-end.adoc[opts=optional] @@ -4991,6 +5100,11 @@ endif::collapse-models[] //tag::ResponseGCSSpecific[] +ifdef::model-descriptions[] +//tag::desc-ResponseGCSSpecific[] +Properties specific to Google Cloud Storage links. +//end::desc-ResponseGCSSpecific[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== @@ -5082,15 +5196,48 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -All of the following: +//tag::ResponseS3[] -* xref:ResponseAll[] +ifdef::model-descriptions[] +//tag::desc-ResponseS3[] +These properties are returned for S3 links. +//end::desc-ResponseS3[] +endif::model-descriptions[] +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ -* xref:ResponseS3Specific[] +[markdown] +-- +include::index.adoc[tag=desc-ResponseAll, opts=optional] +-- +[%hardbreaks] +{blank} +a¦ xref:ResponseAll[] +a¦ _and_ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-ResponseS3Specific, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:ResponseS3Specific[] + + +|=== + +//end::ResponseS3[] + // markup not found, no include::{specDir}definitions/ResponseS3/definition-end.adoc[opts=optional] @@ -5121,6 +5268,11 @@ endif::collapse-models[] //tag::ResponseS3Specific[] +ifdef::model-descriptions[] +//tag::desc-ResponseS3Specific[] +Properties specific to S3 links. +//end::desc-ResponseS3Specific[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== diff --git a/docs/modules/analytics-rest-service/attachments/analytics-service.yaml b/docs/modules/analytics-rest-service/attachments/analytics-service.yaml index bee36e38..bd9c253e 100644 --- a/docs/modules/analytics-rest-service/attachments/analytics-service.yaml +++ b/docs/modules/analytics-rest-service/attachments/analytics-service.yaml @@ -132,6 +132,7 @@ components: # Use YAML anchors for properties which are also available as query parameters ParametersCommon: title: Common Parameters + description: Parameters common with the Query Service. type: object required: - statement @@ -210,6 +211,7 @@ components: # Use YAML anchors for properties which are also available as query parameters ParametersLocal: title: Analytics Parameters + description: Parameters specific to the Analytics Service. type: object properties: plan-format: @@ -263,6 +265,7 @@ components: # For the Query Responses page ResponsesCommon: title: Common Responses + description: Responses common with the Query Service. type: object properties: requestID: @@ -328,6 +331,7 @@ components: # For the Query Responses page ResponsesLocal: title: Analytics Responses + description: Responses specific to the Analytics Service. type: object properties: plans: diff --git a/docs/modules/analytics-rest-service/pages/index.adoc b/docs/modules/analytics-rest-service/pages/index.adoc index 8f6de50b..dff4fa8a 100644 --- a/docs/modules/analytics-rest-service/pages/index.adoc +++ b/docs/modules/analytics-rest-service/pages/index.adoc @@ -1026,15 +1026,43 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -All of the following: +//tag::Parameters[] -* xref:ParametersCommon[] +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema -* xref:ParametersLocal[] +a¦ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-ParametersCommon, opts=optional] +-- +[%hardbreaks] +{blank} +a¦ xref:ParametersCommon[] +a¦ _and_ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-ParametersLocal, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:ParametersLocal[] + + +|=== + +//end::Parameters[] + // markup not found, no include::{specDir}definitions/Parameters/definition-end.adoc[opts=optional] @@ -1065,6 +1093,11 @@ endif::collapse-models[] //tag::ParametersCommon[] +ifdef::model-descriptions[] +//tag::desc-ParametersCommon[] +Parameters common with the Query Service. +//end::desc-ParametersCommon[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== @@ -1289,6 +1322,11 @@ endif::collapse-models[] //tag::ParametersLocal[] +ifdef::model-descriptions[] +//tag::desc-ParametersLocal[] +Parameters specific to the Analytics Service. +//end::desc-ParametersLocal[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== @@ -1441,15 +1479,43 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -All of the following: +//tag::Responses[] -* xref:ResponsesCommon[] +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema -* xref:ResponsesLocal[] +a¦ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-ResponsesCommon, opts=optional] +-- +[%hardbreaks] +{blank} +a¦ xref:ResponsesCommon[] +a¦ _and_ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-ResponsesLocal, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:ResponsesLocal[] + + +|=== + +//end::Responses[] + // markup not found, no include::{specDir}definitions/Responses/definition-end.adoc[opts=optional] @@ -1480,6 +1546,11 @@ endif::collapse-models[] //tag::ResponsesCommon[] +ifdef::model-descriptions[] +//tag::desc-ResponsesCommon[] +Responses common with the Query Service. +//end::desc-ResponsesCommon[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== @@ -1945,6 +2016,11 @@ endif::collapse-models[] //tag::ResponsesLocal[] +ifdef::model-descriptions[] +//tag::desc-ResponsesLocal[] +Responses specific to the Analytics Service. +//end::desc-ResponsesLocal[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== diff --git a/docs/modules/eventing-rest-api/attachments/overlay.json b/docs/modules/eventing-rest-api/attachments/_overlay.json similarity index 91% rename from docs/modules/eventing-rest-api/attachments/overlay.json rename to docs/modules/eventing-rest-api/attachments/_overlay.json index 0882e766..9075e57d 100644 --- a/docs/modules/eventing-rest-api/attachments/overlay.json +++ b/docs/modules/eventing-rest-api/attachments/_overlay.json @@ -5,6 +5,12 @@ "version": 1.0 }, "actions": [ + { + "target": "components.schemas.handler_schema", + "update": { + "description": "An object which defines a function." + } + }, { "target": "components.schemas.settings_schema.properties.allow_sync_documents", "update": { diff --git a/docs/modules/eventing-rest-api/eventing.gradle b/docs/modules/eventing-rest-api/eventing.gradle index f20450b1..1fd57e73 100644 --- a/docs/modules/eventing-rest-api/eventing.gradle +++ b/docs/modules/eventing-rest-api/eventing.gradle @@ -4,7 +4,7 @@ plugins { jayOverlay { targetFile.set("${projectDir}/build/bundle/eventing.yaml") - overlayFile.set("${projectDir}/attachments/overlay.json") + overlayFile.set("${projectDir}/attachments/_overlay.json") outputDir.set("${projectDir}/build/overlay") } diff --git a/docs/modules/eventing-rest-api/pages/index.adoc b/docs/modules/eventing-rest-api/pages/index.adoc index e400f11d..4ae39ef0 100644 --- a/docs/modules/eventing-rest-api/pages/index.adoc +++ b/docs/modules/eventing-rest-api/pages/index.adoc @@ -7003,14 +7003,44 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -One of the following: +//tag::AddFunction[] -* xref:handler_schema[] +[cols="25,55,20",separator=¦] +|=== +¦ One{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-handler_schema, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:handler_schema[] -* xref:handler_schema[] + +a¦ _or_ +a¦ + +[markdown] +-- +An array containing a single function definition object. +-- + +[%hardbreaks] +*Minimum items:* `1` +*Maximum items:* `1` +{blank} +a¦ xref:handler_schema[] array +|=== + +//end::AddFunction[] // markup not found, no include::{specDir}definitions/AddFunction/definition-end.adoc[opts=optional] @@ -7040,14 +7070,43 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -One of the following: +//tag::AddFunctions[] + + +[cols="25,55,20",separator=¦] +|=== +¦ One{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-handler_schema, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:handler_schema[] + -* xref:handler_schema[] +a¦ _or_ +a¦ +[markdown] +-- +An array containing one or more function definition objects. +-- -* xref:handler_schema[] +[%hardbreaks] +*Minimum items:* `1` +{blank} +a¦ xref:handler_schema[] array +|=== + +//end::AddFunctions[] // markup not found, no include::{specDir}definitions/AddFunctions/definition-end.adoc[opts=optional] @@ -7622,6 +7681,11 @@ endif::collapse-models[] //tag::handler_schema[] +ifdef::model-descriptions[] +//tag::desc-handler_schema[] +An object which defines a function. +//end::desc-handler_schema[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== diff --git a/docs/modules/fts-rest-stats/pages/index.adoc b/docs/modules/fts-rest-stats/pages/index.adoc index ca7d6e27..88011e59 100644 --- a/docs/modules/fts-rest-stats/pages/index.adoc +++ b/docs/modules/fts-rest-stats/pages/index.adoc @@ -563,14 +563,42 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -All of the following: +//tag::allStats[] -* xref:clusterStats[] +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-clusterStats, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:clusterStats[] -* xref:indexStats[] +a¦ _and_ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-indexStats, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:indexStats[] + + +|=== +//end::allStats[] // markup not found, no include::{specDir}definitions/allStats/definition-end.adoc[opts=optional] diff --git a/docs/modules/index-rest-settings/attachments/index-settings.yaml b/docs/modules/index-rest-settings/attachments/index-settings.yaml new file mode 100644 index 00000000..ea66cfa0 --- /dev/null +++ b/docs/modules/index-rest-settings/attachments/index-settings.yaml @@ -0,0 +1,722 @@ +openapi: 3.0.3 +info: + title: Index Settings REST API + version: '8.0' + description: |- + The Index Settings REST API is provided by the Index Service. + This API enables you to retrieve or set Index Service settings. + + Changes automatically propagate to all Index Service nodes, and will be remembered across node and cluster restarts. + + Unless otherwise noted, you should only change the Index Service settings when advised to do so by Couchbase Support. + +servers: + - url: '{scheme}://{host}:{port}' + description: The URL scheme, host, and port are as follows. + variables: + scheme: + default: http + description: |- + The URL scheme. + Use `https` for secure access. + enum: + - http + - https + host: + default: localhost + description: The host name or IP address of a node running the Index Service. + port: + default: "9102" + description: |- + The Index Service REST port. + Use `19102` for secure access. + enum: + - "9102" + - "19102" + +paths: + /settings: + get: + operationId: get_settings + summary: Retrieve Index Settings + description: Returns Index Service settings. + security: + - Default: [] + responses: + "200": + description: |- + Success. + Returns an object giving Index Service settings. + content: + application/json: + schema: + $ref: "#/components/schemas/Settings" + example: + $ref: "../examples/get_settings.json" + "404": + $ref: '#/components/responses/NotFound' + "401": + $ref: '#/components/responses/Unauthorized' + post: + operationId: post_settings + summary: Update Index Settings + description: Updates Index Service settings. + security: + - Default: [] + requestBody: + required: true + description: |- + An object specifying Index Service settings. + You only need to specify the settings you want to change; settings which are not specified are left unchanged. + content: + application/json: + schema: + $ref: "#/components/schemas/Settings" + responses: + "200": + description: |- + Success. + Returns `OK` and no object. + "401": + $ref: '#/components/responses/Unauthorized' + "404": + $ref: '#/components/responses/NotFound' + +components: + schemas: + Settings: + type: object + properties: + indexer.rebalance.transferBatchSize: + type: integer + format: int32 + x-has-default: true + default: 3 + x-has-example: true + example: 7 + writeOnly: true + description: |- + Sets the batch size Couchbase Server uses when rebuilding index files during rebalance. + This setting has no effect on file-based rebalance. + + Couchbase Server breaks the rebuilding of indexes during a rebalance into batches to limit the performance impact. + This setting controls the maximum number of indexes that a rebalance rebuilds concurrently. + You must have the Full Admin or the Cluster Admin role to set this value. + + For an overview of rebalance as it affects the Index Service, including an overview of smart batching, see [Rebalance](/server/8.0/learn/clusters-and-availability/rebalance.html#rebalancing-the-index-service). + indexer.settings.allow_large_keys: + type: boolean + x-has-default: true + default: true + description: |- + Whether the size of index keys is unlimited. + + * If true, index keys may have unlimited size. + * If false, the maximum size for index keys and array index keys is specified by `indexer.settings.max_seckey_size` and `indexer.settings.max_array_seckey_size`. + + In Couchbase Server 6.5 and later, the Index Service does not need to restart when you update this setting. + indexer.settings.bufferPoolBlockSize: + type: integer + format: int32 + x-has-default: true + default: 16384 + description: Buffer pool block size. + indexer.settings.build.batch_size: + type: integer + format: int32 + x-has-default: true + default: 5 + description: Build batch size. + indexer.settings.compaction.abort_exceed_interval: + type: boolean + x-has-default: true + default: false + description: Whether to abort index compaction if it is still running after the end of the index compaction interval. + indexer.settings.compaction.check_period: + type: integer + format: int32 + x-has-default: true + default: 30 + description: An interval, specifying how frequently the Index Service checks whether the compaction threshold has been reached (seconds). + indexer.settings.compaction.compaction_mode: + type: string + x-has-default: true + default: circular + description: The compaction mode for indexes. + enum: + - standard + - circular + indexer.settings.compaction.days_of_week: + type: string + x-has-example: true + example: Saturday,Sunday + x-has-default: true + default: Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday + description: |- + The days of the week on which circular compaction is to run, if specified. + Individual values must be day-names, each specified with an initial capital, and otherwise lower-case. + Multiple values must be separated by a single comma, with no spaces. + indexer.settings.compaction.interval: + type: string + x-has-example: true + example: 01:00,05:59 + x-has-default: true + default: 00:00,00:00 + description: |- + A string in the form `fromHour:fromMinute,toHour:toMinute`, specifying the interval during which index compaction can run. + + * `fromHour` — + An integer between 0 and 23 inclusive, specifying the starting hour of the interval. + * `fromMinute` — + An integer between 0 and 59 inclusive, specifying the starting minute of the interval, within the specified starting hour. + * `toHour` — + An integer between 0 and 23 inclusive, specifying the concluding hour of the interval. + * `toMinute` — + An integer between 0 and 59 inclusive, specifying the concluding minute of the interval, within the specified concluding hour. + + The default value means any time. + indexer.settings.compaction.min_frag: + type: integer + format: int32 + x-has-default: true + default: 30 + minimum: 5 + description: The minimum fragmentation threshold to trigger compaction (percentage). + indexer.settings.compaction.min_size: + type: integer + format: int32 + x-has-default: true + default: 524288000 + description: Compaction minimum file size. + indexer.settings.compaction.plasma.manual: + type: boolean + x-has-default: true + default: false + description: For standard indexes using Plasma, whether compaction should be triggered manually. + indexer.settings.compaction.plasma.optional.decrement: + type: integer + format: int32 + x-has-default: true + default: 5 + description: For standard indexes using Plasma, the optional decrement. + indexer.settings.compaction.plasma.optional.min_frag: + type: integer + format: int32 + x-has-default: true + default: 20 + description: For standard indexes using Plasma, the minimum fragmentation threshold to trigger compaction (percentage). + indexer.settings.compaction.plasma.optional.quota: + type: integer + format: int32 + x-has-default: true + default: 25 + description: For standard indexes using Plasma, the optional quota. + indexer.settings.corrupt_index_num_backups: + type: integer + format: int32 + x-has-default: true + default: 1 + description: Corrupt index number of backups. + indexer.settings.cpuProfDir: + type: string + description: The name of the directory where local CPU usage profiling information is captured. + indexer.settings.cpuProfile: + type: boolean + x-has-default: true + default: false + description: Whether the Index Service should capture local CPU usage profiling information. + indexer.settings.defer_build: + type: boolean + x-has-default: true + default: false + description: |- + The default setting for the `defer_build` option for index creation. + + * If this setting is true, and you create an index without specifying `defer_build`, the index is not built immediately. + * If this setting false, and you create an index without specifying `defer_build`, the index is built immediately. + + You can override this setting by specifying the `defer_build` option when you create an index. + indexer.settings.eTagPeriod: + type: integer + format: int32 + x-has-default: true + default: 240 + description: The ETag (entity tag) period. + indexer.settings.enable_corrupt_index_backup: + type: boolean + x-has-default: true + default: false + description: Whether corrupt index backup is enabled. + indexer.settings.enable_page_bloom_filter: + type: boolean + x-has-default: true + default: true + description: |- + Whether Bloom filters are enabled for memory management. + + For details, see [Per Page Bloom Filters](/server/8.0/learn/services-and-indexes/indexes/storage-modes.html#per-page-bloom-filters). + indexer.settings.enable_shard_affinity: + type: boolean + x-has-default: true + default: false + description: |- + Selects the index rebalance method. + See [Index Rebalance Methods](/server/8.0/learn/clusters-and-availability/rebalance.html#index-rebalance-methods). + + * If false (the default), Index Service nodes rebuild indexes that are newly assigned to them during a rebalance. + + * If true, Couchbase Server moves a reassigned index's files between Index Service nodes. + + If set to true, when you create an index, you can use the `WITH` clause to specify which node should contain the index. + However, when you alter an index, you cannot use the `WITH` clause to specify which node should contain the index. + indexer.settings.fast_flush_mode: + type: boolean + x-has-default: true + default: true + description: Whether fast flush mode is enabled. + indexer.settings.gc_percent: + type: integer + format: int32 + x-has-default: true + default: 100 + description: Garbage collection percentage. + indexer.settings.inmemory_snapshot.fdb.interval: + type: integer + format: int32 + x-has-default: true + default: 200 + minimum: 1 + exclusiveMinimum: true + description: |- + For standard indexes using ForestDB, the in-memory snapshotting interval (ms). + This determines the earliest possibility of a scan seeing a given KV mutation. + indexer.settings.inmemory_snapshot.interval: + type: integer + format: int32 + x-has-default: true + default: 200 + minimum: 1 + exclusiveMinimum: true + description: |- + The in-memory snapshotting interval (ms). + This determines the earliest possibility of a scan seeing a given KV mutation. + indexer.settings.inmemory_snapshot.moi.interval: + type: integer + format: int32 + minimum: 1 + exclusiveMinimum: true + x-has-default: true + default: 10 + description: |- + For memory-optimized indexes, the in-memory snapshotting interval (ms). + This determines the earliest possibility of a scan seeing a given KV mutation. + indexer.settings.largeSnapshotThreshold: + type: integer + format: int32 + x-has-default: true + default: 200 + description: The large snapshot threshold. + indexer.settings.log_level: + type: string + x-has-default: true + default: info + description: Indexer logging level. + enum: + - silent + - fatal + - error + - warn + - info + - verbose + - timing + - debug + - trace + indexer.settings.maxNumPartitions: + type: integer + format: int32 + x-has-default: true + default: 64 + description: Maximum number of partitions. + indexer.settings.maxVbQueueLength: + type: integer + format: int32 + x-has-default: true + default: 0 + description: Maximum vBucket queue length. + indexer.settings.max_array_seckey_size: + type: integer + format: int32 + x-has-default: true + default: 10240 + description: |- + If `indexer.settings.allow_large_keys` is false, this setting specifies the maximum size for array index keys. + + In Couchbase Server 6.5 and later, the Index Service does not need to restart when you update this setting. + indexer.settings.max_cpu_percent: + type: integer + format: int32 + x-has-default: true + default: 0 + description: |- + The CPU capacity that the Index Service should use (percentage). + If set to `0`, the indexer will use all CPUs. + indexer.settings.max_seckey_size: + type: integer + format: int32 + x-has-default: true + default: 4608 + description: |- + If `indexer.settings.allow_large_keys` is false, this setting specifies the maximum size for index keys. + + In Couchbase Server 6.5 and later, the Index Service does not need to restart when you update this setting. + indexer.settings.max_writer_lock_prob: + type: integer + format: int32 + x-has-default: true + default: 20 + description: Maximum writer lock prob. + indexer.settings.memProfDir: + type: string + description: The name of the directory where local memory usage profiling information is captured. + indexer.settings.memProfile: + type: boolean + x-has-default: true + default: false + description: Whether the Index Service should capture local memory usage profiling information. + indexer.settings.memory_quota: + type: integer + format: int32 + x-has-default: true + default: 536870912 + description: How much RAM is allocated to the Index Service for the current node. + indexer.settings.minVbQueueLength: + type: integer + format: int32 + x-has-default: true + default: 30 + description: Minimum vBucket queue length. + indexer.settings.moi.debug: + type: boolean + x-has-default: true + default: false + description: Debug memory-optimized index storage. + indexer.settings.moi.persistence_threads: + type: integer + format: int32 + x-has-default: true + default: 4 + description: For memory-optimized index storage, the number of persistence threads. + indexer.settings.moi.recovery.max_rollbacks: + type: integer + format: int32 + x-has-default: true + default: 2 + description: For memory-optimized index storage, the maximum number of committed rollback points. + indexer.settings.moi.recovery_threads: + type: integer + format: int32 + x-has-default: true + default: 8 + description: For memory-optimized index storage, the number of recovery threads. + indexer.settings.num_replica: + type: integer + format: int32 + x-has-default: true + default: 0 + x-has-example: true + example: 2 + description: The default number of index replicas to be created by the Index Service whenever `CREATE INDEX` is invoked. + indexer.settings.percentage_memory_quota: + type: integer + format: int32 + x-has-default: true + default: 0 + description: Percentage memory quota. + indexer.settings.persisted_snapshot.fdb.interval: + type: integer + format: int32 + x-has-default: true + default: 5000 + minimum: 100 + description: |- + For standard indexes using ForestDB, the persisted snapshotting interval (ms). + This must be a multiple of the in-memory snapshot interval. + indexer.settings.persisted_snapshot.interval: + type: integer + format: int32 + x-has-default: true + default: 5000 + minimum: 100 + description: |- + The persisted snapshotting interval (ms). + This must be a multiple of the in-memory snapshot interval. + indexer.settings.persisted_snapshot.moi.interval: + type: integer + format: int32 + x-has-default: true + default: 600000 + minimum: 100 + description: |- + For memory-optimized indexes, the persisted snapshotting interval (ms). + This must be a multiple of the in-memory snapshot interval. + indexer.settings.persisted_snapshot_init_build.fdb.interval: + type: integer + format: int32 + x-has-default: true + default: 5000 + description: For standard indexes using ForestDB, the persisted snapshotting interval for the initial build (ms). + indexer.settings.persisted_snapshot_init_build.interval: + type: integer + format: int32 + x-has-default: true + default: 5000 + description: The persisted snapshotting interval for the initial build (ms). + indexer.settings.persisted_snapshot_init_build.moi.interval: + type: integer + format: int32 + x-has-default: true + default: 600000 + description: For memory-optimized indexes, the persisted snapshotting interval for the initial build (ms). + indexer.settings.plasma.recovery.max_rollbacks: + type: integer + format: int32 + x-has-default: true + default: 2 + description: For standard indexes using Plasma, the maximum number of committed rollback points. + indexer.settings.rebalance.blob_storage_bucket: + type: string + x-has-default: true + default: "" + description: Rebalance blob storage bucket. + indexer.settings.rebalance.blob_storage_prefix: + type: string + x-has-default: true + default: "" + description: Rebalance blob storage prefix. + indexer.settings.rebalance.blob_storage_region: + type: string + x-has-default: true + default: "" + description: Rebalance blob storage region. + indexer.settings.rebalance.blob_storage_scheme: + type: string + x-has-default: true + default: "" + description: Rebalance blob storage scheme. + indexer.settings.rebalance.redistribute_indexes: + type: boolean + x-has-default: true + default: false + description: |- + Whether to redistribute indexes on rebalance. + + * When true, Couchbase Server redistributes indexes when rebalance occurs, in order to optimize performance. + + * When false (the default), such redistribution does not occur. + + For details, see [Rebalance](/server/8.0/learn/clusters-and-availability/rebalance.html#rebalancing-the-index-service). + indexer.settings.recovery.max_rollbacks: + type: integer + format: int32 + x-has-default: true + default: 2 + description: The maximum number of committed rollback points. + indexer.settings.scan_getseqnos_retries: + type: integer + format: int32 + x-has-default: true + default: 30 + description: Scan get sequence numbers retries. + indexer.settings.scan_timeout: + type: integer + format: int32 + x-has-default: true + default: 120000 + description: |- + The default timeout for the indexer, in milliseconds. + This is distinct from the Query Service timeout. + The Index Service has its own timeout because index scans consume resources such as memory and CPU while holding snapshots and performing range scan. + + An index scan may time out if the Index Service timeout is lower than the Query Service timeout. + indexer.settings.send_buffer_size: + type: integer + format: int32 + x-has-default: true + default: 1024 + description: Send buffer size. + indexer.settings.serverless.indexLimit: + type: integer + format: int32 + x-has-default: true + default: 201 + description: Serverless index limit. + indexer.settings.sliceBufSize: + type: integer + format: int32 + x-has-default: true + default: 1600 + description: Slice buffer size. + indexer.settings.smallSnapshotThreshold: + type: integer + format: int32 + x-has-default: true + default: 30 + description: Small snapshot threshold. + indexer.settings.snapshotListeners: + type: integer + format: int32 + x-has-default: true + default: 4 + description: Snapshot listeners. + indexer.settings.snapshotRequestWorkers: + type: integer + format: int32 + x-has-default: true + default: 4 + description: Snapshot request workers. + indexer.settings.statsLogDumpInterval: + type: integer + format: int32 + x-has-default: true + default: 60 + description: Statistics log dump interval. + indexer.settings.storage_mode: + $ref: "#/components/schemas/SettingsStorageMode" + indexer.settings.storage_mode.disable_upgrade: + type: boolean + x-has-default: true + default: false + description: Whether upgrade of the index storage mode is disabled. + indexer.settings.thresholds.mem_high: + type: integer + format: int32 + x-has-default: true + default: 70 + description: High memory threshold. + indexer.settings.thresholds.mem_low: + type: integer + format: int32 + x-has-default: true + default: 50 + description: Low memory threshold. + indexer.settings.thresholds.units_high: + type: integer + format: int32 + x-has-default: true + default: 60 + description: High units threshold. + indexer.settings.thresholds.units_low: + type: integer + format: int32 + x-has-default: true + default: 40 + description: Low units threshold. + indexer.settings.units_quota: + type: integer + format: int32 + x-has-default: true + default: 10000 + description: Units quota. + indexer.settings.wal_size: + type: integer + format: int32 + x-has-default: true + default: 4096 + description: Write-ahead log size. + projector.settings.log_level: + type: string + x-has-default: true + default: info + description: Projector logging level. + queryport.client.settings.backfillLimit: + type: integer + format: int32 + x-has-default: true + default: 5120 + description: |- + The maximum size of the backfill file (MB). + + * A value of `0` disables backfill. + * A value of `-1` means the size is unlimited. + + The maximum size is limited only by the available disk space. + queryport.client.settings.closeActiveConnections: + type: boolean + x-has-default: true + default: true + description: Whether to close active connections. + queryport.client.settings.minPoolSizeWM: + type: integer + format: int32 + x-has-default: true + default: 1000 + description: Minimum pool size. + queryport.client.settings.poolOverflow: + type: integer + format: int32 + x-has-default: true + default: 30 + description: Maximum number of connections in a pool. + queryport.client.settings.poolSize: + type: integer + format: int32 + x-has-default: true + default: 5000 + description: Number of simultaneous active connections in a pool. + queryport.client.settings.relConnBatchSize: + type: integer + format: int32 + x-has-default: true + default: 100 + description: Connection batch size. + SettingsStorageMode: + title: Storage Mode + description: The storage mode to be used for the Index Service on this node. + oneOf: + - $ref: "#/components/schemas/SettingsStorageModeEE" + - $ref: "#/components/schemas/SettingsStorageModeCE" + SettingsStorageModeEE: + title: Enterprise Edition + type: string + default: plasma + x-desc-edition: "{enterprise}" + description: |- + If you are using Enterprise Edition, the possible values are: + + * `plasma` (the default) — + Sets the index storage mode to use the Plasma storage engine, which can utilize both memory and persistent storage for index maintenance and index scans. + + * `memory_optimized` — + Sets the index storage mode to use memory optimized global secondary indexes, which can perform index maintenance and index scan faster at in-memory speeds. + + This setting can only be changed while there are no index nodes in the cluster. + To change from standard GSI to memory optimized GSI or vice versa, you need to remove all the Index Service nodes in the cluster. + enum: + - plasma + - memory_optimized + SettingsStorageModeCE: + title: Community Edition + type: string + default: forestdb + x-desc-edition: "{community}" + description: |- + If you are using Community Edition, the default (and only) value is `forestdb`. + enum: + - forestdb + + responses: + NotFound: + description: |- + Not found. + The URL may be specified incorrectly. + Unauthorized: + description: |- + Unauthorized. + Failure to authenticate. + + securitySchemes: + Default: + type: http + scheme: basic + description: |- + Users must have the Full Admin or Cluster Admin role, with Cluster Read and Bucket INDEX List privileges. diff --git a/docs/modules/index-rest-settings/examples/get_settings.json b/docs/modules/index-rest-settings/examples/get_settings.json new file mode 100644 index 00000000..0ddb0911 --- /dev/null +++ b/docs/modules/index-rest-settings/examples/get_settings.json @@ -0,0 +1,84 @@ +{ + "indexer.settings.allow_large_keys": true, + "indexer.settings.bufferPoolBlockSize": 16384, + "indexer.settings.build.batch_size": 5, + "indexer.settings.compaction.abort_exceed_interval": false, + "indexer.settings.compaction.check_period": 30, + "indexer.settings.compaction.compaction_mode": "circular", + "indexer.settings.compaction.days_of_week": "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday", + "indexer.settings.compaction.interval": "00:00,00:00", + "indexer.settings.compaction.min_frag": 30, + "indexer.settings.compaction.min_size": 524288000, + "indexer.settings.compaction.plasma.manual": false, + "indexer.settings.compaction.plasma.optional.decrement": 5, + "indexer.settings.compaction.plasma.optional.min_frag": 20, + "indexer.settings.compaction.plasma.optional.quota": 25, + "indexer.settings.corrupt_index_num_backups": 1, + "indexer.settings.cpuProfDir": "", + "indexer.settings.cpuProfile": false, + "indexer.settings.defer_build": false, + "indexer.settings.eTagPeriod": 240, + "indexer.settings.enable_corrupt_index_backup": false, + "indexer.settings.enable_page_bloom_filter": true, + "indexer.settings.enable_shard_affinity": false, + "indexer.settings.fast_flush_mode": true, + "indexer.settings.gc_percent": 100, + "indexer.settings.inmemory_snapshot.fdb.interval": 200, + "indexer.settings.inmemory_snapshot.interval": 200, + "indexer.settings.inmemory_snapshot.moi.interval": 10, + "indexer.settings.largeSnapshotThreshold": 200, + "indexer.settings.log_level": "info", + "indexer.settings.maxNumPartitions": 64, + "indexer.settings.maxVbQueueLength": 0, + "indexer.settings.max_array_seckey_size": 10240, + "indexer.settings.max_cpu_percent": 0, + "indexer.settings.max_seckey_size": 4608, + "indexer.settings.max_writer_lock_prob": 20, + "indexer.settings.memProfDir": "", + "indexer.settings.memProfile": false, + "indexer.settings.memory_quota": 536870912, + "indexer.settings.minVbQueueLength": 30, + "indexer.settings.moi.debug": false, + "indexer.settings.moi.persistence_threads": 4, + "indexer.settings.moi.recovery.max_rollbacks": 2, + "indexer.settings.moi.recovery_threads": 8, + "indexer.settings.num_replica": 0, + "indexer.settings.percentage_memory_quota": 0, + "indexer.settings.persisted_snapshot.fdb.interval": 5000, + "indexer.settings.persisted_snapshot.interval": 5000, + "indexer.settings.persisted_snapshot.moi.interval": 600000, + "indexer.settings.persisted_snapshot_init_build.fdb.interval": 5000, + "indexer.settings.persisted_snapshot_init_build.interval": 5000, + "indexer.settings.persisted_snapshot_init_build.moi.interval": 600000, + "indexer.settings.plasma.recovery.max_rollbacks": 2, + "indexer.settings.rebalance.blob_storage_bucket": "", + "indexer.settings.rebalance.blob_storage_prefix": "", + "indexer.settings.rebalance.blob_storage_region": "", + "indexer.settings.rebalance.blob_storage_scheme": "", + "indexer.settings.rebalance.redistribute_indexes": false, + "indexer.settings.recovery.max_rollbacks": 2, + "indexer.settings.scan_getseqnos_retries": 30, + "indexer.settings.scan_timeout": 120000, + "indexer.settings.send_buffer_size": 1024, + "indexer.settings.serverless.indexLimit": 201, + "indexer.settings.sliceBufSize": 1600, + "indexer.settings.smallSnapshotThreshold": 30, + "indexer.settings.snapshotListeners": 4, + "indexer.settings.snapshotRequestWorkers": 4, + "indexer.settings.statsLogDumpInterval": 60, + "indexer.settings.storage_mode": "plasma", + "indexer.settings.storage_mode.disable_upgrade": false, + "indexer.settings.thresholds.mem_high": 70, + "indexer.settings.thresholds.mem_low": 50, + "indexer.settings.thresholds.units_high": 60, + "indexer.settings.thresholds.units_low": 40, + "indexer.settings.units_quota": 10000, + "indexer.settings.wal_size": 4096, + "projector.settings.log_level": "info", + "queryport.client.settings.backfillLimit": 5120, + "queryport.client.settings.closeActiveConnections": true, + "queryport.client.settings.minPoolSizeWM": 1000, + "queryport.client.settings.poolOverflow": 30, + "queryport.client.settings.poolSize": 5000, + "queryport.client.settings.relConnBatchSize": 100 +} \ No newline at end of file diff --git a/docs/modules/index-rest-settings/index-settings.gradle b/docs/modules/index-rest-settings/index-settings.gradle new file mode 100644 index 00000000..fd5fec4b --- /dev/null +++ b/docs/modules/index-rest-settings/index-settings.gradle @@ -0,0 +1,23 @@ +apply plugin: 'org.openapi.generator' + +openApiGenerate { + generatorName = "asciidoc" + inputSpec = file("attachments/index-settings.yaml").getAbsolutePath().toString() + outputDir = "${rootDir}/docs/modules/index-rest-settings/pages" + templateDir = "${rootDir}/templates" + gitRepoId = "cb-swagger" + gitUserId = "couchbaselabs" + additionalProperties = [ + specDir: "${rootDir}/docs/modules/index-rest-settings/partials/", + snippetDir: "${rootDir}/docs/modules/index-rest-settings/partials/paths/", + headerAttributes: "true", + useIntroduction: "true", + useTableTitles: "true", + skipExamples: "true", + legacyDiscriminatorBehavior: "true" + ] + globalProperties = [ + generateAliasAsModel: "true" + ] + generateAliasAsModel = true +} \ No newline at end of file diff --git a/docs/modules/index-rest-settings/pages/index.adoc b/docs/modules/index-rest-settings/pages/index.adoc new file mode 100644 index 00000000..165c65ce --- /dev/null +++ b/docs/modules/index-rest-settings/pages/index.adoc @@ -0,0 +1,2169 @@ += Index Settings REST API +:keywords: OpenAPI, REST +:specDir: partial$ +:snippetDir: partial$paths/ +:page-topic-type: reference +:page-toclevels: 2 +include::partial$header-attributes.adoc[opts=optional] + +[comment] +This file is created automatically by OpenAPI Generator. +DO NOT EDIT! See https://github.com/couchbaselabs/cb-swagger + +:leveloffset: 1 + +include::{specDir}overview/document-before.adoc[opts=optional] + + +[[overview]] += Overview + +:leveloffset: +1 + +// markup not found, no include::{specDir}overview/document-begin.adoc[opts=optional] + + +[markdown] +-- +The Index Settings REST API is provided by the Index Service. +This API enables you to retrieve or set Index Service settings. + +Changes automatically propagate to all Index Service nodes, and will be remembered across node and cluster restarts. + +Unless otherwise noted, you should only change the Index Service settings when advised to do so by Couchbase Support. +-- + +[discrete#version] += Version information +[%hardbreaks] +__Version__ : 8.0 + +[discrete#host] += Host information + +.... +{scheme}://{host}:{port} +.... + +[markdown] +-- +The URL scheme, host, and port are as follows. +-- + +[cols="20,80"] +|=== +| Component | Description + +a| *scheme* +a| [markdown] +-- +The URL scheme. Use `https` for secure access. +-- + +[%hardbreaks] +*Values:* `http`, `https` +*Example:* `+++http+++` +// end + +a| *host* +a| [markdown] +-- +The host name or IP address of a node running the Index Service. +-- + +[%hardbreaks] + +*Example:* `+++localhost+++` +// end + +a| *port* +a| [markdown] +-- +The Index Service REST port. Use `19102` for secure access. +-- + +[%hardbreaks] +*Values:* `9102`, `19102` +*Example:* `+++9102+++` +// end + +|=== + + +include::{specDir}overview/document-end.adoc[opts=optional] + +:leveloffset: -1 + + +// markup not found, no include::{specDir}overview/document-after.adoc[opts=optional] + + + +// markup not found, no include::{specDir}paths/document-before.adoc[opts=optional] + + +[[resources]] += Resources + +:count-apis: 1 + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/document-begin.adoc[opts=optional] + + +This section describes the operations available with this REST API. +ifeval::[{count-apis} > 1] +The operations are grouped in the following categories. + +[%hardbreaks] +xref:tag-Default[] +endif::[] + + +ifeval::[{count-apis} > 1] +[#tag-Default] += Default +:leveloffset: +1 + +ifeval::["" != ""] + +endif::[] +ifeval::["" == ""] +**{toc-title}** +endif::[] +endif::[] + +[%hardbreaks] +xref:get_settings[] +xref:post_settings[] + + +//tag::get_settings[] + + +// markup not found, no include::{specDir}paths/get_settings/operation-before.adoc[opts=optional] + + +[#get_settings] += Retrieve Index Settings + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/get_settings/operation-begin.adoc[opts=optional] + + +.... +GET /settings +.... + + + +// markup not found, no include::{specDir}paths/get_settings/operation-description-before.adoc[opts=optional] + + +[#get_settings-description] += Description + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/get_settings/operation-description-begin.adoc[opts=optional] + + +[markdown] +-- +Returns Index Service settings. +-- + + +// markup not found, no include::{specDir}paths/get_settings/operation-description-end.adoc[opts=optional] + + + +[#get_settings-produces] +.Produces +* application/json + +:leveloffset: -1 + + +// markup not found, no include::{specDir}paths/get_settings/operation-description-after.adoc[opts=optional] + + + +// markup not found, no include::{specDir}paths/get_settings/operation-parameters-before.adoc[opts=optional] + + + + + + +// markup not found, no include::{specDir}paths/get_settings/operation-parameters-after.adoc[opts=optional] + + + +// markup not found, no include::{specDir}paths/get_settings/operation-responses-before.adoc[opts=optional] + + +[#get_settings-responses] += Responses + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/get_settings/operation-responses-begin.adoc[opts=optional] + + +[cols="20,60,20"] +|=== +| HTTP Code | Description | Schema + +| 200 +a| [markdown] +-- +Success. Returns an object giving Index Service settings. +-- +a| xref:Settings[] + + +| 404 +a| [markdown] +-- +Not found. The URL may be specified incorrectly. +-- +a| +| 401 +a| [markdown] +-- +Unauthorized. Failure to authenticate. +-- +a| + +|=== + + +// markup not found, no include::{specDir}paths/get_settings/operation-responses-end.adoc[opts=optional] + +:leveloffset: -1 + + + +// markup not found, no include::{specDir}paths/get_settings/operation-responses-after.adoc[opts=optional] + + + +// markup not found, no include::{specDir}paths/get_settings/operation-security-before.adoc[opts=optional] + + +[#get_settings-security] += Security + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/get_settings/operation-security-begin.adoc[opts=optional] + + +[cols="20,80"] +|=== +| Type | Name + +| http (basic) +| xref:security-default[] + +|=== + + +// markup not found, no include::{specDir}paths/get_settings/operation-security-end.adoc[opts=optional] + +:leveloffset: -1 + + +// markup not found, no include::{specDir}paths/get_settings/operation-security-after.adoc[opts=optional] + + + +include::{snippetDir}get_settings/http-request.adoc[opts=optional] + + +include::{snippetDir}get_settings/http-response.adoc[opts=optional] + + + +// markup not found, no include::{specDir}paths/get_settings/operation-end.adoc[opts=optional] + +:leveloffset: -1 + + +// markup not found, no include::{specDir}paths/get_settings/operation-after.adoc[opts=optional] + + +//end::get_settings[] + + +//tag::post_settings[] + + +// markup not found, no include::{specDir}paths/post_settings/operation-before.adoc[opts=optional] + + +[#post_settings] += Update Index Settings + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/post_settings/operation-begin.adoc[opts=optional] + + +.... +POST /settings +.... + + + +// markup not found, no include::{specDir}paths/post_settings/operation-description-before.adoc[opts=optional] + + +[#post_settings-description] += Description + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/post_settings/operation-description-begin.adoc[opts=optional] + + +[markdown] +-- +Updates Index Service settings. +-- + + +// markup not found, no include::{specDir}paths/post_settings/operation-description-end.adoc[opts=optional] + + +[#post_settings-consumes] +.Consumes +* application/json + + +:leveloffset: -1 + + +// markup not found, no include::{specDir}paths/post_settings/operation-description-after.adoc[opts=optional] + + + +// markup not found, no include::{specDir}paths/post_settings/operation-parameters-before.adoc[opts=optional] + + +[#post_settings-parameters] += Parameters + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/post_settings/operation-parameters-begin.adoc[opts=optional] + + + + + + +[#post_settings-body] +.Body Parameter +{blank} + +[cols="20,60,20",separator=¦] +|=== +¦ Name ¦ Description ¦ Schema + +a¦ *Body* + +_required_ +a¦ + + +[markdown] +-- +An object specifying Index Service settings. You only need to specify the settings you want to change; settings which are not specified are left unchanged. +-- + +[%hardbreaks] +{blank} + +a¦ xref:Settings[] + + + +|=== + + +// markup not found, no include::{specDir}paths/post_settings/operation-parameters-end.adoc[opts=optional] + +:leveloffset: -1 + + + + +// markup not found, no include::{specDir}paths/post_settings/operation-parameters-after.adoc[opts=optional] + + + +// markup not found, no include::{specDir}paths/post_settings/operation-responses-before.adoc[opts=optional] + + +[#post_settings-responses] += Responses + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/post_settings/operation-responses-begin.adoc[opts=optional] + + +[cols="20,60,20"] +|=== +| HTTP Code | Description | Schema + +| 200 +a| [markdown] +-- +Success. Returns `OK` and no object. +-- +a| +| 401 +a| [markdown] +-- +Unauthorized. Failure to authenticate. +-- +a| +| 404 +a| [markdown] +-- +Not found. The URL may be specified incorrectly. +-- +a| + +|=== + + +// markup not found, no include::{specDir}paths/post_settings/operation-responses-end.adoc[opts=optional] + +:leveloffset: -1 + + + +// markup not found, no include::{specDir}paths/post_settings/operation-responses-after.adoc[opts=optional] + + + +// markup not found, no include::{specDir}paths/post_settings/operation-security-before.adoc[opts=optional] + + +[#post_settings-security] += Security + +:leveloffset: +1 + +// markup not found, no include::{specDir}paths/post_settings/operation-security-begin.adoc[opts=optional] + + +[cols="20,80"] +|=== +| Type | Name + +| http (basic) +| xref:security-default[] + +|=== + + +// markup not found, no include::{specDir}paths/post_settings/operation-security-end.adoc[opts=optional] + +:leveloffset: -1 + + +// markup not found, no include::{specDir}paths/post_settings/operation-security-after.adoc[opts=optional] + + + +include::{snippetDir}post_settings/http-request.adoc[opts=optional] + + +// markup not found, no include::{snippetDir}post_settings/http-response.adoc[opts=optional] + + + +// markup not found, no include::{specDir}paths/post_settings/operation-end.adoc[opts=optional] + +:leveloffset: -1 + + +// markup not found, no include::{specDir}paths/post_settings/operation-after.adoc[opts=optional] + + +//end::post_settings[] + + +ifeval::[{count-apis} > 1] +:leveloffset: -1 +endif::[] + + + +// markup not found, no include::{specDir}paths/document-end.adoc[opts=optional] + +:leveloffset: -1 + + +// markup not found, no include::{specDir}paths/document-after.adoc[opts=optional] + + + +// markup not found, no include::{specDir}definitions/document-before.adoc[opts=optional] + + +[#models] += Definitions + + +:leveloffset: +1 + +// markup not found, no include::{specDir}definitions/document-begin.adoc[opts=optional] + + +This section describes the properties consumed and returned by this REST API. + +ifeval::[{count-models} > 1] +ifdef::collapse-models[] +[.two-columns] +endif::collapse-models[] +[%hardbreaks] +xref:Settings[] +xref:SettingsStorageMode[] +ifdef::enum-definitions[] +xref:SettingsStorageModeCE[] +endif::enum-definitions[] +ifdef::enum-definitions[] +xref:SettingsStorageModeEE[] +endif::enum-definitions[] +endif::[] + + + +// markup not found, no include::{specDir}definitions/Settings/definition-before.adoc[opts=optional] + + +ifdef::collapse-models[] +[discrete] +endif::collapse-models[] +[#Settings] += Settings + +:leveloffset: +1 + +// markup not found, no include::{specDir}definitions/Settings/definition-begin.adoc[opts=optional] + + +.icon:brackets-curly[fw] Object +{blank} + +//tag::Settings[] + + +[cols="25,55,20",separator=¦] +|=== +¦ Property ¦ ¦ Schema + +a¦ +*indexer.rebalance.transferBatchSize* + +_optional_ +a¦ + +[markdown] +-- +Sets the batch size Couchbase Server uses when rebuilding index files during rebalance. +This setting has no effect on file-based rebalance. + +Couchbase Server breaks the rebuilding of indexes during a rebalance into batches to limit the performance impact. +This setting controls the maximum number of indexes that a rebalance rebuilds concurrently. +You must have the Full Admin or the Cluster Admin role to set this value. + +For an overview of rebalance as it affects the Index Service, including an overview of smart batching, see [Rebalance](/server/8.0/learn/clusters-and-availability/rebalance.html#rebalancing-the-index-service). +-- + +[%hardbreaks] +*Default:* `3` +*Example:* `7` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.allow_large_keys* + +_optional_ +a¦ + +[markdown] +-- +Whether the size of index keys is unlimited. + +* If true, index keys may have unlimited size. +* If false, the maximum size for index keys and array index keys is specified by `indexer.settings.max_seckey_size` and `indexer.settings.max_array_seckey_size`. + +In Couchbase Server 6.5 and later, the Index Service does not need to restart when you update this setting. +-- + +[%hardbreaks] +*Default:* `true` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.bufferPoolBlockSize* + +_optional_ +a¦ + +[markdown] +-- +Buffer pool block size. +-- + +[%hardbreaks] +*Default:* `16384` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.build.batch_size* + +_optional_ +a¦ + +[markdown] +-- +Build batch size. +-- + +[%hardbreaks] +*Default:* `5` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.compaction.abort_exceed_interval* + +_optional_ +a¦ + +[markdown] +-- +Whether to abort index compaction if it is still running after the end of the index compaction interval. +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.compaction.check_period* + +_optional_ +a¦ + +[markdown] +-- +An interval, specifying how frequently the Index Service checks whether the compaction threshold has been reached (seconds). +-- + +[%hardbreaks] +*Default:* `30` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.compaction.compaction_mode* + +_optional_ +a¦ + +[markdown] +-- +The compaction mode for indexes. +-- + +[%hardbreaks] +*Values:* `"standard"`, `"circular"` +*Default:* `+++"circular"+++` +{blank} +a¦ String + + +a¦ +*indexer.settings.compaction.days_of_week* + +_optional_ +a¦ + +[markdown] +-- +The days of the week on which circular compaction is to run, if specified. +Individual values must be day-names, each specified with an initial capital, and otherwise lower-case. +Multiple values must be separated by a single comma, with no spaces. +-- + +[%hardbreaks] +*Default:* `+++"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday"+++` +*Example:* `+++"Saturday,Sunday"+++` +{blank} +a¦ String + + +a¦ +*indexer.settings.compaction.interval* + +_optional_ +a¦ + +[markdown] +-- +A string in the form `fromHour:fromMinute,toHour:toMinute`, specifying the interval during which index compaction can run. + +* `fromHour` — + An integer between 0 and 23 inclusive, specifying the starting hour of the interval. +* `fromMinute` — + An integer between 0 and 59 inclusive, specifying the starting minute of the interval, within the specified starting hour. +* `toHour` — + An integer between 0 and 23 inclusive, specifying the concluding hour of the interval. +* `toMinute` — + An integer between 0 and 59 inclusive, specifying the concluding minute of the interval, within the specified concluding hour. + +The default value means any time. +-- + +[%hardbreaks] +*Default:* `+++"00:00,00:00"+++` +*Example:* `+++"01:00,05:59"+++` +{blank} +a¦ String + + +a¦ +*indexer.settings.compaction.min_frag* + +_optional_ +a¦ + +[markdown] +-- +The minimum fragmentation threshold to trigger compaction (percentage). +-- + +[%hardbreaks] +*Default:* `30` +*Minimum:* `5` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.compaction.min_size* + +_optional_ +a¦ + +[markdown] +-- +Compaction minimum file size. +-- + +[%hardbreaks] +*Default:* `524288000` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.compaction.plasma.manual* + +_optional_ +a¦ + +[markdown] +-- +For standard indexes using Plasma, whether compaction should be triggered manually. +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.compaction.plasma.optional.decrement* + +_optional_ +a¦ + +[markdown] +-- +For standard indexes using Plasma, the optional decrement. +-- + +[%hardbreaks] +*Default:* `5` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.compaction.plasma.optional.min_frag* + +_optional_ +a¦ + +[markdown] +-- +For standard indexes using Plasma, the minimum fragmentation threshold to trigger compaction (percentage). +-- + +[%hardbreaks] +*Default:* `20` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.compaction.plasma.optional.quota* + +_optional_ +a¦ + +[markdown] +-- +For standard indexes using Plasma, the optional quota. +-- + +[%hardbreaks] +*Default:* `25` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.corrupt_index_num_backups* + +_optional_ +a¦ + +[markdown] +-- +Corrupt index number of backups. +-- + +[%hardbreaks] +*Default:* `1` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.cpuProfDir* + +_optional_ +a¦ + +[markdown] +-- +The name of the directory where local CPU usage profiling information is captured. +-- + +[%hardbreaks] +{blank} +a¦ String + + +a¦ +*indexer.settings.cpuProfile* + +_optional_ +a¦ + +[markdown] +-- +Whether the Index Service should capture local CPU usage profiling information. +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.defer_build* + +_optional_ +a¦ + +[markdown] +-- +The default setting for the `defer_build` option for index creation. + +* If this setting is true, and you create an index without specifying `defer_build`, the index is not built immediately. +* If this setting false, and you create an index without specifying `defer_build`, the index is built immediately. + +You can override this setting by specifying the `defer_build` option when you create an index. +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.eTagPeriod* + +_optional_ +a¦ + +[markdown] +-- +The ETag (entity tag) period. +-- + +[%hardbreaks] +*Default:* `240` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.enable_corrupt_index_backup* + +_optional_ +a¦ + +[markdown] +-- +Whether corrupt index backup is enabled. +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.enable_page_bloom_filter* + +_optional_ +a¦ + +[markdown] +-- +Whether Bloom filters are enabled for memory management. + +For details, see [Per Page Bloom Filters](/server/8.0/learn/services-and-indexes/indexes/storage-modes.html#per-page-bloom-filters). +-- + +[%hardbreaks] +*Default:* `true` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.enable_shard_affinity* + +_optional_ +a¦ + +[markdown] +-- +Selects the index rebalance method. +See [Index Rebalance Methods](/server/8.0/learn/clusters-and-availability/rebalance.html#index-rebalance-methods). + +* If false (the default), Index Service nodes rebuild indexes that are newly assigned to them during a rebalance. + +* If true, Couchbase Server moves a reassigned index's files between Index Service nodes. + +If set to true, when you create an index, you can use the `WITH` clause to specify which node should contain the index. +However, when you alter an index, you cannot use the `WITH` clause to specify which node should contain the index. +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.fast_flush_mode* + +_optional_ +a¦ + +[markdown] +-- +Whether fast flush mode is enabled. +-- + +[%hardbreaks] +*Default:* `true` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.gc_percent* + +_optional_ +a¦ + +[markdown] +-- +Garbage collection percentage. +-- + +[%hardbreaks] +*Default:* `100` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.inmemory_snapshot.fdb.interval* + +_optional_ +a¦ + +[markdown] +-- +For standard indexes using ForestDB, the in-memory snapshotting interval (ms). +This determines the earliest possibility of a scan seeing a given KV mutation. +-- + +[%hardbreaks] +*Default:* `200` +*Minimum:* `1` (exclusive) +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.inmemory_snapshot.interval* + +_optional_ +a¦ + +[markdown] +-- +The in-memory snapshotting interval (ms). +This determines the earliest possibility of a scan seeing a given KV mutation. +-- + +[%hardbreaks] +*Default:* `200` +*Minimum:* `1` (exclusive) +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.inmemory_snapshot.moi.interval* + +_optional_ +a¦ + +[markdown] +-- +For memory-optimized indexes, the in-memory snapshotting interval (ms). +This determines the earliest possibility of a scan seeing a given KV mutation. +-- + +[%hardbreaks] +*Default:* `10` +*Minimum:* `1` (exclusive) +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.largeSnapshotThreshold* + +_optional_ +a¦ + +[markdown] +-- +The large snapshot threshold. +-- + +[%hardbreaks] +*Default:* `200` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.log_level* + +_optional_ +a¦ + +[markdown] +-- +Indexer logging level. +-- + +[%hardbreaks] +*Values:* `"silent"`, `"fatal"`, `"error"`, `"warn"`, `"info"`, `"verbose"`, `"timing"`, `"debug"`, `"trace"` +*Default:* `+++"info"+++` +{blank} +a¦ String + + +a¦ +*indexer.settings.maxNumPartitions* + +_optional_ +a¦ + +[markdown] +-- +Maximum number of partitions. +-- + +[%hardbreaks] +*Default:* `64` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.maxVbQueueLength* + +_optional_ +a¦ + +[markdown] +-- +Maximum vBucket queue length. +-- + +[%hardbreaks] +*Default:* `0` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.max_array_seckey_size* + +_optional_ +a¦ + +[markdown] +-- +If `indexer.settings.allow_large_keys` is false, this setting specifies the maximum size for array index keys. + +In Couchbase Server 6.5 and later, the Index Service does not need to restart when you update this setting. +-- + +[%hardbreaks] +*Default:* `10240` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.max_cpu_percent* + +_optional_ +a¦ + +[markdown] +-- +The CPU capacity that the Index Service should use (percentage). +If set to `0`, the indexer will use all CPUs. +-- + +[%hardbreaks] +*Default:* `0` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.max_seckey_size* + +_optional_ +a¦ + +[markdown] +-- +If `indexer.settings.allow_large_keys` is false, this setting specifies the maximum size for index keys. + +In Couchbase Server 6.5 and later, the Index Service does not need to restart when you update this setting. +-- + +[%hardbreaks] +*Default:* `4608` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.max_writer_lock_prob* + +_optional_ +a¦ + +[markdown] +-- +Maximum writer lock prob. +-- + +[%hardbreaks] +*Default:* `20` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.memProfDir* + +_optional_ +a¦ + +[markdown] +-- +The name of the directory where local memory usage profiling information is captured. +-- + +[%hardbreaks] +{blank} +a¦ String + + +a¦ +*indexer.settings.memProfile* + +_optional_ +a¦ + +[markdown] +-- +Whether the Index Service should capture local memory usage profiling information. +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.memory_quota* + +_optional_ +a¦ + +[markdown] +-- +How much RAM is allocated to the Index Service for the current node. +-- + +[%hardbreaks] +*Default:* `536870912` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.minVbQueueLength* + +_optional_ +a¦ + +[markdown] +-- +Minimum vBucket queue length. +-- + +[%hardbreaks] +*Default:* `30` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.moi.debug* + +_optional_ +a¦ + +[markdown] +-- +Debug memory-optimized index storage. +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.moi.persistence_threads* + +_optional_ +a¦ + +[markdown] +-- +For memory-optimized index storage, the number of persistence threads. +-- + +[%hardbreaks] +*Default:* `4` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.moi.recovery.max_rollbacks* + +_optional_ +a¦ + +[markdown] +-- +For memory-optimized index storage, the maximum number of committed rollback points. +-- + +[%hardbreaks] +*Default:* `2` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.moi.recovery_threads* + +_optional_ +a¦ + +[markdown] +-- +For memory-optimized index storage, the number of recovery threads. +-- + +[%hardbreaks] +*Default:* `8` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.num_replica* + +_optional_ +a¦ + +[markdown] +-- +The default number of index replicas to be created by the Index Service whenever `CREATE INDEX` is invoked. +-- + +[%hardbreaks] +*Default:* `0` +*Example:* `2` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.percentage_memory_quota* + +_optional_ +a¦ + +[markdown] +-- +Percentage memory quota. +-- + +[%hardbreaks] +*Default:* `0` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.persisted_snapshot.fdb.interval* + +_optional_ +a¦ + +[markdown] +-- +For standard indexes using ForestDB, the persisted snapshotting interval (ms). +This must be a multiple of the in-memory snapshot interval. +-- + +[%hardbreaks] +*Default:* `5000` +*Minimum:* `100` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.persisted_snapshot.interval* + +_optional_ +a¦ + +[markdown] +-- +The persisted snapshotting interval (ms). +This must be a multiple of the in-memory snapshot interval. +-- + +[%hardbreaks] +*Default:* `5000` +*Minimum:* `100` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.persisted_snapshot.moi.interval* + +_optional_ +a¦ + +[markdown] +-- +For memory-optimized indexes, the persisted snapshotting interval (ms). +This must be a multiple of the in-memory snapshot interval. +-- + +[%hardbreaks] +*Default:* `600000` +*Minimum:* `100` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.persisted_snapshot_init_build.fdb.interval* + +_optional_ +a¦ + +[markdown] +-- +For standard indexes using ForestDB, the persisted snapshotting interval for the initial build (ms). +-- + +[%hardbreaks] +*Default:* `5000` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.persisted_snapshot_init_build.interval* + +_optional_ +a¦ + +[markdown] +-- +The persisted snapshotting interval for the initial build (ms). +-- + +[%hardbreaks] +*Default:* `5000` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.persisted_snapshot_init_build.moi.interval* + +_optional_ +a¦ + +[markdown] +-- +For memory-optimized indexes, the persisted snapshotting interval for the initial build (ms). +-- + +[%hardbreaks] +*Default:* `600000` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.plasma.recovery.max_rollbacks* + +_optional_ +a¦ + +[markdown] +-- +For standard indexes using Plasma, the maximum number of committed rollback points. +-- + +[%hardbreaks] +*Default:* `2` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.rebalance.blob_storage_bucket* + +_optional_ +a¦ + +[markdown] +-- +Rebalance blob storage bucket. +-- + +[%hardbreaks] +*Default:* `+++""+++` +{blank} +a¦ String + + +a¦ +*indexer.settings.rebalance.blob_storage_prefix* + +_optional_ +a¦ + +[markdown] +-- +Rebalance blob storage prefix. +-- + +[%hardbreaks] +*Default:* `+++""+++` +{blank} +a¦ String + + +a¦ +*indexer.settings.rebalance.blob_storage_region* + +_optional_ +a¦ + +[markdown] +-- +Rebalance blob storage region. +-- + +[%hardbreaks] +*Default:* `+++""+++` +{blank} +a¦ String + + +a¦ +*indexer.settings.rebalance.blob_storage_scheme* + +_optional_ +a¦ + +[markdown] +-- +Rebalance blob storage scheme. +-- + +[%hardbreaks] +*Default:* `+++""+++` +{blank} +a¦ String + + +a¦ +*indexer.settings.rebalance.redistribute_indexes* + +_optional_ +a¦ + +[markdown] +-- +Whether to redistribute indexes on rebalance. + +* When true, Couchbase Server redistributes indexes when rebalance occurs, in order to optimize performance. + +* When false (the default), such redistribution does not occur. + +For details, see [Rebalance](/server/8.0/learn/clusters-and-availability/rebalance.html#rebalancing-the-index-service). +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.recovery.max_rollbacks* + +_optional_ +a¦ + +[markdown] +-- +The maximum number of committed rollback points. +-- + +[%hardbreaks] +*Default:* `2` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.scan_getseqnos_retries* + +_optional_ +a¦ + +[markdown] +-- +Scan get sequence numbers retries. +-- + +[%hardbreaks] +*Default:* `30` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.scan_timeout* + +_optional_ +a¦ + +[markdown] +-- +The default timeout for the indexer, in milliseconds. +This is distinct from the Query Service timeout. +The Index Service has its own timeout because index scans consume resources such as memory and CPU while holding snapshots and performing range scan. + +An index scan may time out if the Index Service timeout is lower than the Query Service timeout. +-- + +[%hardbreaks] +*Default:* `120000` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.send_buffer_size* + +_optional_ +a¦ + +[markdown] +-- +Send buffer size. +-- + +[%hardbreaks] +*Default:* `1024` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.serverless.indexLimit* + +_optional_ +a¦ + +[markdown] +-- +Serverless index limit. +-- + +[%hardbreaks] +*Default:* `201` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.sliceBufSize* + +_optional_ +a¦ + +[markdown] +-- +Slice buffer size. +-- + +[%hardbreaks] +*Default:* `1600` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.smallSnapshotThreshold* + +_optional_ +a¦ + +[markdown] +-- +Small snapshot threshold. +-- + +[%hardbreaks] +*Default:* `30` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.snapshotListeners* + +_optional_ +a¦ + +[markdown] +-- +Snapshot listeners. +-- + +[%hardbreaks] +*Default:* `4` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.snapshotRequestWorkers* + +_optional_ +a¦ + +[markdown] +-- +Snapshot request workers. +-- + +[%hardbreaks] +*Default:* `4` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.statsLogDumpInterval* + +_optional_ +a¦ + +[markdown] +-- +Statistics log dump interval. +-- + +[%hardbreaks] +*Default:* `60` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.storage_mode* + +_optional_ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-SettingsStorageMode, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:SettingsStorageMode[] + + +a¦ +*indexer.settings.storage_mode.disable_upgrade* + +_optional_ +a¦ + +[markdown] +-- +Whether upgrade of the index storage mode is disabled. +-- + +[%hardbreaks] +*Default:* `false` +{blank} +a¦ Boolean + + +a¦ +*indexer.settings.thresholds.mem_high* + +_optional_ +a¦ + +[markdown] +-- +High memory threshold. +-- + +[%hardbreaks] +*Default:* `70` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.thresholds.mem_low* + +_optional_ +a¦ + +[markdown] +-- +Low memory threshold. +-- + +[%hardbreaks] +*Default:* `50` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.thresholds.units_high* + +_optional_ +a¦ + +[markdown] +-- +High units threshold. +-- + +[%hardbreaks] +*Default:* `60` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.thresholds.units_low* + +_optional_ +a¦ + +[markdown] +-- +Low units threshold. +-- + +[%hardbreaks] +*Default:* `40` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.units_quota* + +_optional_ +a¦ + +[markdown] +-- +Units quota. +-- + +[%hardbreaks] +*Default:* `10000` +{blank} +a¦ Integer (int32) + + +a¦ +*indexer.settings.wal_size* + +_optional_ +a¦ + +[markdown] +-- +Write-ahead log size. +-- + +[%hardbreaks] +*Default:* `4096` +{blank} +a¦ Integer (int32) + + +a¦ +*projector.settings.log_level* + +_optional_ +a¦ + +[markdown] +-- +Projector logging level. +-- + +[%hardbreaks] +*Default:* `+++"info"+++` +{blank} +a¦ String + + +a¦ +*queryport.client.settings.backfillLimit* + +_optional_ +a¦ + +[markdown] +-- +The maximum size of the backfill file (MB). + +* A value of `0` disables backfill. +* A value of `-1` means the size is unlimited. + +The maximum size is limited only by the available disk space. +-- + +[%hardbreaks] +*Default:* `5120` +{blank} +a¦ Integer (int32) + + +a¦ +*queryport.client.settings.closeActiveConnections* + +_optional_ +a¦ + +[markdown] +-- +Whether to close active connections. +-- + +[%hardbreaks] +*Default:* `true` +{blank} +a¦ Boolean + + +a¦ +*queryport.client.settings.minPoolSizeWM* + +_optional_ +a¦ + +[markdown] +-- +Minimum pool size. +-- + +[%hardbreaks] +*Default:* `1000` +{blank} +a¦ Integer (int32) + + +a¦ +*queryport.client.settings.poolOverflow* + +_optional_ +a¦ + +[markdown] +-- +Maximum number of connections in a pool. +-- + +[%hardbreaks] +*Default:* `30` +{blank} +a¦ Integer (int32) + + +a¦ +*queryport.client.settings.poolSize* + +_optional_ +a¦ + +[markdown] +-- +Number of simultaneous active connections in a pool. +-- + +[%hardbreaks] +*Default:* `5000` +{blank} +a¦ Integer (int32) + + +a¦ +*queryport.client.settings.relConnBatchSize* + +_optional_ +a¦ + +[markdown] +-- +Connection batch size. +-- + +[%hardbreaks] +*Default:* `100` +{blank} +a¦ Integer (int32) + + +|=== + +//end::Settings[] + + + + +// markup not found, no include::{specDir}definitions/Settings/definition-end.adoc[opts=optional] + + +:leveloffset: -1 + +// markup not found, no include::{specDir}definitions/Settings/definition-after.adoc[opts=optional] + + + + +// markup not found, no include::{specDir}definitions/SettingsStorageMode/definition-before.adoc[opts=optional] + + +ifdef::collapse-models[] +[discrete] +endif::collapse-models[] +[#SettingsStorageMode] += Storage Mode + +:leveloffset: +1 + +// markup not found, no include::{specDir}definitions/SettingsStorageMode/definition-begin.adoc[opts=optional] + + +.icon:bars[fw] Composite Schema +{blank} + +//tag::SettingsStorageMode[] + +ifdef::model-descriptions[] +//tag::desc-SettingsStorageMode[] +The storage mode to be used for the Index Service on this node. +//end::desc-SettingsStorageMode[] +endif::model-descriptions[] + +[cols="25,55,20",separator=¦] +|=== +¦ One{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ [.edition]##{enterprise}## + +[markdown] +-- +include::index.adoc[tag=desc-SettingsStorageModeEE, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ +include::index.adoc[tag=type-SettingsStorageModeEE, opts=optional] + +a¦ _or_ +a¦ [.edition]##{community}## + +[markdown] +-- +include::index.adoc[tag=desc-SettingsStorageModeCE, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ +include::index.adoc[tag=type-SettingsStorageModeCE, opts=optional] + +|=== + +//end::SettingsStorageMode[] + + +// markup not found, no include::{specDir}definitions/SettingsStorageMode/definition-end.adoc[opts=optional] + + +:leveloffset: -1 + +// markup not found, no include::{specDir}definitions/SettingsStorageMode/definition-after.adoc[opts=optional] + + +ifdef::enum-definitions[] +[#SettingsStorageModeCE] += Community Edition + +.icon:menu[fw] Enumeration +{blank} + +//tag::desc-SettingsStorageModeCE[] +If you are using Community Edition, the default (and only) value is `forestdb`. +//end::desc-SettingsStorageModeCE[] + +.Schema +//tag::type-SettingsStorageModeCE[] +String + + +//end::type-SettingsStorageModeCE[] +endif::enum-definitions[] +ifdef::enum-definitions[] +[#SettingsStorageModeEE] += Enterprise Edition + +.icon:menu[fw] Enumeration +{blank} + +//tag::desc-SettingsStorageModeEE[] +If you are using Enterprise Edition, the possible values are: + +* `plasma` (the default) — + Sets the index storage mode to use the Plasma storage engine, which can utilize both memory and persistent storage for index maintenance and index scans. + +* `memory_optimized` — + Sets the index storage mode to use memory optimized global secondary indexes, which can perform index maintenance and index scan faster at in-memory speeds. + +This setting can only be changed while there are no index nodes in the cluster. +To change from standard GSI to memory optimized GSI or vice versa, you need to remove all the Index Service nodes in the cluster. +//end::desc-SettingsStorageModeEE[] + +.Schema +//tag::type-SettingsStorageModeEE[] +String + + +//end::type-SettingsStorageModeEE[] +endif::enum-definitions[] + + +// markup not found, no include::{specDir}definitions/document-end.adoc[opts=optional] + + +:leveloffset: -1 + +// markup not found, no include::{specDir}definitions/document-after.adoc[opts=optional] + + + +// markup not found, no include::{specDir}security/document-before.adoc[opts=optional] + + +[[security]] += Security + +:leveloffset: +1 + +include::{specDir}security/document-begin.adoc[opts=optional] + + + + +// markup not found, no include::{specDir}security/Default/security-scheme-before.adoc[opts=optional] + + +[[security-default]] += Default + +:leveloffset: +1 + +// markup not found, no include::{specDir}security/Default/security-scheme-begin.adoc[opts=optional] + + +[markdown] +-- +Users must have the Full Admin or Cluster Admin role, with Cluster Read and Bucket INDEX List privileges. +-- + +[%hardbreaks] +__Type__ : http + + +// markup not found, no include::{specDir}security/Default/security-scheme-end.adoc[opts=optional] + +:leveloffset: -1 + + +// markup not found, no include::{specDir}security/Default/security-scheme-after.adoc[opts=optional] + + + + +include::{specDir}security/document-end.adoc[opts=optional] + +:leveloffset: -1 + + + +// markup not found, no include::{specDir}security/document-after.adoc[opts=optional] + + diff --git a/docs/modules/index-rest-settings/partials/header-attributes.adoc b/docs/modules/index-rest-settings/partials/header-attributes.adoc new file mode 100644 index 00000000..d8230b83 --- /dev/null +++ b/docs/modules/index-rest-settings/partials/header-attributes.adoc @@ -0,0 +1,5 @@ +:page-partial: +:page-aliases: rest-api:rest-modify-index-batch-size.adoc +:!example-caption: +:description: The Index Settings REST API is provided by the Index Service. \ +This API enables you to retrieve or set Index Service settings. \ No newline at end of file diff --git a/docs/modules/index-rest-settings/partials/overview/document-before.adoc b/docs/modules/index-rest-settings/partials/overview/document-before.adoc new file mode 100644 index 00000000..1fb78375 --- /dev/null +++ b/docs/modules/index-rest-settings/partials/overview/document-before.adoc @@ -0,0 +1,57 @@ +// Pass through HTML table styles for this page. +// This overrides Swagger2Markup's table layout defaults. + +ifdef::basebackend-html[] +++++ + +++++ +endif::[] \ No newline at end of file diff --git a/docs/modules/index-rest-settings/partials/overview/document-end.adoc b/docs/modules/index-rest-settings/partials/overview/document-end.adoc new file mode 100644 index 00000000..4bbd311a --- /dev/null +++ b/docs/modules/index-rest-settings/partials/overview/document-end.adoc @@ -0,0 +1,8 @@ +[discrete] += Examples on this page + +In the HTTP request examples: + +* `$HOST` is the host name or IP address of a node running the Index Service. +* `$USER` is the user name of any authorized user -- see <>. +* `$PASSWORD` is the password to connect to Couchbase Server. \ No newline at end of file diff --git a/docs/modules/index-rest-settings/partials/paths/get_settings/http-request.adoc b/docs/modules/index-rest-settings/partials/paths/get_settings/http-request.adoc new file mode 100644 index 00000000..0694d7f3 --- /dev/null +++ b/docs/modules/index-rest-settings/partials/paths/get_settings/http-request.adoc @@ -0,0 +1,12 @@ += Example HTTP Request + +==== +The example below retrieves the current index settings. + +.Curl request +[source,sh] +---- +curl -X GET http://$HOST:9102/settings \ + -u $USER:$PASSWORD +---- +==== \ No newline at end of file diff --git a/docs/modules/index-rest-settings/partials/paths/get_settings/http-response.adoc b/docs/modules/index-rest-settings/partials/paths/get_settings/http-response.adoc new file mode 100644 index 00000000..3c9a69fa --- /dev/null +++ b/docs/modules/index-rest-settings/partials/paths/get_settings/http-response.adoc @@ -0,0 +1,9 @@ += Example HTTP Response + +==== +.Response 200 +[source,json] +---- +include::example$get_settings.json[] +---- +==== \ No newline at end of file diff --git a/docs/modules/index-rest-settings/partials/paths/post_settings/http-request.adoc b/docs/modules/index-rest-settings/partials/paths/post_settings/http-request.adoc new file mode 100644 index 00000000..7a5fc4ea --- /dev/null +++ b/docs/modules/index-rest-settings/partials/paths/post_settings/http-request.adoc @@ -0,0 +1,46 @@ += Example HTTP Requests + +[#ex-defer-build] +.Defer Index Builds by Default +==== +This example specifies the default setting for deferred builds. + +.Curl request +[source,sh] +---- +curl -X POST http://$HOST:9102/settings \ + -u $USER:$PASSWORD \ + -H 'content-type: application/json' \ + -d '{"indexer.settings.defer_build": true}' +---- +==== + +[#ex-scan-timeout] +.Set the Indexer Scan Timeout +==== +This example sets the indexer scan timeout. + +.Curl request +[source,sh] +---- +curl -X POST http://$HOST:9102/settings \ + -u $USER:$PASSWORD \ + -H 'content-type: application/json' \ + -d '{"indexer.settings.scan_timeout": 15000}' +---- +==== + +[#ex-modify-index-batch-size] +.Modify Index Batch Size +==== +This example modifies the index batch size for rebalance. + +.Curl request +[source,sh] +---- +curl -X POST http://$HOST:9102/settings \ + -u $USER:$PASSWORD \ + -H 'content-type: application/json' \ + -d '{ "indexer.rebalance.transferBatchSize": 7 }' +---- +==== \ No newline at end of file diff --git a/docs/modules/index-rest-settings/partials/security/document-begin.adoc b/docs/modules/index-rest-settings/partials/security/document-begin.adoc new file mode 100644 index 00000000..cbf1b644 --- /dev/null +++ b/docs/modules/index-rest-settings/partials/security/document-begin.adoc @@ -0,0 +1,2 @@ +The Index Settings API supports admin credentials. +Pass your credentials through HTTP headers (HTTP basic authentication). \ No newline at end of file diff --git a/docs/modules/index-rest-settings/partials/security/document-end.adoc b/docs/modules/index-rest-settings/partials/security/document-end.adoc new file mode 100644 index 00000000..36d8ba1d --- /dev/null +++ b/docs/modules/index-rest-settings/partials/security/document-end.adoc @@ -0,0 +1 @@ +Refer to xref:learn:security/roles.adoc[Roles] for more details. \ No newline at end of file diff --git a/docs/modules/index-rest-stats/attachments/indexes.yaml b/docs/modules/index-rest-stats/attachments/indexes.yaml index 0ad7b8ac..fa141c11 100644 --- a/docs/modules/index-rest-stats/attachments/indexes.yaml +++ b/docs/modules/index-rest-stats/attachments/indexes.yaml @@ -163,6 +163,7 @@ components: NodeIdxNode: type: object title: Nodes + description: Node statistics. required: - indexer properties: @@ -218,12 +219,14 @@ components: PartIdxIndexes: type: object title: Indexes + description: Index statistics. additionalProperties: $ref: "#/components/schemas/PartIdxPartitionsIndex" PartIdxPartitions: type: object title: Partitions + description: Index partition statistics. additionalProperties: $ref: "#/components/schemas/PartIdxPartitionsIndex" diff --git a/docs/modules/index-rest-stats/pages/index.adoc b/docs/modules/index-rest-stats/pages/index.adoc index 911e9854..b011b4bf 100644 --- a/docs/modules/index-rest-stats/pages/index.adoc +++ b/docs/modules/index-rest-stats/pages/index.adoc @@ -1001,14 +1001,42 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -All of the following: +//tag::NodeIdx[] -* xref:NodeIdxNode[] + +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-NodeIdxNode, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:NodeIdxNode[] -* xref:PartIdxIndexes[] +a¦ _and_ +a¦ +[markdown] +-- +include::index.adoc[tag=desc-PartIdxIndexes, opts=optional] +-- +[%hardbreaks] +{blank} +a¦ xref:PartIdxIndexes[] + + +|=== + +//end::NodeIdx[] // markup not found, no include::{specDir}definitions/NodeIdx/definition-end.adoc[opts=optional] @@ -1040,6 +1068,11 @@ endif::collapse-models[] //tag::NodeIdxNode[] +ifdef::model-descriptions[] +//tag::desc-NodeIdxNode[] +Node statistics. +//end::desc-NodeIdxNode[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== @@ -1225,14 +1258,42 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} -All of the following: +//tag::PartIdx[] + + +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema + +a¦ +a¦ + +[markdown] +-- +include::index.adoc[tag=desc-PartIdxIndexes, opts=optional] +-- + +[%hardbreaks] +{blank} +a¦ xref:PartIdxIndexes[] + -* xref:PartIdxIndexes[] +a¦ _and_ +a¦ +[markdown] +-- +include::index.adoc[tag=desc-PartIdxPartitions, opts=optional] +-- -* xref:PartIdxPartitions[] +[%hardbreaks] +{blank} +a¦ xref:PartIdxPartitions[] +|=== + +//end::PartIdx[] // markup not found, no include::{specDir}definitions/PartIdx/definition-end.adoc[opts=optional] @@ -1264,6 +1325,11 @@ endif::collapse-models[] //tag::PartIdxIndexes[] +ifdef::model-descriptions[] +//tag::desc-PartIdxIndexes[] +Index statistics. +//end::desc-PartIdxIndexes[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== @@ -1321,6 +1387,11 @@ endif::collapse-models[] //tag::PartIdxPartitions[] +ifdef::model-descriptions[] +//tag::desc-PartIdxPartitions[] +Index partition statistics. +//end::desc-PartIdxPartitions[] +endif::model-descriptions[] [cols="25,55,20",separator=¦] |=== diff --git a/docs/modules/n1ql-rest-settings/pages/index.adoc b/docs/modules/n1ql-rest-settings/pages/index.adoc index 76278679..59ed1181 100644 --- a/docs/modules/n1ql-rest-settings/pages/index.adoc +++ b/docs/modules/n1ql-rest-settings/pages/index.adoc @@ -1453,8 +1453,7 @@ If a request includes this parameter, it will be capped by the node-level `numat [%hardbreaks] *Default:* `1024` -*Minimum:* `0` -*Exclusive minimum:* `true` +*Minimum:* `0` (exclusive) *Example:* `512` {blank} a¦ Integer (int32) diff --git a/docs/preview/HEAD.yml b/docs/preview/HEAD.yml index c37f530f..ec179b30 100644 --- a/docs/preview/HEAD.yml +++ b/docs/preview/HEAD.yml @@ -1,7 +1,7 @@ sources: docs-server: - branches: release/7.6 + branches: release/8.0 docs-analytics: - branches: release/7.6 + branches: release/8.0 docs-devex: - branches: release/7.6 \ No newline at end of file + branches: release/8.0 \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index ac195227..e8149391 100644 --- a/settings.gradle +++ b/settings.gradle @@ -5,6 +5,7 @@ include 'admin', 'eventing', 'functions', 'indexes', + 'index-settings', 'analytics-admin', 'analytics-config', 'analytics-library', @@ -29,6 +30,8 @@ project(':functions').projectDir = new File (settingsDir, 'docs/modules/n1ql-res project(':functions').buildFileName = 'functions.gradle' project(':indexes').projectDir = new File (settingsDir, 'docs/modules/index-rest-stats') project(':indexes').buildFileName = 'indexes.gradle' +project(':index-settings').projectDir = new File (settingsDir, 'docs/modules/index-rest-settings') +project(':index-settings').buildFileName = 'index-settings.gradle' project(':analytics-service').projectDir = new File (settingsDir, 'docs/modules/analytics-rest-service') project(':analytics-service').buildFileName = 'analytics-service.gradle' project(':analytics-config').projectDir = new File (settingsDir, 'docs/modules/analytics-rest-config') diff --git a/templates/models.mustache b/templates/models.mustache index b2e76b4d..9dc330ad 100644 --- a/templates/models.mustache +++ b/templates/models.mustache @@ -110,24 +110,63 @@ endif::collapse-models[] .icon:bars[fw] Composite Schema {blank} +{{! tag for partial}} +//tag::{{name}}[] + +{{! Create partial model description }} +{{#description}} +ifdef::model-descriptions[] +//tag::desc-{{name}}[] +{{{unescapedDescription}}} +//end::desc-{{name}}[] +endif::model-descriptions[] +{{/description}} + {{#oneOf}} -{{#-first}}One of the following: +{{#-first}} +[cols="25,55,20",separator=¦] +|=== +¦ One{nbsp}of{nbsp}... ¦ ¦ Schema {{/-first}} -* {{>schemas}} +a¦ {{^-first}}_or_{{/-first}} +a¦ {{>property}} +a¦ {{>schemas}} +{{#-last}} +|=== +{{/-last}} {{/oneOf}} {{#anyOf}} -{{#-first}}Any of the following: +{{#-first}} +[cols="25,55,20",separator=¦] +|=== +¦ Any{nbsp}of{nbsp}... ¦ ¦ Schema {{/-first}} -* {{>schemas}} +a¦ {{^-first}}_and{nbsp}/ or_{{/-first}} +a¦ {{>property}} +a¦ {{>schemas}} +{{#-last}} +|=== +{{/-last}} {{/anyOf}} {{#allOf}} -{{#-first}}All of the following: +{{#-first}} +[cols="25,55,20",separator=¦] +|=== +¦ All{nbsp}of{nbsp}... ¦ ¦ Schema {{/-first}} -* {{>schemas}} +a¦ {{^-first}}_and_{{/-first}} +a¦ {{>property}} +a¦ {{>schemas}} +{{#-last}} +|=== +{{/-last}} {{/allOf}} + +{{! end tag for partial}} +//end::{{name}}[] {{/composedSchemas}} {{! include partial after definition body }} diff --git a/templates/param.mustache b/templates/param.mustache index 3e0a6319..68e06af2 100644 --- a/templates/param.mustache +++ b/templates/param.mustache @@ -33,20 +33,12 @@ include::index.adoc[tag=desc-{{dataType}}, opts=optional] {{/pattern}} {{! minimum value}} {{#minimum}} -*Minimum:* `{{{minimum}}}` +*Minimum:* `{{{minimum}}}`{{#exclusiveMinimum}} (exclusive){{/exclusiveMinimum}} {{/minimum}} {{! maximum value}} {{#maximum}} -*Maximum:* `{{{maximum}}}` +*Maximum:* `{{{maximum}}}`{{#exclusiveMaximum}} (exclusive){{/exclusiveMaximum}} {{/maximum}} -{{! exclusive minimum value}} -{{#exclusiveMinimum}} -*Exclusive minimum:* `{{{exclusiveMinimum}}}` -{{/exclusiveMinimum}} -{{! exclusive maximum value}} -{{#exclusiveMaximum}} -*Exclusive maximum:* `{{{exclusiveMaximum}}}` -{{/exclusiveMaximum}} {{! multiple of value}} {{#multipleOf}} *Multiple of:* `{{{multipleOf}}}` diff --git a/templates/property.mustache b/templates/property.mustache index 19eccde5..0710335f 100644 --- a/templates/property.mustache +++ b/templates/property.mustache @@ -53,20 +53,12 @@ include::index.adoc[tag=desc-{{dataType}}, opts=optional] {{/pattern}} {{! minimum value}} {{#minimum}} -*Minimum:* `{{{minimum}}}` +*Minimum:* `{{{minimum}}}`{{#exclusiveMinimum}} (exclusive){{/exclusiveMinimum}} {{/minimum}} {{! maximum value}} {{#maximum}} -*Maximum:* `{{{maximum}}}` +*Maximum:* `{{{maximum}}}`{{#exclusiveMaximum}} (exclusive){{/exclusiveMaximum}} {{/maximum}} -{{! exclusive minimum value}} -{{#exclusiveMinimum}} -*Exclusive minimum:* `{{{exclusiveMinimum}}}` -{{/exclusiveMinimum}} -{{! exclusive maximum value}} -{{#exclusiveMaximum}} -*Exclusive maximum:* `{{{exclusiveMaximum}}}` -{{/exclusiveMaximum}} {{! multiple of value}} {{#multipleOf}} *Multiple of:* `{{{multipleOf}}}`