Skip to content

Commit 3492f12

Browse files
szwarckonradkibanamachinenatasha-moore-elastic
authored
[EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205)
Part of DW team effort - elastic/security-team#11804 This PR aligns the property/schema descriptions and examples in AsciiDocs with OpenAPI schemas. The primary goal of this PR was not to extend or enhance the documentation but to migrate from one system to another. Ascii docs - https://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html OpenApi generated docs - https://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist Changes: Copied missing property descriptions from AsciiDoc to OpenApi properties Copied existing AsciiDoc examples for both requests and responses Fixed falsy query object in some GET requests - in OpenApi it was defined as an object, not as path query params. --------- Co-authored-by: kibanamachine <[email protected]> Co-authored-by: natasha-moore-elastic <[email protected]>
1 parent 7f2df7c commit 3492f12

File tree

10 files changed

+1751
-281
lines changed

10 files changed

+1751
-281
lines changed

oas_docs/output/kibana.serverless.yaml

Lines changed: 336 additions & 50 deletions
Large diffs are not rendered by default.

oas_docs/output/kibana.yaml

Lines changed: 336 additions & 50 deletions
Large diffs are not rendered by default.

x-pack/solutions/security/plugins/security_solution/common/api/endpoint/metadata/get_metadata.gen.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,30 @@
1616

1717
import { z } from '@kbn/zod';
1818

19-
import { ListRequestQuery } from './list_metadata.gen';
20-
import { SuccessResponse } from '../model/schema/common.gen';
19+
import {
20+
Page,
21+
PageSize,
22+
Kuery,
23+
HostStatuses,
24+
SortField,
25+
SortDirection,
26+
} from '../model/schema/common.gen';
27+
import { MetadataListResponse } from './list_metadata.gen';
2128

2229
export type GetEndpointMetadataListRequestQuery = z.infer<
2330
typeof GetEndpointMetadataListRequestQuery
2431
>;
2532
export const GetEndpointMetadataListRequestQuery = z.object({
26-
query: ListRequestQuery,
33+
page: Page.optional(),
34+
pageSize: PageSize.optional(),
35+
kuery: Kuery.optional(),
36+
hostStatuses: HostStatuses,
37+
sortField: SortField.optional(),
38+
sortDirection: SortDirection.optional(),
2739
});
2840
export type GetEndpointMetadataListRequestQueryInput = z.input<
2941
typeof GetEndpointMetadataListRequestQuery
3042
>;
3143

3244
export type GetEndpointMetadataListResponse = z.infer<typeof GetEndpointMetadataListResponse>;
33-
export const GetEndpointMetadataListResponse = SuccessResponse;
45+
export const GetEndpointMetadataListResponse = MetadataListResponse;

x-pack/solutions/security/plugins/security_solution/common/api/endpoint/metadata/get_metadata.schema.yaml

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,43 @@ paths:
1010
x-codegen-enabled: true
1111
x-labels: [ess, serverless]
1212
parameters:
13-
- name: query
13+
- name: page
14+
in: query
15+
required: false
16+
schema:
17+
$ref: '../model/schema/common.schema.yaml#/components/schemas/Page'
18+
- name: pageSize
19+
in: query
20+
required: false
21+
schema:
22+
$ref: '../model/schema/common.schema.yaml#/components/schemas/PageSize'
23+
- name: kuery
24+
in: query
25+
required: false
26+
schema:
27+
$ref: '../model/schema/common.schema.yaml#/components/schemas/Kuery'
28+
- name: hostStatuses
1429
in: query
1530
required: true
1631
schema:
17-
$ref: './list_metadata.schema.yaml#/components/schemas/ListRequestQuery'
32+
$ref: '../model/schema/common.schema.yaml#/components/schemas/HostStatuses'
33+
- name: sortField
34+
in: query
35+
required: false
36+
schema:
37+
$ref: '../model/schema/common.schema.yaml#/components/schemas/SortField'
38+
- name: sortDirection
39+
in: query
40+
required: false
41+
schema:
42+
$ref: '../model/schema/common.schema.yaml#/components/schemas/SortDirection'
1843
responses:
1944
'200':
2045
description: OK
2146
content:
2247
application/json:
2348
schema:
24-
$ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse'
49+
$ref: './list_metadata.schema.yaml#/components/schemas/MetadataListResponse'
2550

2651
/internal/api/endpoint/metadata/transforms:
2752
get:
@@ -50,10 +75,11 @@ paths:
5075
required: true
5176
schema:
5277
type: string
78+
example: 'ed518850-681a-4d60-bb98-e22640cae2a8'
5379
responses:
5480
'200':
5581
description: OK
5682
content:
5783
application/json:
5884
schema:
59-
$ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse'
85+
$ref: './list_metadata.schema.yaml#/components/schemas/EndpointMetadataResponse'

x-pack/solutions/security/plugins/security_solution/common/api/endpoint/metadata/list_metadata.gen.ts

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,8 @@
1616

1717
import { z } from '@kbn/zod';
1818

19-
export type ListRequestQuery = z.infer<typeof ListRequestQuery>;
20-
export const ListRequestQuery = z.object({
21-
/**
22-
* Page number
23-
*/
24-
page: z.number().int().min(0).optional().default(0),
25-
/**
26-
* Number of items per page
27-
*/
28-
pageSize: z.number().int().min(1).max(10000).optional().default(10),
29-
kuery: z.string().nullable().optional(),
30-
sortField: z
31-
.enum([
32-
'enrolled_at',
33-
'metadata.host.hostname',
34-
'host_status',
35-
'metadata.Endpoint.policy.applied.name',
36-
'metadata.Endpoint.policy.applied.status',
37-
'metadata.host.os.name',
38-
'metadata.host.ip',
39-
'metadata.agent.version',
40-
'last_checkin',
41-
])
42-
.optional(),
43-
sortDirection: z.enum(['asc', 'desc']).nullable().optional(),
44-
hostStatuses: z.array(z.enum(['healthy', 'offline', 'updating', 'inactive', 'unenrolled'])),
45-
});
19+
export type EndpointMetadataResponse = z.infer<typeof EndpointMetadataResponse>;
20+
export const EndpointMetadataResponse = z.object({});
21+
22+
export type MetadataListResponse = z.infer<typeof MetadataListResponse>;
23+
export const MetadataListResponse = z.object({});

0 commit comments

Comments
 (0)