Update connector configuration API
editUpdate connector configuration API
editThis 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
editPUT _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 ofConfigurationDependency
) 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
anddropdown
. -
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 ofConfigurationSelectOption
) 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 asstr
,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 ofConfigurationValidation
) 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
andunset
.
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
editThe 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" }