[DOCS][OAS] Add descriptions, tags, deprecation to connector APIs (#184956)

This commit is contained in:
Lisa Cawley 2024-07-25 14:46:30 -07:00 committed by GitHub
parent 15942bf69a
commit e6795e5b0a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
42 changed files with 963 additions and 2200 deletions

View file

@ -273,8 +273,9 @@ paths:
type: string
/api/actions/connector:
post:
summary: Create a connector
summary: Create a connector with a random ID
operationId: createConnector
description: The connector identifier is randomly generated.
tags:
- connectors
parameters:
@ -320,8 +321,6 @@ paths:
#/components/examples/Connectors_create_xmatters_connector_response
'401':
$ref: '#/components/responses/Connectors_401'
security:
- Connectors_apiKeyAuth: []
/api/actions/connector/{connectorId}:
get:
summary: Get a connector information
@ -344,8 +343,6 @@ paths:
$ref: '#/components/responses/Connectors_401'
'404':
$ref: '#/components/responses/Connectors_404'
security:
- Connectors_apiKeyAuth: []
delete:
summary: Delete a connector
operationId: deleteConnector
@ -361,8 +358,6 @@ paths:
$ref: '#/components/responses/Connectors_401'
'404':
$ref: '#/components/responses/Connectors_404'
security:
- Connectors_apiKeyAuth: []
post:
summary: Create a connector
operationId: createConnectorId
@ -402,8 +397,6 @@ paths:
#/components/examples/Connectors_create_index_connector_response
'401':
$ref: '#/components/responses/Connectors_401'
security:
- Connectors_apiKeyAuth: []
put:
summary: Update a connector
operationId: updateConnector
@ -435,8 +428,6 @@ paths:
$ref: '#/components/responses/Connectors_401'
'404':
$ref: '#/components/responses/Connectors_404'
security:
- Connectors_apiKeyAuth: []
/api/actions/connectors:
get:
summary: Get all connectors
@ -458,8 +449,6 @@ paths:
$ref: '#/components/examples/Connectors_get_connectors_response'
'401':
$ref: '#/components/responses/Connectors_401'
security:
- Connectors_apiKeyAuth: []
/api/actions/connector_types:
get:
summary: Get all connector types
@ -532,8 +521,6 @@ paths:
#/components/examples/Connectors_get_connector_types_generativeai_response
'401':
$ref: '#/components/responses/Connectors_401'
security:
- Connectors_apiKeyAuth: []
/api/data_views:
get:
summary: Get all data views
@ -2048,42 +2035,6 @@ paths:
security:
- Kibana_HTTP_APIs_basicAuth: []
components:
securitySchemes:
Connectors_apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: >
Serverless APIs support only key-based authentication. You must create
an API key and use the encoded value in the request header. For example:
'Authorization: ApiKey base64AccessApiKey'.
Machine_learning_APIs_apiKeyAuth:
type: apiKey
in: header
name: ApiKey
Serverless_saved_objects_apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: >
Serverless APIs support only key-based authentication. You must create
an API key and use the encoded value in the request header. For example:
'Authorization: ApiKey base64AccessApiKey'.
SLOs_basicAuth:
type: http
scheme: basic
SLOs_apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: 'e.g. Authorization: ApiKey base64AccessApiKey'
Kibana_HTTP_APIs_apiKeyAuth:
in: header
name: Authorization
type: apiKey
Kibana_HTTP_APIs_basicAuth:
scheme: basic
type: http
parameters:
Connectors_kbn_xsrf:
schema:
@ -9111,6 +9062,34 @@ components:
example: 404
enum:
- 404
securitySchemes:
Machine_learning_APIs_apiKeyAuth:
type: apiKey
in: header
name: ApiKey
Serverless_saved_objects_apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: >
Serverless APIs support only key-based authentication. You must create
an API key and use the encoded value in the request header. For example:
'Authorization: ApiKey base64AccessApiKey'.
SLOs_basicAuth:
type: http
scheme: basic
SLOs_apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: 'e.g. Authorization: ApiKey base64AccessApiKey'
Kibana_HTTP_APIs_apiKeyAuth:
in: header
name: Authorization
type: apiKey
Kibana_HTTP_APIs_basicAuth:
scheme: basic
type: http
x-tagGroups:
- name: APM UI
tags:

File diff suppressed because it is too large Load diff

View file

@ -8,5 +8,12 @@
import { schema } from '@kbn/config-schema';
export const connectorTypesQuerySchema = schema.object({
feature_id: schema.maybe(schema.string()),
feature_id: schema.maybe(
schema.string({
meta: {
description:
'A filter to limit the retrieved connector types to those that support a specific feature (such as alerting or cases).',
},
})
),
});

View file

@ -8,5 +8,7 @@
import { schema } from '@kbn/config-schema';
export const getConnectorParamsSchema = schema.object({
id: schema.string(),
id: schema.string({
meta: { description: 'An identifier for the connector.' },
}),
});

View file

@ -13,15 +13,7 @@ A guide about the openApi specification can be found at [https://swagger.io/docs
## Tools
It is possible to validate the docs before bundling them with the following
command in the `x-pack/plugins/actions/docs/openapi/` folder:
```
npx swagger-cli validate entrypoint.yaml
npx swagger-cli validate entrypoint_serverless.yaml
```
Then you can generate the `bundled` files by running the following commands:
You can generate the `bundled` files by running the following commands:
```
npx @redocly/cli bundle entrypoint.yaml --output bundled.yaml --ext yaml
@ -30,9 +22,4 @@ npx @redocly/cli bundle entrypoint_serverless.yaml --output bundled_serverless.y
npx @redocly/cli bundle entrypoint_serverless.yaml --output bundled_serverless.json --ext json
```
You can run additional linting with the following command:
```
npx @redocly/cli lint bundled.json
npx @redocly/cli lint bundled_serverless.json
```
Then join these files with the rest of the Kibana APIs per `oas_docs/README.md`

File diff suppressed because it is too large Load diff

View file

@ -10,341 +10,15 @@ info:
url: https://www.elastic.co/licensing/elastic-license
servers:
- url: /
security:
- basicAuth: []
- apiKeyAuth: []
tags:
- name: connectors
description: Connector APIs enable you to create and manage connectors.
paths:
/s/{spaceId}/api/actions/connector:
post:
summary: Create a connector
operationId: createConnectorWithSpaceId
description: |
You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/space_id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/create_connector_request'
examples:
createEmailConnectorRequest:
$ref: '#/components/examples/create_email_connector_request'
createIndexConnectorRequest:
$ref: '#/components/examples/create_index_connector_request'
createWebhookConnectorRequest:
$ref: '#/components/examples/create_webhook_connector_request'
createXmattersConnectorRequest:
$ref: '#/components/examples/create_xmatters_connector_request'
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
$ref: '#/components/schemas/connector_response_properties'
examples:
createEmailConnectorResponse:
$ref: '#/components/examples/create_email_connector_response'
createIndexConnectorResponse:
$ref: '#/components/examples/create_index_connector_response'
createWebhookConnectorResponse:
$ref: '#/components/examples/create_webhook_connector_response'
createXmattersConnectorResponse:
$ref: '#/components/examples/create_xmatters_connector_response'
'401':
$ref: '#/components/responses/401'
/s/{spaceId}/api/actions/connector/{connectorId}:
get:
summary: Get connector information
operationId: getConnectorWithSpaceId
description: |
You must have `read` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/connector_id'
- $ref: '#/components/parameters/space_id'
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
$ref: '#/components/schemas/connector_response_properties'
examples:
getConnectorResponse:
$ref: '#/components/examples/get_connector_response'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
delete:
summary: Delete a connector
operationId: deleteConnectorWithSpaceId
description: |
You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges. WARNING: When you delete a connector, it cannot be recovered.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/connector_id'
- $ref: '#/components/parameters/space_id'
responses:
'204':
description: Indicates a successful call.
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
post:
summary: Create a connector
operationId: createConnectorIdWithSpaceId
description: |
You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/space_id'
- in: path
name: connectorId
description: A UUID v1 or v4 identifier for the connector. If you omit this parameter, an identifier is randomly generated.
required: true
schema:
type: string
example: ac4e6b90-6be7-11eb-ba0d-9b1c1f912d74
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/create_connector_request'
examples:
createIndexConnectorRequest:
$ref: '#/components/examples/create_index_connector_request'
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
$ref: '#/components/schemas/connector_response_properties'
examples:
createIndexConnectorResponse:
$ref: '#/components/examples/create_index_connector_response'
'401':
$ref: '#/components/responses/401'
put:
summary: Update a connector
operationId: updateConnectorWithSpaceId
description: |
You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/connector_id'
- $ref: '#/components/parameters/space_id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/update_connector_request'
examples:
updateIndexConnectorRequest:
$ref: '#/components/examples/update_index_connector_request'
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
$ref: '#/components/schemas/connector_response_properties'
'400':
$ref: '#/components/responses/401'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
/s/{spaceId}/api/actions/connectors:
get:
summary: Get all connectors
operationId: getConnectorsWithSpaceId
description: |
You must have `read` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/space_id'
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/connector_response_properties'
examples:
getConnectorsResponse:
$ref: '#/components/examples/get_connectors_response'
'401':
$ref: '#/components/responses/401'
/s/{spaceId}/api/actions/connector_types:
get:
summary: Get all connector types
operationId: getConnectorTypesWithSpaceId
description: |
You do not need any Kibana feature privileges to run this API.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/space_id'
- in: query
name: feature_id
description: A filter to limit the retrieved connector types to those that support a specific feature (such as alerting or cases).
schema:
$ref: '#/components/schemas/features'
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
title: Get connector types response body properties
description: The properties vary for each connector type.
type: array
items:
type: object
properties:
enabled:
type: boolean
description: Indicates whether the connector type is enabled in Kibana.
example: true
enabled_in_config:
type: boolean
description: Indicates whether the connector type is enabled in the Kibana `.yml` file.
example: true
enabled_in_license:
type: boolean
description: Indicates whether the connector is enabled in the license.
example: true
id:
$ref: '#/components/schemas/connector_types'
minimum_license_required:
type: string
description: The license that is required to use the connector type.
example: basic
name:
type: string
description: The name of the connector type.
example: Index
supported_feature_ids:
type: array
description: The Kibana features that are supported by the connector type.
items:
$ref: '#/components/schemas/features'
example:
- alerting
- uptime
- siem
examples:
getConnectorTypesResponse:
$ref: '#/components/examples/get_connector_types_response'
'401':
$ref: '#/components/responses/401'
/s/{spaceId}/api/actions/connector/{connectorId}/_execute:
post:
summary: Run a connector
operationId: runConnectorWithSpaceId
description: |
You can use this API to test an action that involves interaction with Kibana services or integrations with third-party systems. You must have `read` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges. If you use an index connector, you must also have `all`, `create`, `index`, or `write` indices privileges.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/connector_id'
- $ref: '#/components/parameters/space_id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/run_connector_request'
examples:
runIndexConnectorRequest:
$ref: '#/components/examples/run_index_connector_request'
runJiraConnectorRequest:
$ref: '#/components/examples/run_jira_connector_request'
runServerLogConnectorRequest:
$ref: '#/components/examples/run_server_log_connector_request'
runServiceNowITOMConnectorRequest:
$ref: '#/components/examples/run_servicenow_itom_connector_request'
runSlackConnectorRequest:
$ref: '#/components/examples/run_slack_api_connector_request'
runSwimlaneConnectorRequest:
$ref: '#/components/examples/run_swimlane_connector_request'
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
type: object
required:
- connector_id
- status
properties:
connector_id:
type: string
description: The identifier for the connector.
data:
oneOf:
- type: object
description: Information returned from the action.
additionalProperties: true
- type: array
description: An array of information returned from the action.
items:
type: object
message:
type: string
service_message:
type: string
status:
type: string
description: The status of the action.
enum:
- error
- ok
examples:
runIndexConnectorResponse:
$ref: '#/components/examples/run_index_connector_response'
runJiraConnectorResponse:
$ref: '#/components/examples/run_jira_connector_response'
runServerLogConnectorResponse:
$ref: '#/components/examples/run_server_log_connector_response'
runServiceNowITOMConnectorResponse:
$ref: '#/components/examples/run_servicenow_itom_connector_response'
runSlackConnectorResponse:
$ref: '#/components/examples/run_slack_api_connector_response'
runSwimlaneConnectorResponse:
$ref: '#/components/examples/run_swimlane_connector_response'
'401':
$ref: '#/components/responses/401'
/api/actions/connector:
post:
summary: Create a connector
summary: Create a connector with a random ID
operationId: createConnector
description: The connector identifier is randomly generated.
tags:
- connectors
parameters:
@ -654,7 +328,7 @@ paths:
$ref: '#/components/examples/get_connector_types_generativeai_response'
'401':
$ref: '#/components/responses/401'
/s/{spaceId}/api/actions/action/{actionId}:
/api/actions/action/{actionId}:
delete:
summary: Delete a connector
operationId: legacyDeleteConnector
@ -666,7 +340,6 @@ paths:
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/action_id'
- $ref: '#/components/parameters/space_id'
responses:
'204':
description: Indicates a successful call.
@ -681,7 +354,6 @@ paths:
- connectors
parameters:
- $ref: '#/components/parameters/action_id'
- $ref: '#/components/parameters/space_id'
responses:
'200':
$ref: '#/components/responses/200_actions'
@ -697,7 +369,6 @@ paths:
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/action_id'
- $ref: '#/components/parameters/space_id'
requestBody:
required: true
content:
@ -721,7 +392,7 @@ paths:
$ref: '#/components/responses/200_actions'
'404':
$ref: '#/components/responses/404'
/s/{spaceId}/api/actions:
/api/actions:
get:
summary: Get all connectors
operationId: legacyGetConnectors
@ -729,8 +400,6 @@ paths:
description: Deprecated in 7.13.0. Use the get all connectors API instead.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/space_id'
responses:
'200':
description: Indicates a successful call.
@ -751,7 +420,6 @@ paths:
- connectors
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/space_id'
requestBody:
required: true
content:
@ -778,7 +446,7 @@ paths:
$ref: '#/components/responses/200_actions'
'401':
$ref: '#/components/responses/401'
/s/{spaceId}/api/actions/list_action_types:
/api/actions/list_action_types:
get:
summary: Get connector types
operationId: legacyGetConnectorTypes
@ -786,8 +454,6 @@ paths:
description: Deprecated in 7.13.0. Use the get all connector types API instead.
tags:
- connectors
parameters:
- $ref: '#/components/parameters/space_id'
responses:
'200':
description: Indicates a successful call.
@ -821,7 +487,7 @@ paths:
description: The name of the connector type.
'401':
$ref: '#/components/responses/401'
/s/{spaceId}/api/actions/action/{actionId}/_execute:
/api/actions/action/{actionId}/_execute:
post:
summary: Run a connector
operationId: legacyRunConnector
@ -832,7 +498,6 @@ paths:
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/action_id'
- $ref: '#/components/parameters/space_id'
requestBody:
required: true
content:
@ -872,15 +537,6 @@ paths:
'401':
$ref: '#/components/responses/401'
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: 'e.g. Authorization: ApiKey base64AccessApiKey'
parameters:
kbn_xsrf:
schema:
@ -889,14 +545,6 @@ components:
name: kbn-xsrf
description: Cross-site request forgery protection
required: true
space_id:
in: path
name: spaceId
description: An identifier for the space. If `/s/` and the identifier are omitted from the path, the default space is used.
required: true
schema:
type: string
example: default
connector_id:
in: path
name: connectorId
@ -3672,48 +3320,6 @@ components:
- $ref: '#/components/schemas/update_connector_request_torq'
- $ref: '#/components/schemas/update_connector_request_webhook'
- $ref: '#/components/schemas/update_connector_request_xmatters'
features:
type: string
description: |
The feature that uses the connector.
enum:
- alerting
- cases
- generativeAIForSecurity
- generativeAIForObservability
- generativeAIForSearchPlayground
- siem
- uptime
connector_types:
title: Connector types
type: string
description: The type of connector. For example, `.email`, `.index`, `.jira`, `.opsgenie`, or `.server-log`.
enum:
- .bedrock
- .gemini
- .cases-webhook
- .d3security
- .email
- .gen-ai
- .index
- .jira
- .opsgenie
- .pagerduty
- .resilient
- .sentinelone
- .servicenow
- .servicenow-itom
- .servicenow-sir
- .server-log
- .slack
- .slack_api
- .swimlane
- .teams
- .tines
- .torq
- .webhook
- .xmatters
example: .server-log
run_connector_params_acknowledge_resolve_pagerduty:
title: PagerDuty connector parameters
description: Test an action that acknowledges or resolves a PagerDuty alert.
@ -3775,7 +3381,7 @@ components:
items:
type: string
description: |
A list of "carbon copy" email addresses. Addresses can be specified in `user@host-name` format or in name `<user@host-name>` format
A list of "carbon copy" email addresses. Addresses can be specified in `user@host-name` format or in name `<user@host-name>` format
message:
type: string
description: The email message text. Markdown format is supported.
@ -4502,6 +4108,48 @@ components:
issues: '#/components/schemas/run_connector_subaction_issues'
issueTypes: '#/components/schemas/run_connector_subaction_issuetypes'
pushToService: '#/components/schemas/run_connector_subaction_pushtoservice'
features:
type: string
description: |
The feature that uses the connector.
enum:
- alerting
- cases
- generativeAIForSecurity
- generativeAIForObservability
- generativeAIForSearchPlayground
- siem
- uptime
connector_types:
title: Connector types
type: string
description: The type of connector. For example, `.email`, `.index`, `.jira`, `.opsgenie`, or `.server-log`.
enum:
- .bedrock
- .gemini
- .cases-webhook
- .d3security
- .email
- .gen-ai
- .index
- .jira
- .opsgenie
- .pagerduty
- .resilient
- .sentinelone
- .servicenow
- .servicenow-itom
- .servicenow-sir
- .server-log
- .slack
- .slack_api
- .swimlane
- .teams
- .tines
- .torq
- .webhook
- .xmatters
example: .server-log
action_response_properties:
title: Action response properties
description: The properties vary depending on the action type.
@ -4652,60 +4300,37 @@ components:
name: updated-connector
config:
index: updated-index
get_connectors_response:
summary: A list of connectors
run_cases_webhook_connector_request:
summary: Run a Webhook - Case Management connector to create a case.
value:
- id: preconfigured-email-connector
name: my-preconfigured-email-notification
connector_type_id: .email
is_preconfigured: true
is_deprecated: false
referenced_by_count: 0
is_system_action: false
- id: e07d0c80-8b8b-11ed-a780-3b746c987a81
name: my-index-connector
config:
index: test-index
refresh: false
executionTimeField: null
connector_type_id: .index
is_preconfigured: false
is_deprecated: false
referenced_by_count: 2
is_missing_secrets: false
is_system_action: false
get_connector_types_response:
summary: A list of connector types
params:
subAction: pushToService
subActionParams:
comments:
- commentId: 1
comment: A comment about the incident.
incident:
title: Case title
description: Description of the incident.
tags:
- tag1
- tag2
severity: low
status: open
id: caseID
run_email_connector_request:
summary: Send an email message from an email connector.
value:
- id: .swimlane
name: Swimlane
enabled: true
enabled_in_config: true
enabled_in_license: true
minimum_license_required: gold
supported_feature_ids:
- alerting
- cases
- siem
- id: .index
name: Index
enabled: true
enabled_in_config: true
enabled_in_license: true
minimum_license_required: basic
supported_feature_ids:
- alerting
- uptime
- siem
- id: .server-log
name: Server log
enabled: true
enabled_in_config: true
enabled_in_license: true
minimum_license_required: basic
supported_feature_ids:
- alerting
- uptime
params:
bcc:
- user1@example.com
cc:
- user2@example.com
- user3@example.com
message: Test email message.
subject: Test message subject
to:
- user4@example.com
run_index_connector_request:
summary: Run an index connector.
value:
@ -4719,6 +4344,17 @@ components:
value:
params:
subAction: issueTypes
run_pagerduty_connector_request:
summary: Run a PagerDuty connector to trigger an alert.
value:
params:
eventAction: trigger
summary: A brief event summary
links:
- href: http://example.com/pagerduty
text: An example link
customDetails:
my_data_1: test data
run_server_log_connector_request:
summary: Run a server log connector.
value:
@ -4756,6 +4392,43 @@ components:
caseId: '1000'
caseName: Case name
description: Description of the incident.
run_cases_webhook_connector_response:
summary: Response from a pushToService action for a Webhook - Case Management connector.
value:
connector_id: 1824b5b8-c005-4dcc-adac-57f92db46459
data:
id: 100665
title: TEST-29034
url: https://example.com/browse/TEST-29034
pushedDate: '2023-12-05T19:43:36.360Z'
comments:
- commentId: 1
pushedDate: '2023-12-05T19:43:36.360Z'
status: ok
run_email_connector_response:
summary: Response for sending a message from an email connector.
value:
connector_id: 7fc7b9a0-ecc9-11ec-8736-e7d63118c907
data:
accepted:
- user1@example.com
- user2@example.com
- user3@example.com
- user4@example.com
envelope:
from: tester@example.com
to:
- user1@example.com
- user2@example.com
- user3@example.com
- user4@example.com
envelopeTime: 8
messageTime: 3
messageSize: 729
response: 250 Message queued as QzEXKcGJ
messageId: <08a92d29-642a-0706-750c-de5996bd5cf3@example.com>
rejected: []
status: ok
run_index_connector_response:
summary: Response from running an index connector.
value:
@ -4795,6 +4468,15 @@ components:
- id: 10000
name: Epic
status: ok
run_pagerduty_connector_response:
summary: Response from running a PagerDuty connector.
value:
connector_id: 45de9f70-954f-4608-b12a-db7cf808e49d
data:
dedup_key: 5115e138b26b484a81eaea779faa6016
message: Event processed
status: success
status: ok
run_server_log_connector_response:
summary: Response from running a server log connector.
value:
@ -4889,94 +4571,28 @@ components:
- commentId: 1
pushedDate: '2022-09-08T16:52:27.865Z'
status: ok
run_cases_webhook_connector_request:
summary: Run a Webhook - Case Management connector to create a case.
get_connectors_response:
summary: A list of connectors
value:
params:
subAction: pushToService
subActionParams:
comments:
- commentId: 1
comment: A comment about the incident.
incident:
title: Case title
description: Description of the incident.
tags:
- tag1
- tag2
severity: low
status: open
id: caseID
run_email_connector_request:
summary: Send an email message from an email connector.
value:
params:
bcc:
- user1@example.com
cc:
- user2@example.com
- user3@example.com
message: Test email message.
subject: Test message subject
to:
- user4@example.com
run_pagerduty_connector_request:
summary: Run a PagerDuty connector to trigger an alert.
value:
params:
eventAction: trigger
summary: A brief event summary
links:
- href: http://example.com/pagerduty
text: An example link
customDetails:
my_data_1: test data
run_cases_webhook_connector_response:
summary: Response from a pushToService action for a Webhook - Case Management connector.
value:
connector_id: 1824b5b8-c005-4dcc-adac-57f92db46459
data:
id: 100665
title: TEST-29034
url: https://example.com/browse/TEST-29034
pushedDate: '2023-12-05T19:43:36.360Z'
comments:
- commentId: 1
pushedDate: '2023-12-05T19:43:36.360Z'
status: ok
run_email_connector_response:
summary: Response for sending a message from an email connector.
value:
connector_id: 7fc7b9a0-ecc9-11ec-8736-e7d63118c907
data:
accepted:
- user1@example.com
- user2@example.com
- user3@example.com
- user4@example.com
envelope:
from: tester@example.com
to:
- user1@example.com
- user2@example.com
- user3@example.com
- user4@example.com
envelopeTime: 8
messageTime: 3
messageSize: 729
response: 250 Message queued as QzEXKcGJ
messageId: <08a92d29-642a-0706-750c-de5996bd5cf3@example.com>
rejected: []
status: ok
run_pagerduty_connector_response:
summary: Response from running a PagerDuty connector.
value:
connector_id: 45de9f70-954f-4608-b12a-db7cf808e49d
data:
dedup_key: 5115e138b26b484a81eaea779faa6016
message: Event processed
status: success
status: ok
- id: preconfigured-email-connector
name: my-preconfigured-email-notification
connector_type_id: .email
is_preconfigured: true
is_deprecated: false
referenced_by_count: 0
is_system_action: false
- id: e07d0c80-8b8b-11ed-a780-3b746c987a81
name: my-index-connector
config:
index: test-index
refresh: false
executionTimeField: null
connector_type_id: .index
is_preconfigured: false
is_deprecated: false
referenced_by_count: 2
is_missing_secrets: false
is_system_action: false
get_connector_types_generativeai_response:
summary: A list of connector types for the `generativeAI` feature.
value:

View file

@ -22,11 +22,6 @@
}
}
],
"security": [
{
"apiKeyAuth": []
}
],
"tags": [
{
"name": "connectors",
@ -36,8 +31,9 @@
"paths": {
"/api/actions/connector": {
"post": {
"summary": "Create a connector",
"summary": "Create a connector with a random ID",
"operationId": "createConnector",
"description": "The connector identifier is randomly generated.",
"tags": [
"connectors"
],
@ -396,14 +392,6 @@
}
},
"components": {
"securitySchemes": {
"apiKeyAuth": {
"type": "apiKey",
"in": "header",
"name": "Authorization",
"description": "Serverless APIs support only key-based authentication. You must create an API key and use the encoded value in the request header. For example: 'Authorization: ApiKey base64AccessApiKey'.\n"
}
},
"parameters": {
"kbn_xsrf": {
"schema": {
@ -1422,7 +1410,7 @@
"type": "boolean"
},
"host": {
"description": "The host name of the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. \n",
"description": "The host name of the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined.\n",
"type": "string"
},
"oauthTokenUrl": {
@ -1430,7 +1418,7 @@
"nullable": true
},
"port": {
"description": "The port to connect to on the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. \n",
"description": "The port to connect to on the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined.\n",
"type": "integer"
},
"secure": {
@ -3558,7 +3546,7 @@
},
"is_preconfigured": {
"type": "boolean",
"description": "Indicates whether it is a preconfigured connector. If true, the `config` and `is_missing_secrets` properties are omitted from the response. \n",
"description": "Indicates whether it is a preconfigured connector. If true, the `config` and `is_missing_secrets` properties are omitted from the response.\n",
"example": false
},
"is_system_action": {
@ -4537,4 +4525,4 @@
}
}
}
}
}

View file

@ -13,16 +13,15 @@ servers:
variables:
kibanaUrl:
default: localhost:5601
security:
- apiKeyAuth: []
tags:
- name: connectors
description: Connector APIs enable you to create and manage connectors.
paths:
/api/actions/connector:
post:
summary: Create a connector
summary: Create a connector with a random ID
operationId: createConnector
description: The connector identifier is randomly generated.
tags:
- connectors
parameters:
@ -247,13 +246,6 @@ paths:
'401':
$ref: '#/components/responses/401'
components:
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: |
Serverless APIs support only key-based authentication. You must create an API key and use the encoded value in the request header. For example: 'Authorization: ApiKey base64AccessApiKey'.
parameters:
kbn_xsrf:
schema:

View file

@ -0,0 +1,9 @@
schema:
type: string
enum:
- 2023-10-31
default: 2023-10-31
in: header
name: elastic-api-version
description: In Elastic Serverless, indicates the version of the API to use.
required: true

View file

@ -23,7 +23,7 @@ properties:
description: >
The host name of the service provider.
If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored.
If `service` is `other`, this property must be defined.
If `service` is `other`, this property must be defined.
type: string
oauthTokenUrl:
# description: TBD
@ -33,7 +33,7 @@ properties:
description: >
The port to connect to on the service provider.
If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored.
If `service` is `other`, this property must be defined.
If `service` is `other`, this property must be defined.
type: integer
secure:
description: >

View file

@ -1,5 +1,5 @@
title: Connector response properties
description: The properties vary depending on the connector type.
description: The properties vary depending on the connector type.
oneOf:
- $ref: 'connector_response_properties_bedrock.yaml'
- $ref: 'connector_response_properties_gemini.yaml'

View file

@ -10,7 +10,7 @@ properties:
config:
$ref: 'config_properties_cases_webhook.yaml'
connector_type_id:
description: The type of connector.
description: The type of connector.
type: string
enum:
- .cases-webhook

View file

@ -11,7 +11,7 @@ properties:
$ref: 'config_properties_opsgenie.yaml'
connector_type_id:
type: string
description: The type of connector.
description: The type of connector.
enum:
- .opsgenie
id:

View file

@ -11,7 +11,7 @@ properties:
$ref: 'config_properties_resilient.yaml'
connector_type_id:
type: string
description: The type of connector.
description: The type of connector.
enum:
- .resilient
id:

View file

@ -1,5 +1,5 @@
type: boolean
description: >
Indicates whether it is a preconfigured connector.
If true, the `config` and `is_missing_secrets` properties are omitted from the response.
If true, the `config` and `is_missing_secrets` properties are omitted from the response.
example: false

View file

@ -16,4 +16,4 @@ properties:
description: The password for the RSA private key. This property is required when `isOAuth` is `true` and you set a password on your private key.
username:
type: string
description: The username for HTTP basic authentication. This property is required when `isOAuth` is `false`.
description: The username for HTTP basic authentication. This property is required when `isOAuth` is `false`.

View file

@ -14,16 +14,6 @@ tags:
servers:
- url: /
paths:
'/s/{spaceId}/api/actions/connector':
$ref: 'paths/s@{spaceid}@api@actions@connector.yaml'
'/s/{spaceId}/api/actions/connector/{connectorId}':
$ref: 'paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml'
'/s/{spaceId}/api/actions/connectors':
$ref: paths/s@{spaceid}@api@actions@connectors.yaml
'/s/{spaceId}/api/actions/connector_types':
$ref: paths/s@{spaceid}@api@actions@connector_types.yaml
'/s/{spaceId}/api/actions/connector/{connectorId}/_execute':
$ref: paths/s@{spaceid}@api@actions@connector@{connectorid}@_execute.yaml
# Default space
'/api/actions/connector':
$ref: 'paths/api@actions@connector.yaml'
@ -36,24 +26,43 @@ paths:
'/api/actions/connector_types':
$ref: paths/api@actions@connector_types.yaml
# Deprecated endpoints:
'/s/{spaceId}/api/actions/action/{actionId}':
$ref: 'paths/s@{spaceid}@api@actions@action@{actionid}.yaml'
'/s/{spaceId}/api/actions':
$ref: 'paths/s@{spaceid}@api@actions.yaml'
'/s/{spaceId}/api/actions/list_action_types':
$ref: 'paths/s@{spaceid}@api@actions@list_action_types.yaml'
'/s/{spaceId}/api/actions/action/{actionId}/_execute':
$ref: 'paths/s@{spaceid}@api@actions@action@{actionid}@_execute.yaml'
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: 'e.g. Authorization: ApiKey base64AccessApiKey'
security:
- basicAuth: []
- apiKeyAuth: []
'/api/actions/action/{actionId}':
$ref: 'paths/api@actions@action@{actionid}.yaml'
'/api/actions':
$ref: 'paths/api@actions.yaml'
'/api/actions/list_action_types':
$ref: 'paths/api@actions@list_action_types.yaml'
'/api/actions/action/{actionId}/_execute':
$ref: 'paths/api@actions@action@{actionid}@_execute.yaml'
# Non-default space
# '/s/{spaceId}/api/actions/connector':
# $ref: 'paths/s@{spaceid}@api@actions@connector.yaml'
# '/s/{spaceId}/api/actions/connector/{connectorId}':
# $ref: 'paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml'
# '/s/{spaceId}/api/actions/connectors':
# $ref: paths/s@{spaceid}@api@actions@connectors.yaml
# '/s/{spaceId}/api/actions/connector_types':
# $ref: paths/s@{spaceid}@api@actions@connector_types.yaml
# '/s/{spaceId}/api/actions/connector/{connectorId}/_execute':
# $ref: paths/s@{spaceid}@api@actions@connector@{connectorid}@_execute.yaml
# '/s/{spaceId}/api/actions/action/{actionId}':
# $ref: 'paths/s@{spaceid}@api@actions@action@{actionid}.yaml'
# '/s/{spaceId}/api/actions':
# $ref: 'paths/s@{spaceid}@api@actions.yaml'
# '/s/{spaceId}/api/actions/list_action_types':
# $ref: 'paths/s@{spaceid}@api@actions@list_action_types.yaml'
# '/s/{spaceId}/api/actions/action/{actionId}/_execute':
# $ref: 'paths/s@{spaceid}@api@actions@action@{actionid}@_execute.yaml'
# components:
# securitySchemes:
# basicAuth:
# type: http
# scheme: basic
# apiKeyAuth:
# type: apiKey
# in: header
# name: Authorization
# description: 'e.g. Authorization: ApiKey base64AccessApiKey'
# security:
# - basicAuth: []
# - apiKeyAuth: []

View file

@ -25,15 +25,15 @@ paths:
$ref: paths/api@actions@connectors.yaml
'/api/actions/connector_types':
$ref: paths/api@actions@connector_types.yaml
components:
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: >
Serverless APIs support only key-based authentication.
You must create an API key and use the encoded value in the request header.
For example: 'Authorization: ApiKey base64AccessApiKey'.
security:
- apiKeyAuth: []
# components:
# securitySchemes:
# apiKeyAuth:
# type: apiKey
# in: header
# name: Authorization
# description: >
# Serverless APIs support only key-based authentication.
# You must create an API key and use the encoded value in the request header.
# For example: 'Authorization: ApiKey base64AccessApiKey'.
# security:
# - apiKeyAuth: []

View file

@ -0,0 +1,56 @@
get:
summary: Get all connectors
operationId: legacyGetConnectors
deprecated: true
description: Deprecated in 7.13.0. Use the get all connectors API instead.
tags:
- connectors
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
type: array
items:
$ref: '../components/schemas/action_response_properties.yaml'
'401':
$ref: '../components/responses/401.yaml'
post:
summary: Create a connector
operationId: legacyCreateConnector
deprecated: true
description: Deprecated in 7.13.0. Use the create connector API instead.
tags:
- connectors
parameters:
- $ref: '../components/headers/kbn_xsrf.yaml'
requestBody:
required: true
content:
application/json:
schema:
title: Legacy create connector request properties
type: object
properties:
actionTypeId:
type: string
description: The connector type identifier.
config:
type: object
description: The configuration for the connector. Configuration properties vary depending on the connector type.
name:
type: string
description: The display name for the connector.
secrets:
type: object
description: >
The secrets configuration for the connector.
Secrets configuration properties vary depending on the connector type.
NOTE: Remember these values. You must provide them each time you update the connector.
responses:
'200':
$ref: '../components/responses/200_actions.yaml'
'401':
$ref: '../components/responses/401.yaml'

View file

@ -0,0 +1,66 @@
delete:
summary: Delete a connector
operationId: legacyDeleteConnector
deprecated: true
description: >
Deprecated in 7.13.0. Use the delete connector API instead.
WARNING: When you delete a connector, it cannot be recovered.
tags:
- connectors
parameters:
- $ref: '../components/headers/kbn_xsrf.yaml'
- $ref: '../components/parameters/action_id.yaml'
responses:
'204':
description: Indicates a successful call.
'401':
$ref: '../components/responses/401.yaml'
get:
summary: Get connector information
operationId: legacyGetConnector
description: Deprecated in 7.13.0. Use the get connector API instead.
deprecated: true
tags:
- connectors
parameters:
- $ref: '../components/parameters/action_id.yaml'
responses:
'200':
$ref: '../components/responses/200_actions.yaml'
'401':
$ref: '../components/responses/401.yaml'
put:
summary: Update a connector
operationId: legacyUpdateConnector
deprecated: true
description: Deprecated in 7.13.0. Use the update connector API instead.
tags:
- connectors
parameters:
- $ref: '../components/headers/kbn_xsrf.yaml'
- $ref: '../components/parameters/action_id.yaml'
requestBody:
required: true
content:
application/json:
schema:
title: Legacy update connector request body properties
description: The properties vary depending on the connector type.
type: object
properties:
config:
type: object
description: The new connector configuration. Configuration properties vary depending on the connector type.
name:
type: string
description: The new name for the connector.
secrets:
type: object
description: The updated secrets configuration for the connector. Secrets properties vary depending on the connector type.
responses:
'200':
$ref: '../components/responses/200_actions.yaml'
'404':
$ref: '../components/responses/404.yaml'

View file

@ -0,0 +1,48 @@
post:
summary: Run a connector
operationId: legacyRunConnector
deprecated: true
description: Deprecated in 7.13.0. Use the run connector API instead.
tags:
- connectors
parameters:
- $ref: '../components/headers/kbn_xsrf.yaml'
- $ref: '../components/parameters/action_id.yaml'
requestBody:
required: true
content:
application/json:
schema:
title: Legacy run connector request body properties
description: The properties vary depending on the connector type.
type: object
required:
- params
properties:
params:
type: object
description: The parameters of the connector. Parameter properties vary depending on the connector type.
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
type: object
properties:
actionId:
type: string
data:
oneOf:
- type: object
description: Information returned from the action.
additionalProperties: true
- type: array
description: An array of information returned from the action.
items:
type: object
status:
type: string
description: The status of the action.
'401':
$ref: '../components/responses/401.yaml'

View file

@ -1,9 +1,11 @@
post:
summary: Create a connector
summary: Create a connector with a random ID
operationId: createConnector
description: The connector identifier is randomly generated.
tags:
- connectors
parameters:
# - $ref: '../components/headers/elastic_api_version.yaml'
- $ref: '../components/headers/kbn_xsrf.yaml'
requestBody:
required: true

View file

@ -4,6 +4,7 @@ get:
tags:
- connectors
parameters:
# - $ref: '../components/headers/elastic_api_version.yaml'
- $ref: '../components/parameters/connector_id.yaml'
responses:
'200':
@ -27,6 +28,7 @@ delete:
- connectors
parameters:
- $ref: '../components/headers/kbn_xsrf.yaml'
# - $ref: '../components/headers/elastic_api_version.yaml'
- $ref: '../components/parameters/connector_id.yaml'
responses:
'204':
@ -42,6 +44,7 @@ post:
tags:
- connectors
parameters:
# - $ref: '../components/headers/elastic_api_version.yaml'
- $ref: '../components/headers/kbn_xsrf.yaml'
- in: path
name: connectorId
@ -80,6 +83,7 @@ put:
tags:
- connectors
parameters:
# - $ref: '../components/headers/elastic_api_version.yaml'
- $ref: '../components/headers/kbn_xsrf.yaml'
- $ref: '../components/parameters/connector_id.yaml'
requestBody:

View file

@ -3,6 +3,8 @@ get:
operationId: getConnectors
tags:
- connectors
# parameters:
# - $ref: '../components/headers/elastic_api_version.yaml'
responses:
'200':
description: Indicates a successful call.

View file

@ -0,0 +1,40 @@
get:
summary: Get connector types
operationId: legacyGetConnectorTypes
deprecated: true
description: Deprecated in 7.13.0. Use the get all connector types API instead.
tags:
- connectors
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
title: Legacy get connector types response body properties
description: The properties vary for each connector type.
type: array
items:
type: object
properties:
enabled:
type: boolean
description: Indicates whether the connector type is enabled in Kibana.
enabledInConfig:
type: boolean
description: Indicates whether the connector type is enabled in the Kibana `.yml` file.
enabledInLicense:
type: boolean
description: Indicates whether the connector is enabled in the license.
example: true
id:
type: string
description: The unique identifier for the connector type.
minimumLicenseRequired:
type: string
description: The license that is required to use the connector type.
name:
type: string
description: The name of the connector type.
'401':
$ref: '../components/responses/401.yaml'

View file

@ -22,7 +22,7 @@ post:
properties:
params:
type: object
description: The parameters of the connector. Parameter properties vary depending on the connector type.
description: The parameters of the connector. Parameter properties vary depending on the connector type.
responses:
'200':
description: Indicates a successful call.

View file

@ -6,6 +6,7 @@ get:
tags:
- connectors
parameters:
# - $ref: '../components/headers/elastic_api_version.yaml'
- $ref: '../components/parameters/space_id.yaml'
- in: query
name: feature_id

View file

@ -26,6 +26,9 @@ export const getConnectorRoute = (
options: {
access: 'public',
summary: `Get connector information`,
tags: ['oas-tag:connectors'],
// description:
// 'You must have `read` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.',
},
validate: {
params: getConnectorParamsSchemaV1,

View file

@ -23,6 +23,9 @@ export const getAllConnectorsRoute = (
options: {
access: 'public',
summary: `Get all connectors`,
tags: ['oas-tag:connectors'],
// description:
// 'You must have `read` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.',
},
validate: {},
},

View file

@ -27,6 +27,8 @@ export const listTypesRoute = (
options: {
access: 'public',
summary: `Get connector types`,
description: 'You do not need any Kibana feature privileges to run this API.',
tags: ['oas-tag:connectors'],
},
validate: {
query: connectorTypesQuerySchemaV1,

View file

@ -14,8 +14,14 @@ import { verifyAccessAndContext } from './verify_access_and_context';
import { CreateOptions } from '../actions_client';
export const bodySchema = schema.object({
name: schema.string({ validate: validateEmptyStrings }),
connector_type_id: schema.string({ validate: validateEmptyStrings }),
name: schema.string({
validate: validateEmptyStrings,
meta: { description: 'The display name for the connector.' },
}),
connector_type_id: schema.string({
validate: validateEmptyStrings,
meta: { description: 'The type of connector.' },
}),
config: schema.recordOf(schema.string(), schema.any({ validate: validateEmptyStrings }), {
defaultValue: {},
}),
@ -56,6 +62,9 @@ export const createActionRoute = (
options: {
access: 'public',
summary: 'Create a connector',
tags: ['oas-tag:connectors'],
// description:
// 'You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.',
},
validate: {
params: schema.maybe(

View file

@ -13,7 +13,9 @@ import { ActionsRequestHandlerContext } from '../types';
import { verifyAccessAndContext } from './verify_access_and_context';
const paramSchema = schema.object({
id: schema.string(),
id: schema.string({
meta: { description: 'An identifier for the connector.' },
}),
});
export const deleteActionRoute = (
@ -26,6 +28,9 @@ export const deleteActionRoute = (
options: {
access: 'public',
summary: `Delete a connector`,
description: 'WARNING: When you delete a connector, it cannot be recovered.',
// You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.
tags: ['oas-tag:connectors'],
},
validate: {
params: paramSchema,

View file

@ -15,7 +15,9 @@ import { asHttpRequestExecutionSource } from '../lib/action_execution_source';
import { verifyAccessAndContext } from './verify_access_and_context';
const paramSchema = schema.object({
id: schema.string(),
id: schema.string({
meta: { description: 'An identifier for the connector.' },
}),
});
const bodySchema = schema.object({
@ -43,7 +45,9 @@ export const executeActionRoute = (
access: 'public',
summary: `Run a connector`,
description:
'You can use this API to test an action that involves interaction with Kibana services or integrations with third-party systems. You must have `read` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges. If you use an index connector, you must also have `all`, `create`, `index`, or `write` indices privileges.',
'You can use this API to test an action that involves interaction with Kibana services or integrations with third-party systems.',
// You must have `read` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges. If you use an index connector, you must also have `all`, `create`, `index`, or `write` indices privileges.
tags: ['oas-tag:connectors'],
},
validate: {
body: bodySchema,

View file

@ -15,8 +15,12 @@ import { verifyAccessAndContext } from '../verify_access_and_context';
import { trackLegacyRouteUsage } from '../../lib/track_legacy_route_usage';
export const bodySchema = schema.object({
name: schema.string(),
actionTypeId: schema.string(),
name: schema.string({
meta: { description: 'The display name for the connector.' },
}),
actionTypeId: schema.string({
meta: { description: 'The connector type identifier.' },
}),
config: schema.recordOf(schema.string(), schema.any(), { defaultValue: {} }),
secrets: schema.recordOf(schema.string(), schema.any(), { defaultValue: {} }),
});
@ -32,6 +36,8 @@ export const createActionRoute = (
options: {
access: 'public',
summary: `Create a connector`,
tags: ['oas-tag:connectors'],
deprecated: true,
},
validate: {
body: bodySchema,

View file

@ -14,7 +14,9 @@ import { ActionsRequestHandlerContext } from '../../types';
import { trackLegacyRouteUsage } from '../../lib/track_legacy_route_usage';
const paramSchema = schema.object({
id: schema.string(),
id: schema.string({
meta: { description: 'An identifier for the connector.' },
}),
});
export const deleteActionRoute = (
@ -28,6 +30,9 @@ export const deleteActionRoute = (
options: {
access: 'public',
summary: `Delete a connector`,
description: 'WARNING: When you delete a connector, it cannot be recovered.',
tags: ['oas-tag:connectors'],
deprecated: true,
},
validate: {
params: paramSchema,

View file

@ -16,7 +16,9 @@ import { asHttpRequestExecutionSource } from '../../lib/action_execution_source'
import { trackLegacyRouteUsage } from '../../lib/track_legacy_route_usage';
const paramSchema = schema.object({
id: schema.string(),
id: schema.string({
meta: { description: 'An identifier for the connector.' },
}),
});
const bodySchema = schema.object({
@ -34,6 +36,8 @@ export const executeActionRoute = (
options: {
access: 'public',
summary: `Run a connector`,
deprecated: true,
tags: ['oas-tag:connectors'],
},
validate: {
body: bodySchema,

View file

@ -14,7 +14,9 @@ import { ActionsRequestHandlerContext } from '../../types';
import { trackLegacyRouteUsage } from '../../lib/track_legacy_route_usage';
const paramSchema = schema.object({
id: schema.string(),
id: schema.string({
meta: { description: 'An identifier for the connector.' },
}),
});
export const getActionRoute = (
@ -28,6 +30,8 @@ export const getActionRoute = (
options: {
access: 'public',
summary: `Get connector information`,
deprecated: true,
tags: ['oas-tag:connectors'],
},
validate: {
params: paramSchema,

View file

@ -23,6 +23,8 @@ export const getAllActionRoute = (
options: {
access: 'public',
summary: `Get all connectors`,
deprecated: true,
tags: ['oas-tag:connectors'],
},
validate: {},
},

View file

@ -27,6 +27,8 @@ export const listActionTypesRoute = (
options: {
access: 'public',
summary: `Get connector types`,
deprecated: true,
tags: ['oas-tag:connectors'],
},
validate: {},
},

View file

@ -14,7 +14,9 @@ import { ActionsRequestHandlerContext } from '../../types';
import { trackLegacyRouteUsage } from '../../lib/track_legacy_route_usage';
const paramSchema = schema.object({
id: schema.string(),
id: schema.string({
meta: { description: 'An identifier for the connector.' },
}),
});
const bodySchema = schema.object({
@ -34,6 +36,8 @@ export const updateActionRoute = (
options: {
access: 'public',
summary: `Update a connector`,
deprecated: true,
tags: ['oas-tag:connectors'],
},
validate: {
body: bodySchema,

View file

@ -13,11 +13,16 @@ import { ActionResult, ActionsRequestHandlerContext } from '../types';
import { verifyAccessAndContext } from './verify_access_and_context';
const paramSchema = schema.object({
id: schema.string(),
id: schema.string({
meta: { description: 'An identifier for the connector.' },
}),
});
export const bodySchema = schema.object({
name: schema.string({ validate: validateEmptyStrings }),
name: schema.string({
validate: validateEmptyStrings,
meta: { description: 'The display name for the connector.' },
}),
config: schema.recordOf(schema.string(), schema.any({ validate: validateEmptyStrings }), {
defaultValue: {},
}),
@ -52,6 +57,9 @@ export const updateActionRoute = (
options: {
access: 'public',
summary: `Update a connector`,
tags: ['oas-tag:connectors'],
// description:
// 'You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges.',
},
validate: {
body: bodySchema,