Back to Onyx

generated by https://github.com/hashicorp/terraform-plugin-docs

terraform-provider-onyx/docs/resources/document_set.md

4.7.0-cloud.64.5 KB
Original Source

onyx_document_set (Resource)

A document set: a named group of connector-credential pairs that users and assistants can search as one unit.

Onyx propagates changes to the search index in the background. is_up_to_date reports whether that has finished, and usually reads false right after an apply.

~> Private sets need Enterprise Edition. users and groups are rejected on Community Edition. is_public = false with neither set makes a set nobody can use.

Example Usage

terraform
# A document set groups connector-credential pairs so users and assistants can
# search them as one unit.
resource "onyx_document_set" "engineering" {
  name        = "engineering"
  description = "Design docs, runbooks and the internal wiki"

  cc_pair_ids = [
    onyx_cc_pair.confluence_wiki.id,
    onyx_cc_pair.github_docs.id,
  ]
}

# A set only two groups may use.
resource "onyx_document_set" "hr_private" {
  name        = "hr-private"
  description = "Handbook and policies"

  cc_pair_ids = [onyx_cc_pair.hr_handbook.id]

  # Private sets need Enterprise Edition. Group and user ids come from the
  # deployment, so read them from the admin panel or pass them in.
  is_public = false
  groups    = [4]
  users     = [var.hr_lead_user_id]
}

# Onyx rejects a set that holds nothing, so a set built only from federated
# connectors still needs at least one entry there.
#
# `entities` follows the schema of the connector it points at. Slack is the
# only federated source today, and takes the fields below.
resource "onyx_document_set" "support_channels" {
  name        = "support-channels"
  cc_pair_ids = []

  federated_connectors = [
    {
      federated_connector_id = var.slack_federated_connector_id
      entities = jsonencode({
        search_all_channels = false
        channels            = ["support", "support-escalations"]
      })
    },
  ]
}
<!-- schema generated by tfplugindocs -->

Schema

Required

  • cc_pair_ids (Set of String) Ids of the connector-credential pairs in the set, e.g. [onyx_cc_pair.docs.id]. Onyx rejects a set with no pairs and no federated connectors, so this may only be empty when federated_connectors is not.
  • name (String) Document set name. Must be unique across the deployment.

Optional

  • description (String) What the set contains, shown in the admin panel.
  • federated_connectors (Attributes Set) Federated connectors searched as part of this set. (see below for nested schema)
  • groups (Set of Number) User group ids that may use the set when it is not public. Enterprise Edition only — Community Edition rejects a set with users or groups.
  • is_public (Boolean) Whether every user can see the set. When false, only the users and groups below can. Onyx defaults new sets to public.
  • timeouts (Block, Optional) (see below for nested schema)
  • users (Set of String) User ids (UUIDs) that may use the set when it is not public. Enterprise Edition only — Community Edition rejects a set with users or groups.

Read-Only

  • id (String) Numeric document set id.
  • is_up_to_date (Boolean) Whether Onyx has finished applying the set to the search index. Reads false while the background sync is pending. Onyx refuses to change or delete a set that is still syncing, so Terraform waits for this before it does either.

<a id="nestedatt--federated_connectors"></a>

Nested Schema for federated_connectors

Required:

  • entities (String) Which entities of that connector to search, as a JSON object.
  • federated_connector_id (String) Id of the federated connector.

<a id="nestedblock--timeouts"></a>

Nested Schema for timeouts

Optional:

  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

Import

Import is supported using the following syntax:

The terraform import command can be used, for example:

shell
#!/bin/sh
# Import by numeric document set id.
terraform import onyx_document_set.engineering 3