New

The executive guide to generative AI

Read more

Update connector configuration API

edit

Update connector configuration API

edit

This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.

Updates the configuration of a connector.

Request

edit

PUT _connector/<connector_id>/_configuration

Prerequisites

edit
  • To sync data using connectors, it’s essential to have the Elastic connectors service running.
  • The connector_id parameter should reference an existing connector.
  • The configuration fields definition must be compatible with the specific connector type being used.

Path parameters

edit
<connector_id>
(Required, string)

Request body

edit
configuration
(Required, object) The configuration for the connector. The configuration field is a map where each key represents a specific configuration field name, and the value is a ConnectorConfiguration object.

Each ConnectorConfiguration object contains the following attributes:

  • category (Optional, string) The category of the configuration field. This helps in grouping related configurations together in the user interface.
  • default_value (Required, string | number | bool) The default value for the configuration. This value is used if the value field is empty, applicable only for non-required fields.
  • depends_on (Required, array of ConfigurationDependency) An array of dependencies on other configurations. A field will not be enabled unless these dependencies are met. Each dependency specifies a field key and the required value for the dependency to be considered fulfilled.
  • display (Required, string) The display type for the UI element that represents this configuration. This defines how the field should be rendered in the user interface. Supported types are: text, textbox, textarea, numeric, toggle and dropdown.
  • label (Required, string) The display label for the configuration field. This label is shown in the user interface, adjacent to the field.
  • options (Required, array of ConfigurationSelectOption) An array of options for list-type fields. These options are used for inputs in the user interface, each having a label for display and a value.
  • order (Required, number) The order in which this configuration appears in the user interface. This helps in organizing fields logically.
  • placeholder (Required, string) Placeholder text for the configuration field. This text is displayed inside the field before a value is entered.
  • required (Required, boolean) Indicates whether the configuration is mandatory. If true, a value must be provided for the field.
  • sensitive (Required, boolean) Indicates whether the configuration contains sensitive information. Sensitive fields may be obfuscated in the user interface.
  • tooltip (Optional, string) Tooltip text providing additional information about the configuration. This text appears when the user hovers over the info icon next to the configuration field.
  • type (Required, string) The type of the configuration field, such as str, int, bool, list. This defines the data type and format of the field’s value.
  • ui_restrictions (Required, array of strings) A list of UI restrictions. These restrictions define where in the user interface this field should be available or restricted.
  • validations (Required, array of ConfigurationValidation) An array of rules for validating the field’s value. Each validation specifies a type and a constraint that the field’s value must meet.
  • value (Required, string | number | bool) The current value of the configuration. This is the actual value set for the field and is used by the connector during its operations.

ConfigurationDependency represents a dependency that a configuration field has on another field’s value. It contains the following attributes:

  • field (Required, string) The name of the field in the configuration that this dependency relates to.
  • value (Required, string | number | bool) The required value of the specified field for this dependency to be met.

ConfigurationSelectOption defines an option within a selectable configuration field. It contains the following attributes:

  • label (Required, string) The display label for the option.
  • value (Required, string) The actual value associated with the option.

ConfigurationValidation specifies validation rules for configuration fields. Each ConfigurationValidation instance enforces a specific type of validation based on its type and constraint. It contains the following attributes:

  • constraint (Required, string | number) The validation constraint. The nature of this constraint depends on the validation type. It could be a numeric value, a list, a regular expression pattern.
  • type (Required, ConfigurationValidationType) The type of validation to be performed. Possible values include: less_than, greater_than, list_type, included_in, regex and unset.

Response codes

edit
200
Connector configuration was successfully updated.
400
The connector_id was not provided or the request payload was malformed.
404 (Missing resources)
No connector matching connector_id could be found.

Examples

edit

The following example updates the configuration for the connector with ID my-connector:

response = client.connector.update_configuration(
  connector_id: 'my-connector',
  body: {
    configuration: {
      service_account_credentials: {
        default_value: nil,
        depends_on: [],
        display: 'textarea',
        label: 'Google Drive service account JSON',
        options: [],
        order: 1,
        required: true,
        sensitive: true,
        tooltip: 'This connectors authenticates as a service account to synchronize content from Google Drive.',
        type: 'str',
        ui_restrictions: [],
        validations: [],
        value: '...service account JSON...'
      }
    }
  }
)
puts response
PUT _connector/my-connector/_configuration
{
    "configuration": {
        "service_account_credentials": {
            "default_value": null,
            "depends_on": [],
            "display": "textarea",
            "label": "Google Drive service account JSON",
            "options": [],
            "order": 1,
            "required": true,
            "sensitive": true,
            "tooltip": "This connectors authenticates as a service account to synchronize content from Google Drive.",
            "type": "str",
            "ui_restrictions": [],
            "validations": [],
            "value": "...service account JSON..."
        }
    }
}
{
    "result": "updated"
}
Was this helpful?
Feedback