openapi: 3.2.0 info: description: 'WARNING: This API is unstable and is meant for experimentation only. Do not use this API in production. The endpoints and schemas referenced in this documentation will be changed or removed without notice and without any backwards compatibility guarantee. Note that even though this API is unstable, it is still connected to production data, so use with caution.' title: Config Unstable Object Discovery Rule API version: UNSTABLE tags: - name: ObjectDiscoveryRule paths: /api/unstable/config/object-discovery-rules: get: operationId: ListObjectDiscoveryRule parameters: - description: 'Sets the preferred number of items to return per page. If set to `0`, the server will use its default value. Regardless of the value specified, clients must never assume how many items will be returned.' in: query name: page.max_size schema: type: integer format: int64 - description: 'An opaque page token that identifies which page the client should request. An empty value indicates the first page.' in: query name: page.token schema: type: string responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/configunstableListObjectDiscoveryRulesResponse' '500': description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/apiError' default: description: An undefined error response. content: application/json: schema: $ref: '#/components/schemas/genericError' tags: - ObjectDiscoveryRule summary: List object discovery rule x-summary-source: derived post: operationId: CreateObjectDiscoveryRule responses: '200': description: A successful response containing the created ObjectDiscoveryRule. content: application/json: schema: $ref: '#/components/schemas/configunstableCreateObjectDiscoveryRuleResponse' '400': description: Cannot create the ObjectDiscoveryRule because the request is invalid. content: application/json: schema: $ref: '#/components/schemas/apiError' '409': description: Cannot create the ObjectDiscoveryRule because there is a conflict with an existing ObjectDiscoveryRule. content: application/json: schema: $ref: '#/components/schemas/apiError' '500': description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/apiError' default: description: An undefined error response. content: application/json: schema: $ref: '#/components/schemas/genericError' tags: - ObjectDiscoveryRule requestBody: content: application/json: schema: $ref: '#/components/schemas/configunstableCreateObjectDiscoveryRuleRequest' required: true summary: Create object discovery rule x-summary-source: derived /api/unstable/config/object-discovery-rules/{slug}: delete: operationId: DeleteObjectDiscoveryRule parameters: - in: path name: slug required: true schema: type: string responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/configunstableDeleteObjectDiscoveryRuleResponse' '400': description: Cannot delete the ObjectDiscoveryRule because it is in use. content: application/json: schema: $ref: '#/components/schemas/apiError' '404': description: Cannot delete the ObjectDiscoveryRule because the slug does not exist. content: application/json: schema: $ref: '#/components/schemas/apiError' '500': description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/apiError' default: description: An undefined error response. content: application/json: schema: $ref: '#/components/schemas/genericError' tags: - ObjectDiscoveryRule summary: Delete object discovery rule x-summary-source: derived get: operationId: ReadObjectDiscoveryRule parameters: - in: path name: slug required: true schema: type: string responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/configunstableReadObjectDiscoveryRuleResponse' '404': description: Cannot read the ObjectDiscoveryRule because the slug does not exist. content: application/json: schema: $ref: '#/components/schemas/apiError' '500': description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/apiError' default: description: An undefined error response. content: application/json: schema: $ref: '#/components/schemas/genericError' tags: - ObjectDiscoveryRule summary: Read object discovery rule x-summary-source: derived put: operationId: UpdateObjectDiscoveryRule parameters: - in: path name: slug required: true schema: type: string responses: '200': description: A successful response containing the updated ObjectDiscoveryRule. content: application/json: schema: $ref: '#/components/schemas/configunstableUpdateObjectDiscoveryRuleResponse' '400': description: Cannot update the ObjectDiscoveryRule because the request is invalid. content: application/json: schema: $ref: '#/components/schemas/apiError' '404': description: Cannot update the ObjectDiscoveryRule because the slug does not exist. content: application/json: schema: $ref: '#/components/schemas/apiError' '409': description: Cannot update the ObjectDiscoveryRule because there is a conflict with an existing ObjectDiscoveryRule. content: application/json: schema: $ref: '#/components/schemas/apiError' '500': description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/apiError' default: description: An undefined error response. content: application/json: schema: $ref: '#/components/schemas/genericError' tags: - ObjectDiscoveryRule requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfigUnstableUpdateObjectDiscoveryRuleBody' required: true summary: Update object discovery rule x-summary-source: derived components: schemas: configunstableDeleteObjectDiscoveryRuleResponse: type: object ConfigUnstableUpdateObjectDiscoveryRuleBody: properties: object_discovery_rule: $ref: '#/components/schemas/configunstableObjectDiscoveryRule' create_if_missing: description: If `true`, the ObjectDiscoveryRule will be created if it does not already exist, identified by `slug`. If `false`, an error will be returned if the ObjectDiscoveryRule does not already exist. type: boolean type: object configunstableObjectDiscoveryRule: properties: slug: description: The unique identifier of the ObjectDiscoveryRule. If a `slug` isn't provided, one is generated based on the `name` field. You can't modify this field after the ObjectDiscoveryRule is created. type: string name: description: The name of the ObjectDiscoveryRule. You can modify this value after the ObjectDiscoveryRule is created. type: string metric: $ref: '#/components/schemas/ObjectDiscoveryRuleMetricRule' type: object configunstableUpdateObjectDiscoveryRuleResponse: properties: object_discovery_rule: $ref: '#/components/schemas/configunstableObjectDiscoveryRule' type: object configunstableCreateObjectDiscoveryRuleRequest: properties: object_discovery_rule: $ref: '#/components/schemas/configunstableObjectDiscoveryRule' type: object configv1PageResult: properties: next_token: description: 'An opaque page token that identifies the next page of items that the client should request. An empty value indicates that there are no more items to return.' type: string type: object configunstableCreateObjectDiscoveryRuleResponse: properties: object_discovery_rule: $ref: '#/components/schemas/configunstableObjectDiscoveryRule' type: object apiError: properties: code: description: An optional private error code whose values are undefined. format: int32 type: integer message: description: An error message describing what went wrong. type: string type: object configunstableListObjectDiscoveryRulesResponse: properties: page: $ref: '#/components/schemas/configv1PageResult' object_discovery_rules: items: $ref: '#/components/schemas/configunstableObjectDiscoveryRule' type: array type: object configunstableReadObjectDiscoveryRuleResponse: properties: object_discovery_rule: $ref: '#/components/schemas/configunstableObjectDiscoveryRule' type: object ObjectDiscoveryRuleMetricRule: properties: expr: type: string objectLabels: items: type: string type: array objectMappingLabel: type: string type: object genericError: additionalProperties: true type: object