diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index a8908359f4..c3ecc0f72e 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -1161,6 +1161,14 @@ components: example: 1706803070 format: int64 type: integer + TokenHashParam: + description: The enrollment token hash. + in: path + name: token_hash + required: true + schema: + example: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + type: string UserID: description: The ID of the user. in: path @@ -43316,6 +43324,276 @@ components: type: string x-enum-varnames: - ON_DEMAND_CONCURRENCY_CAP + OnPremManagementServiceCreateEnrollmentRequest: + description: Request to create an enrollment for an on-prem runner. + properties: + data: + $ref: '#/components/schemas/OnPremManagementServiceEnrollmentDataRequest' + required: + - data + type: object + OnPremManagementServiceCreateEnrollmentResponse: + description: Response for creating an enrollment. + properties: + data: + $ref: '#/components/schemas/OnPremManagementServiceCreateEnrollmentResponseData' + required: + - data + type: object + OnPremManagementServiceCreateEnrollmentResponseAttributes: + description: Attributes for the created enrollment. + properties: + token: + description: The enrollment token. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + type: string + required: + - token + type: object + OnPremManagementServiceCreateEnrollmentResponseData: + description: Data for the created enrollment. + properties: + attributes: + $ref: '#/components/schemas/OnPremManagementServiceCreateEnrollmentResponseAttributes' + id: + description: The token hash identifier. + example: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + type: string + type: + $ref: '#/components/schemas/OnPremManagementServiceCreateEnrollmentResponseType' + required: + - id + - type + - attributes + type: object + OnPremManagementServiceCreateEnrollmentResponseType: + description: The type of the resource. The value should always be createEnrollmentResponse. + enum: + - createEnrollmentResponse + example: createEnrollmentResponse + type: string + x-enum-varnames: + - CREATEENROLLMENTRESPONSE + OnPremManagementServiceEnrollmentAttributes: + description: Attributes for creating an enrollment. + properties: + actions_allowlist: + description: List of allowed actions for the runner. + example: + - com.datadoghq.jenkins.* + items: + type: string + type: array + runner_host: + description: The hostname for the runner. Required when push mode is enabled. + example: runner.example.com + type: string + runner_modes: + description: The modes the runner should operate in. + example: + - workflow_automation + items: + $ref: '#/components/schemas/OnPremManagementServiceEnrollmentAttributesRunnerModesItems' + type: array + runner_name: + description: The name of the on-prem runner. + example: my-runner + type: string + required: + - runner_name + - runner_modes + - actions_allowlist + type: object + OnPremManagementServiceEnrollmentAttributesRunnerModesItems: + enum: + - workflow_automation + - app_builder + type: string + x-enum-varnames: + - WORKFLOW_AUTOMATION + - APP_BUILDER + OnPremManagementServiceEnrollmentDataRequest: + description: Data for creating an enrollment. + properties: + attributes: + $ref: '#/components/schemas/OnPremManagementServiceEnrollmentAttributes' + type: + $ref: '#/components/schemas/OnPremManagementServiceEnrollmentType' + required: + - type + - attributes + type: object + OnPremManagementServiceEnrollmentType: + description: The type of the resource. The value should always be enrollment. + enum: + - enrollment + example: enrollment + type: string + x-enum-varnames: + - ENROLLMENT + OnPremManagementServiceGetEnrollmentResponse: + description: Response for getting an enrollment status. + properties: + data: + $ref: '#/components/schemas/OnPremManagementServiceGetEnrollmentResponseData' + required: + - data + type: object + OnPremManagementServiceGetEnrollmentResponseAttributes: + description: Attributes for the enrollment status. + properties: + failure_reason: + description: The reason for enrollment failure, if applicable. + example: '' + type: string + runner_id: + description: The runner identifier, if enrollment was successful. + example: runner-GBUyh2Tm6oKS6ap4kt8Bbx + type: string + status: + $ref: '#/components/schemas/OnPremManagementServiceGetEnrollmentResponseAttributesStatus' + required: + - status + - failure_reason + - runner_id + type: object + OnPremManagementServiceGetEnrollmentResponseAttributesStatus: + description: The status of the enrollment. + enum: + - new + - success + - failed + example: success + type: string + x-enum-varnames: + - NEW + - SUCCESS + - FAILED + OnPremManagementServiceGetEnrollmentResponseData: + description: Data for the enrollment status. + properties: + attributes: + $ref: '#/components/schemas/OnPremManagementServiceGetEnrollmentResponseAttributes' + id: + description: The token hash identifier. + example: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + type: string + type: + $ref: '#/components/schemas/OnPremManagementServiceGetEnrollmentResponseType' + required: + - id + - type + - attributes + type: object + OnPremManagementServiceGetEnrollmentResponseType: + description: The type of the resource. The value should always be getEnrollmentResponse. + enum: + - getEnrollmentResponse + example: getEnrollmentResponse + type: string + x-enum-varnames: + - GETENROLLMENTRESPONSE + OnPremManagementServiceRegisterTokenAttributes: + description: Attributes for registering a token. + properties: + app_id: + description: The application identifier. + example: 9a93d314-ca37-461d-b18e-0587f03c6e2a + format: uuid + type: string + app_version: + description: The application version. + example: 5 + format: int64 + type: integer + connection_id: + description: The connection identifier. + example: 2f66ec56-d1f3-4a18-908d-5e8c12dfb3b0 + format: uuid + type: string + query_id: + description: The query identifier. + example: 8744d459-18aa-405b-821e-df9bb101c01e + format: uuid + type: string + runner_id: + description: The on-prem runner identifier. + example: runner-GBUyh2Tm6oKS6ap4kt8Bbx + type: string + required: + - runner_id + - connection_id + type: object + OnPremManagementServiceRegisterTokenDataRequest: + description: Data for registering a token. + properties: + attributes: + $ref: '#/components/schemas/OnPremManagementServiceRegisterTokenAttributes' + type: + $ref: '#/components/schemas/OnPremManagementServiceRegisterTokenType' + required: + - type + - attributes + type: object + OnPremManagementServiceRegisterTokenRequest: + description: Request to register a token for query execution. + properties: + data: + $ref: '#/components/schemas/OnPremManagementServiceRegisterTokenDataRequest' + required: + - data + type: object + OnPremManagementServiceRegisterTokenResponse: + description: Response for registering a token. + properties: + data: + $ref: '#/components/schemas/OnPremManagementServiceRegisterTokenResponseData' + required: + - data + type: object + OnPremManagementServiceRegisterTokenResponseAttributes: + description: Attributes for the registered token. + properties: + token_string: + description: The token string. + example: token123 + type: string + required: + - token_string + type: object + OnPremManagementServiceRegisterTokenResponseData: + description: Data for the registered token. + properties: + attributes: + $ref: '#/components/schemas/OnPremManagementServiceRegisterTokenResponseAttributes' + id: + description: The token identifier. + example: 88a1d16d-3ebc-4ca1-9f3e-d7ab7b34c6df + format: uuid + type: string + type: + $ref: '#/components/schemas/OnPremManagementServiceRegisterTokenResponseType' + required: + - id + - type + - attributes + type: object + OnPremManagementServiceRegisterTokenResponseType: + description: The type of the resource. The value should always be tokenDefinitions. + enum: + - tokenDefinitions + example: tokenDefinitions + type: string + x-enum-varnames: + - TOKENDEFINITIONS + OnPremManagementServiceRegisterTokenType: + description: The type of the resource. The value should always be registerTokenRequest. + enum: + - registerTokenRequest + example: registerTokenRequest + type: string + x-enum-varnames: + - REGISTERTOKENREQUEST OpenAIAPIKey: description: The definition of the `OpenAIAPIKey` object. properties: @@ -86762,6 +87040,175 @@ paths: operator: OR permissions: - on_call_read + /api/v2/on-prem-management-service/enrollments: + post: + description: Create a new enrollment for an on-prem runner. This endpoint initiates + the enrollment process and returns a token that the runner will use to complete + the enrollment. + operationId: CreateOnPremManagementServiceEnrollment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OnPremManagementServiceCreateEnrollmentRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/OnPremManagementServiceCreateEnrollmentResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create an enrollment + tags: + - On Prem Management Service + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/on-prem-management-service/enrollments/{token_hash}: + get: + description: Get the status of an enrollment for an on-prem runner using the + enrollment token hash. + operationId: GetOnPremManagementServiceEnrollment + parameters: + - $ref: '#/components/parameters/TokenHashParam' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OnPremManagementServiceGetEnrollmentResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get enrollment status + tags: + - On Prem Management Service + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/on-prem-management-service/tokens/register: + post: + description: Register a token for query execution. This endpoint allows an on-prem + runner to register a token that will be used to execute queries on a specific + connection. + operationId: RegisterOnPremManagementServiceToken + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OnPremManagementServiceRegisterTokenRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OnPremManagementServiceRegisterTokenResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Register a token + tags: + - On Prem Management Service + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' /api/v2/org_configs: get: description: Returns all Org Configs (name, description, and value). @@ -102697,6 +103144,10 @@ tags: - description: Configure your [Datadog Okta integration](https://docs.datadoghq.com/integrations/okta/) directly through the Datadog API. name: Okta Integration +- description: Manage on-premises runners for workflow automation and app builder. + Use these endpoints to enroll runners, check enrollment status, and register tokens + for query execution. + name: On Prem Management Service - description: 'Configure your [Datadog On-Call](https://docs.datadoghq.com/service_management/on-call/) directly through the Datadog API.' diff --git a/docs/datadog_api_client.v2.api.rst b/docs/datadog_api_client.v2.api.rst index 44f19cd202..9578813115 100644 --- a/docs/datadog_api_client.v2.api.rst +++ b/docs/datadog_api_client.v2.api.rst @@ -424,6 +424,13 @@ datadog\_api\_client.v2.api.on\_call\_paging\_api module :members: :show-inheritance: +datadog\_api\_client.v2.api.on\_prem\_management\_service\_api module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.api.on_prem_management_service_api + :members: + :show-inheritance: + datadog\_api\_client.v2.api.opsgenie\_integration\_api module ------------------------------------------------------------- diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index fe0c2aa3ef..635aa5596f 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -18694,6 +18694,160 @@ datadog\_api\_client.v2.model.on\_demand\_concurrency\_cap\_type module :members: :show-inheritance: +datadog\_api\_client.v2.model.on\_prem\_management\_service\_create\_enrollment\_request module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_create_enrollment_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_create\_enrollment\_response module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_create\_enrollment\_response\_attributes module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_create\_enrollment\_response\_data module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_create\_enrollment\_response\_type module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_enrollment\_attributes module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_enrollment\_attributes\_runner\_modes\_items module +---------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes_runner_modes_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_enrollment\_data\_request module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_enrollment_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_enrollment\_type module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_enrollment_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_get\_enrollment\_response module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_get\_enrollment\_response\_attributes module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_get\_enrollment\_response\_attributes\_status module +----------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_attributes_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_get\_enrollment\_response\_data module +--------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_get\_enrollment\_response\_type module +--------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_register\_token\_attributes module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_register_token_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_register\_token\_data\_request module +-------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_register_token_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_register\_token\_request module +-------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_register_token_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_register\_token\_response module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_register_token_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_register\_token\_response\_attributes module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_register_token_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_register\_token\_response\_data module +--------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_register_token_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_register\_token\_response\_type module +--------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_register_token_response_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.on\_prem\_management\_service\_register\_token\_type module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.on_prem_management_service_register_token_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.open\_ai\_credentials module ---------------------------------------------------------- diff --git a/examples/v2/on-prem-management-service/CreateOnPremManagementServiceEnrollment.py b/examples/v2/on-prem-management-service/CreateOnPremManagementServiceEnrollment.py new file mode 100644 index 0000000000..ba49f91704 --- /dev/null +++ b/examples/v2/on-prem-management-service/CreateOnPremManagementServiceEnrollment.py @@ -0,0 +1,43 @@ +""" +Create an enrollment returns "Created" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.on_prem_management_service_api import OnPremManagementServiceApi +from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_request import ( + OnPremManagementServiceCreateEnrollmentRequest, +) +from datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes import ( + OnPremManagementServiceEnrollmentAttributes, +) +from datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes_runner_modes_items import ( + OnPremManagementServiceEnrollmentAttributesRunnerModesItems, +) +from datadog_api_client.v2.model.on_prem_management_service_enrollment_data_request import ( + OnPremManagementServiceEnrollmentDataRequest, +) +from datadog_api_client.v2.model.on_prem_management_service_enrollment_type import OnPremManagementServiceEnrollmentType + +body = OnPremManagementServiceCreateEnrollmentRequest( + data=OnPremManagementServiceEnrollmentDataRequest( + attributes=OnPremManagementServiceEnrollmentAttributes( + actions_allowlist=[ + "com.datadoghq.jenkins.*", + ], + runner_host="runner.example.com", + runner_modes=[ + OnPremManagementServiceEnrollmentAttributesRunnerModesItems.WORKFLOW_AUTOMATION, + ], + runner_name="my-runner", + ), + type=OnPremManagementServiceEnrollmentType.ENROLLMENT, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_on_prem_management_service_enrollment"] = True +with ApiClient(configuration) as api_client: + api_instance = OnPremManagementServiceApi(api_client) + response = api_instance.create_on_prem_management_service_enrollment(body=body) + + print(response) diff --git a/examples/v2/on-prem-management-service/GetOnPremManagementServiceEnrollment.py b/examples/v2/on-prem-management-service/GetOnPremManagementServiceEnrollment.py new file mode 100644 index 0000000000..353e92af98 --- /dev/null +++ b/examples/v2/on-prem-management-service/GetOnPremManagementServiceEnrollment.py @@ -0,0 +1,16 @@ +""" +Get enrollment status returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.on_prem_management_service_api import OnPremManagementServiceApi + +configuration = Configuration() +configuration.unstable_operations["get_on_prem_management_service_enrollment"] = True +with ApiClient(configuration) as api_client: + api_instance = OnPremManagementServiceApi(api_client) + response = api_instance.get_on_prem_management_service_enrollment( + token_hash="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + ) + + print(response) diff --git a/examples/v2/on-prem-management-service/RegisterOnPremManagementServiceToken.py b/examples/v2/on-prem-management-service/RegisterOnPremManagementServiceToken.py new file mode 100644 index 0000000000..4576fcfead --- /dev/null +++ b/examples/v2/on-prem-management-service/RegisterOnPremManagementServiceToken.py @@ -0,0 +1,40 @@ +""" +Register a token returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.on_prem_management_service_api import OnPremManagementServiceApi +from datadog_api_client.v2.model.on_prem_management_service_register_token_attributes import ( + OnPremManagementServiceRegisterTokenAttributes, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_data_request import ( + OnPremManagementServiceRegisterTokenDataRequest, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_request import ( + OnPremManagementServiceRegisterTokenRequest, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_type import ( + OnPremManagementServiceRegisterTokenType, +) +from uuid import UUID + +body = OnPremManagementServiceRegisterTokenRequest( + data=OnPremManagementServiceRegisterTokenDataRequest( + attributes=OnPremManagementServiceRegisterTokenAttributes( + app_id=UUID("9a93d314-ca37-461d-b18e-0587f03c6e2a"), + app_version=5, + connection_id=UUID("2f66ec56-d1f3-4a18-908d-5e8c12dfb3b0"), + query_id=UUID("8744d459-18aa-405b-821e-df9bb101c01e"), + runner_id="runner-GBUyh2Tm6oKS6ap4kt8Bbx", + ), + type=OnPremManagementServiceRegisterTokenType.REGISTERTOKENREQUEST, + ), +) + +configuration = Configuration() +configuration.unstable_operations["register_on_prem_management_service_token"] = True +with ApiClient(configuration) as api_client: + api_instance = OnPremManagementServiceApi(api_client) + response = api_instance.register_on_prem_management_service_token(body=body) + + print(response) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index f4ec0cd2a5..da0e31106d 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -385,6 +385,9 @@ def __init__( "v2.update_monitor_user_template": False, "v2.validate_existing_monitor_user_template": False, "v2.validate_monitor_user_template": False, + "v2.create_on_prem_management_service_enrollment": False, + "v2.get_on_prem_management_service_enrollment": False, + "v2.register_on_prem_management_service_token": False, "v2.list_role_templates": False, "v2.create_connection": False, "v2.delete_connection": False, diff --git a/src/datadog_api_client/v2/api/on_prem_management_service_api.py b/src/datadog_api_client/v2/api/on_prem_management_service_api.py new file mode 100644 index 0000000000..50ef6281ac --- /dev/null +++ b/src/datadog_api_client/v2/api/on_prem_management_service_api.py @@ -0,0 +1,147 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Any, Dict + +from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint +from datadog_api_client.configuration import Configuration +from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response import ( + OnPremManagementServiceCreateEnrollmentResponse, +) +from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_request import ( + OnPremManagementServiceCreateEnrollmentRequest, +) +from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response import ( + OnPremManagementServiceGetEnrollmentResponse, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_response import ( + OnPremManagementServiceRegisterTokenResponse, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_request import ( + OnPremManagementServiceRegisterTokenRequest, +) + + +class OnPremManagementServiceApi: + """ + Manage on-premises runners for workflow automation and app builder. Use these endpoints to enroll runners, check enrollment status, and register tokens for query execution. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient(Configuration()) + self.api_client = api_client + + self._create_on_prem_management_service_enrollment_endpoint = _Endpoint( + settings={ + "response_type": (OnPremManagementServiceCreateEnrollmentResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/on-prem-management-service/enrollments", + "operation_id": "create_on_prem_management_service_enrollment", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (OnPremManagementServiceCreateEnrollmentRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._get_on_prem_management_service_enrollment_endpoint = _Endpoint( + settings={ + "response_type": (OnPremManagementServiceGetEnrollmentResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/on-prem-management-service/enrollments/{token_hash}", + "operation_id": "get_on_prem_management_service_enrollment", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "token_hash": { + "required": True, + "openapi_types": (str,), + "attribute": "token_hash", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._register_on_prem_management_service_token_endpoint = _Endpoint( + settings={ + "response_type": (OnPremManagementServiceRegisterTokenResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/on-prem-management-service/tokens/register", + "operation_id": "register_on_prem_management_service_token", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (OnPremManagementServiceRegisterTokenRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + def create_on_prem_management_service_enrollment( + self, + body: OnPremManagementServiceCreateEnrollmentRequest, + ) -> OnPremManagementServiceCreateEnrollmentResponse: + """Create an enrollment. + + Create a new enrollment for an on-prem runner. This endpoint initiates the enrollment process and returns a token that the runner will use to complete the enrollment. + + :type body: OnPremManagementServiceCreateEnrollmentRequest + :rtype: OnPremManagementServiceCreateEnrollmentResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_on_prem_management_service_enrollment_endpoint.call_with_http_info(**kwargs) + + def get_on_prem_management_service_enrollment( + self, + token_hash: str, + ) -> OnPremManagementServiceGetEnrollmentResponse: + """Get enrollment status. + + Get the status of an enrollment for an on-prem runner using the enrollment token hash. + + :param token_hash: The enrollment token hash. + :type token_hash: str + :rtype: OnPremManagementServiceGetEnrollmentResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["token_hash"] = token_hash + + return self._get_on_prem_management_service_enrollment_endpoint.call_with_http_info(**kwargs) + + def register_on_prem_management_service_token( + self, + body: OnPremManagementServiceRegisterTokenRequest, + ) -> OnPremManagementServiceRegisterTokenResponse: + """Register a token. + + Register a token for query execution. This endpoint allows an on-prem runner to register a token that will be used to execute queries on a specific connection. + + :type body: OnPremManagementServiceRegisterTokenRequest + :rtype: OnPremManagementServiceRegisterTokenResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._register_on_prem_management_service_token_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/apis/__init__.py b/src/datadog_api_client/v2/apis/__init__.py index 210ab0dd47..fbac2e871f 100644 --- a/src/datadog_api_client/v2/apis/__init__.py +++ b/src/datadog_api_client/v2/apis/__init__.py @@ -56,6 +56,7 @@ from datadog_api_client.v2.api.oci_integration_api import OCIIntegrationApi from datadog_api_client.v2.api.observability_pipelines_api import ObservabilityPipelinesApi from datadog_api_client.v2.api.okta_integration_api import OktaIntegrationApi +from datadog_api_client.v2.api.on_prem_management_service_api import OnPremManagementServiceApi from datadog_api_client.v2.api.on_call_api import OnCallApi from datadog_api_client.v2.api.on_call_paging_api import OnCallPagingApi from datadog_api_client.v2.api.opsgenie_integration_api import OpsgenieIntegrationApi @@ -155,6 +156,7 @@ "OCIIntegrationApi", "ObservabilityPipelinesApi", "OktaIntegrationApi", + "OnPremManagementServiceApi", "OnCallApi", "OnCallPagingApi", "OpsgenieIntegrationApi", diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_request.py b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_request.py new file mode 100644 index 0000000000..24d377a9b9 --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_enrollment_data_request import ( + OnPremManagementServiceEnrollmentDataRequest, + ) + + +class OnPremManagementServiceCreateEnrollmentRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_enrollment_data_request import ( + OnPremManagementServiceEnrollmentDataRequest, + ) + + return { + "data": (OnPremManagementServiceEnrollmentDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: OnPremManagementServiceEnrollmentDataRequest, **kwargs): + """ + Request to create an enrollment for an on-prem runner. + + :param data: Data for creating an enrollment. + :type data: OnPremManagementServiceEnrollmentDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response.py b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response.py new file mode 100644 index 0000000000..9a368805eb --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_data import ( + OnPremManagementServiceCreateEnrollmentResponseData, + ) + + +class OnPremManagementServiceCreateEnrollmentResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_data import ( + OnPremManagementServiceCreateEnrollmentResponseData, + ) + + return { + "data": (OnPremManagementServiceCreateEnrollmentResponseData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: OnPremManagementServiceCreateEnrollmentResponseData, **kwargs): + """ + Response for creating an enrollment. + + :param data: Data for the created enrollment. + :type data: OnPremManagementServiceCreateEnrollmentResponseData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response_attributes.py b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response_attributes.py new file mode 100644 index 0000000000..15938e6c13 --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response_attributes.py @@ -0,0 +1,33 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class OnPremManagementServiceCreateEnrollmentResponseAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "token": (str,), + } + + attribute_map = { + "token": "token", + } + + def __init__(self_, token: str, **kwargs): + """ + Attributes for the created enrollment. + + :param token: The enrollment token. + :type token: str + """ + super().__init__(kwargs) + + self_.token = token diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response_data.py b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response_data.py new file mode 100644 index 0000000000..757fa17883 --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response_data.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_attributes import ( + OnPremManagementServiceCreateEnrollmentResponseAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_type import ( + OnPremManagementServiceCreateEnrollmentResponseType, + ) + + +class OnPremManagementServiceCreateEnrollmentResponseData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_attributes import ( + OnPremManagementServiceCreateEnrollmentResponseAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_type import ( + OnPremManagementServiceCreateEnrollmentResponseType, + ) + + return { + "attributes": (OnPremManagementServiceCreateEnrollmentResponseAttributes,), + "id": (str,), + "type": (OnPremManagementServiceCreateEnrollmentResponseType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: OnPremManagementServiceCreateEnrollmentResponseAttributes, + id: str, + type: OnPremManagementServiceCreateEnrollmentResponseType, + **kwargs, + ): + """ + Data for the created enrollment. + + :param attributes: Attributes for the created enrollment. + :type attributes: OnPremManagementServiceCreateEnrollmentResponseAttributes + + :param id: The token hash identifier. + :type id: str + + :param type: The type of the resource. The value should always be createEnrollmentResponse. + :type type: OnPremManagementServiceCreateEnrollmentResponseType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response_type.py b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response_type.py new file mode 100644 index 0000000000..a77f9d850a --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_create_enrollment_response_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class OnPremManagementServiceCreateEnrollmentResponseType(ModelSimple): + """ + The type of the resource. The value should always be createEnrollmentResponse. + + :param value: If omitted defaults to "createEnrollmentResponse". Must be one of ["createEnrollmentResponse"]. + :type value: str + """ + + allowed_values = { + "createEnrollmentResponse", + } + CREATEENROLLMENTRESPONSE: ClassVar["OnPremManagementServiceCreateEnrollmentResponseType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +OnPremManagementServiceCreateEnrollmentResponseType.CREATEENROLLMENTRESPONSE = ( + OnPremManagementServiceCreateEnrollmentResponseType("createEnrollmentResponse") +) diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_attributes.py b/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_attributes.py new file mode 100644 index 0000000000..c3e2bc06ad --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_attributes.py @@ -0,0 +1,72 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes_runner_modes_items import ( + OnPremManagementServiceEnrollmentAttributesRunnerModesItems, + ) + + +class OnPremManagementServiceEnrollmentAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes_runner_modes_items import ( + OnPremManagementServiceEnrollmentAttributesRunnerModesItems, + ) + + return { + "actions_allowlist": ([str],), + "runner_host": (str,), + "runner_modes": ([OnPremManagementServiceEnrollmentAttributesRunnerModesItems],), + "runner_name": (str,), + } + + attribute_map = { + "actions_allowlist": "actions_allowlist", + "runner_host": "runner_host", + "runner_modes": "runner_modes", + "runner_name": "runner_name", + } + + def __init__( + self_, + actions_allowlist: List[str], + runner_modes: List[OnPremManagementServiceEnrollmentAttributesRunnerModesItems], + runner_name: str, + runner_host: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating an enrollment. + + :param actions_allowlist: List of allowed actions for the runner. + :type actions_allowlist: [str] + + :param runner_host: The hostname for the runner. Required when push mode is enabled. + :type runner_host: str, optional + + :param runner_modes: The modes the runner should operate in. + :type runner_modes: [OnPremManagementServiceEnrollmentAttributesRunnerModesItems] + + :param runner_name: The name of the on-prem runner. + :type runner_name: str + """ + if runner_host is not unset: + kwargs["runner_host"] = runner_host + super().__init__(kwargs) + + self_.actions_allowlist = actions_allowlist + self_.runner_modes = runner_modes + self_.runner_name = runner_name diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_attributes_runner_modes_items.py b/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_attributes_runner_modes_items.py new file mode 100644 index 0000000000..d332cfcb2e --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_attributes_runner_modes_items.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class OnPremManagementServiceEnrollmentAttributesRunnerModesItems(ModelSimple): + """ + + + :param value: Must be one of ["workflow_automation", "app_builder"]. + :type value: str + """ + + allowed_values = { + "workflow_automation", + "app_builder", + } + WORKFLOW_AUTOMATION: ClassVar["OnPremManagementServiceEnrollmentAttributesRunnerModesItems"] + APP_BUILDER: ClassVar["OnPremManagementServiceEnrollmentAttributesRunnerModesItems"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +OnPremManagementServiceEnrollmentAttributesRunnerModesItems.WORKFLOW_AUTOMATION = ( + OnPremManagementServiceEnrollmentAttributesRunnerModesItems("workflow_automation") +) +OnPremManagementServiceEnrollmentAttributesRunnerModesItems.APP_BUILDER = ( + OnPremManagementServiceEnrollmentAttributesRunnerModesItems("app_builder") +) diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_data_request.py b/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_data_request.py new file mode 100644 index 0000000000..25540827ef --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_data_request.py @@ -0,0 +1,61 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes import ( + OnPremManagementServiceEnrollmentAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_enrollment_type import ( + OnPremManagementServiceEnrollmentType, + ) + + +class OnPremManagementServiceEnrollmentDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes import ( + OnPremManagementServiceEnrollmentAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_enrollment_type import ( + OnPremManagementServiceEnrollmentType, + ) + + return { + "attributes": (OnPremManagementServiceEnrollmentAttributes,), + "type": (OnPremManagementServiceEnrollmentType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: OnPremManagementServiceEnrollmentAttributes, + type: OnPremManagementServiceEnrollmentType, + **kwargs, + ): + """ + Data for creating an enrollment. + + :param attributes: Attributes for creating an enrollment. + :type attributes: OnPremManagementServiceEnrollmentAttributes + + :param type: The type of the resource. The value should always be enrollment. + :type type: OnPremManagementServiceEnrollmentType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_type.py b/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_type.py new file mode 100644 index 0000000000..f1b9274af6 --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_enrollment_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class OnPremManagementServiceEnrollmentType(ModelSimple): + """ + The type of the resource. The value should always be enrollment. + + :param value: If omitted defaults to "enrollment". Must be one of ["enrollment"]. + :type value: str + """ + + allowed_values = { + "enrollment", + } + ENROLLMENT: ClassVar["OnPremManagementServiceEnrollmentType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +OnPremManagementServiceEnrollmentType.ENROLLMENT = OnPremManagementServiceEnrollmentType("enrollment") diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response.py b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response.py new file mode 100644 index 0000000000..9bc216c646 --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_data import ( + OnPremManagementServiceGetEnrollmentResponseData, + ) + + +class OnPremManagementServiceGetEnrollmentResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_data import ( + OnPremManagementServiceGetEnrollmentResponseData, + ) + + return { + "data": (OnPremManagementServiceGetEnrollmentResponseData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: OnPremManagementServiceGetEnrollmentResponseData, **kwargs): + """ + Response for getting an enrollment status. + + :param data: Data for the enrollment status. + :type data: OnPremManagementServiceGetEnrollmentResponseData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_attributes.py b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_attributes.py new file mode 100644 index 0000000000..45fc6f40fe --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_attributes.py @@ -0,0 +1,62 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_attributes_status import ( + OnPremManagementServiceGetEnrollmentResponseAttributesStatus, + ) + + +class OnPremManagementServiceGetEnrollmentResponseAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_attributes_status import ( + OnPremManagementServiceGetEnrollmentResponseAttributesStatus, + ) + + return { + "failure_reason": (str,), + "runner_id": (str,), + "status": (OnPremManagementServiceGetEnrollmentResponseAttributesStatus,), + } + + attribute_map = { + "failure_reason": "failure_reason", + "runner_id": "runner_id", + "status": "status", + } + + def __init__( + self_, + failure_reason: str, + runner_id: str, + status: OnPremManagementServiceGetEnrollmentResponseAttributesStatus, + **kwargs, + ): + """ + Attributes for the enrollment status. + + :param failure_reason: The reason for enrollment failure, if applicable. + :type failure_reason: str + + :param runner_id: The runner identifier, if enrollment was successful. + :type runner_id: str + + :param status: The status of the enrollment. + :type status: OnPremManagementServiceGetEnrollmentResponseAttributesStatus + """ + super().__init__(kwargs) + + self_.failure_reason = failure_reason + self_.runner_id = runner_id + self_.status = status diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_attributes_status.py b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_attributes_status.py new file mode 100644 index 0000000000..625b8ee7ed --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_attributes_status.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class OnPremManagementServiceGetEnrollmentResponseAttributesStatus(ModelSimple): + """ + The status of the enrollment. + + :param value: Must be one of ["new", "success", "failed"]. + :type value: str + """ + + allowed_values = { + "new", + "success", + "failed", + } + NEW: ClassVar["OnPremManagementServiceGetEnrollmentResponseAttributesStatus"] + SUCCESS: ClassVar["OnPremManagementServiceGetEnrollmentResponseAttributesStatus"] + FAILED: ClassVar["OnPremManagementServiceGetEnrollmentResponseAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +OnPremManagementServiceGetEnrollmentResponseAttributesStatus.NEW = ( + OnPremManagementServiceGetEnrollmentResponseAttributesStatus("new") +) +OnPremManagementServiceGetEnrollmentResponseAttributesStatus.SUCCESS = ( + OnPremManagementServiceGetEnrollmentResponseAttributesStatus("success") +) +OnPremManagementServiceGetEnrollmentResponseAttributesStatus.FAILED = ( + OnPremManagementServiceGetEnrollmentResponseAttributesStatus("failed") +) diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_data.py b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_data.py new file mode 100644 index 0000000000..81b0811170 --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_data.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_attributes import ( + OnPremManagementServiceGetEnrollmentResponseAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_type import ( + OnPremManagementServiceGetEnrollmentResponseType, + ) + + +class OnPremManagementServiceGetEnrollmentResponseData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_attributes import ( + OnPremManagementServiceGetEnrollmentResponseAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_type import ( + OnPremManagementServiceGetEnrollmentResponseType, + ) + + return { + "attributes": (OnPremManagementServiceGetEnrollmentResponseAttributes,), + "id": (str,), + "type": (OnPremManagementServiceGetEnrollmentResponseType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: OnPremManagementServiceGetEnrollmentResponseAttributes, + id: str, + type: OnPremManagementServiceGetEnrollmentResponseType, + **kwargs, + ): + """ + Data for the enrollment status. + + :param attributes: Attributes for the enrollment status. + :type attributes: OnPremManagementServiceGetEnrollmentResponseAttributes + + :param id: The token hash identifier. + :type id: str + + :param type: The type of the resource. The value should always be getEnrollmentResponse. + :type type: OnPremManagementServiceGetEnrollmentResponseType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_type.py b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_type.py new file mode 100644 index 0000000000..262dd75cfc --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_get_enrollment_response_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class OnPremManagementServiceGetEnrollmentResponseType(ModelSimple): + """ + The type of the resource. The value should always be getEnrollmentResponse. + + :param value: If omitted defaults to "getEnrollmentResponse". Must be one of ["getEnrollmentResponse"]. + :type value: str + """ + + allowed_values = { + "getEnrollmentResponse", + } + GETENROLLMENTRESPONSE: ClassVar["OnPremManagementServiceGetEnrollmentResponseType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +OnPremManagementServiceGetEnrollmentResponseType.GETENROLLMENTRESPONSE = ( + OnPremManagementServiceGetEnrollmentResponseType("getEnrollmentResponse") +) diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_register_token_attributes.py b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_attributes.py new file mode 100644 index 0000000000..ee760e51af --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_attributes.py @@ -0,0 +1,72 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +class OnPremManagementServiceRegisterTokenAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "app_id": (UUID,), + "app_version": (int,), + "connection_id": (UUID,), + "query_id": (UUID,), + "runner_id": (str,), + } + + attribute_map = { + "app_id": "app_id", + "app_version": "app_version", + "connection_id": "connection_id", + "query_id": "query_id", + "runner_id": "runner_id", + } + + def __init__( + self_, + connection_id: UUID, + runner_id: str, + app_id: Union[UUID, UnsetType] = unset, + app_version: Union[int, UnsetType] = unset, + query_id: Union[UUID, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for registering a token. + + :param app_id: The application identifier. + :type app_id: UUID, optional + + :param app_version: The application version. + :type app_version: int, optional + + :param connection_id: The connection identifier. + :type connection_id: UUID + + :param query_id: The query identifier. + :type query_id: UUID, optional + + :param runner_id: The on-prem runner identifier. + :type runner_id: str + """ + if app_id is not unset: + kwargs["app_id"] = app_id + if app_version is not unset: + kwargs["app_version"] = app_version + if query_id is not unset: + kwargs["query_id"] = query_id + super().__init__(kwargs) + + self_.connection_id = connection_id + self_.runner_id = runner_id diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_register_token_data_request.py b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_data_request.py new file mode 100644 index 0000000000..635f3623ef --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_data_request.py @@ -0,0 +1,61 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_register_token_attributes import ( + OnPremManagementServiceRegisterTokenAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_register_token_type import ( + OnPremManagementServiceRegisterTokenType, + ) + + +class OnPremManagementServiceRegisterTokenDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_register_token_attributes import ( + OnPremManagementServiceRegisterTokenAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_register_token_type import ( + OnPremManagementServiceRegisterTokenType, + ) + + return { + "attributes": (OnPremManagementServiceRegisterTokenAttributes,), + "type": (OnPremManagementServiceRegisterTokenType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: OnPremManagementServiceRegisterTokenAttributes, + type: OnPremManagementServiceRegisterTokenType, + **kwargs, + ): + """ + Data for registering a token. + + :param attributes: Attributes for registering a token. + :type attributes: OnPremManagementServiceRegisterTokenAttributes + + :param type: The type of the resource. The value should always be registerTokenRequest. + :type type: OnPremManagementServiceRegisterTokenType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_register_token_request.py b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_request.py new file mode 100644 index 0000000000..44b27875ea --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_register_token_data_request import ( + OnPremManagementServiceRegisterTokenDataRequest, + ) + + +class OnPremManagementServiceRegisterTokenRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_register_token_data_request import ( + OnPremManagementServiceRegisterTokenDataRequest, + ) + + return { + "data": (OnPremManagementServiceRegisterTokenDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: OnPremManagementServiceRegisterTokenDataRequest, **kwargs): + """ + Request to register a token for query execution. + + :param data: Data for registering a token. + :type data: OnPremManagementServiceRegisterTokenDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response.py b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response.py new file mode 100644 index 0000000000..a860117bc5 --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_register_token_response_data import ( + OnPremManagementServiceRegisterTokenResponseData, + ) + + +class OnPremManagementServiceRegisterTokenResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_register_token_response_data import ( + OnPremManagementServiceRegisterTokenResponseData, + ) + + return { + "data": (OnPremManagementServiceRegisterTokenResponseData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: OnPremManagementServiceRegisterTokenResponseData, **kwargs): + """ + Response for registering a token. + + :param data: Data for the registered token. + :type data: OnPremManagementServiceRegisterTokenResponseData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response_attributes.py b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response_attributes.py new file mode 100644 index 0000000000..4affce7134 --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response_attributes.py @@ -0,0 +1,33 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class OnPremManagementServiceRegisterTokenResponseAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "token_string": (str,), + } + + attribute_map = { + "token_string": "token_string", + } + + def __init__(self_, token_string: str, **kwargs): + """ + Attributes for the registered token. + + :param token_string: The token string. + :type token_string: str + """ + super().__init__(kwargs) + + self_.token_string = token_string diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response_data.py b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response_data.py new file mode 100644 index 0000000000..a2ba47c6bc --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response_data.py @@ -0,0 +1,69 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.on_prem_management_service_register_token_response_attributes import ( + OnPremManagementServiceRegisterTokenResponseAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_register_token_response_type import ( + OnPremManagementServiceRegisterTokenResponseType, + ) + + +class OnPremManagementServiceRegisterTokenResponseData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.on_prem_management_service_register_token_response_attributes import ( + OnPremManagementServiceRegisterTokenResponseAttributes, + ) + from datadog_api_client.v2.model.on_prem_management_service_register_token_response_type import ( + OnPremManagementServiceRegisterTokenResponseType, + ) + + return { + "attributes": (OnPremManagementServiceRegisterTokenResponseAttributes,), + "id": (UUID,), + "type": (OnPremManagementServiceRegisterTokenResponseType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: OnPremManagementServiceRegisterTokenResponseAttributes, + id: UUID, + type: OnPremManagementServiceRegisterTokenResponseType, + **kwargs, + ): + """ + Data for the registered token. + + :param attributes: Attributes for the registered token. + :type attributes: OnPremManagementServiceRegisterTokenResponseAttributes + + :param id: The token identifier. + :type id: UUID + + :param type: The type of the resource. The value should always be tokenDefinitions. + :type type: OnPremManagementServiceRegisterTokenResponseType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response_type.py b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response_type.py new file mode 100644 index 0000000000..0a4d45e3fd --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_response_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class OnPremManagementServiceRegisterTokenResponseType(ModelSimple): + """ + The type of the resource. The value should always be tokenDefinitions. + + :param value: If omitted defaults to "tokenDefinitions". Must be one of ["tokenDefinitions"]. + :type value: str + """ + + allowed_values = { + "tokenDefinitions", + } + TOKENDEFINITIONS: ClassVar["OnPremManagementServiceRegisterTokenResponseType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +OnPremManagementServiceRegisterTokenResponseType.TOKENDEFINITIONS = OnPremManagementServiceRegisterTokenResponseType( + "tokenDefinitions" +) diff --git a/src/datadog_api_client/v2/model/on_prem_management_service_register_token_type.py b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_type.py new file mode 100644 index 0000000000..970951ac27 --- /dev/null +++ b/src/datadog_api_client/v2/model/on_prem_management_service_register_token_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class OnPremManagementServiceRegisterTokenType(ModelSimple): + """ + The type of the resource. The value should always be registerTokenRequest. + + :param value: If omitted defaults to "registerTokenRequest". Must be one of ["registerTokenRequest"]. + :type value: str + """ + + allowed_values = { + "registerTokenRequest", + } + REGISTERTOKENREQUEST: ClassVar["OnPremManagementServiceRegisterTokenType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +OnPremManagementServiceRegisterTokenType.REGISTERTOKENREQUEST = OnPremManagementServiceRegisterTokenType( + "registerTokenRequest" +) diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 400d568fb4..e625d75d89 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -3856,6 +3856,70 @@ from datadog_api_client.v2.model.on_demand_concurrency_cap_attributes import OnDemandConcurrencyCapAttributes from datadog_api_client.v2.model.on_demand_concurrency_cap_response import OnDemandConcurrencyCapResponse from datadog_api_client.v2.model.on_demand_concurrency_cap_type import OnDemandConcurrencyCapType +from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_request import ( + OnPremManagementServiceCreateEnrollmentRequest, +) +from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response import ( + OnPremManagementServiceCreateEnrollmentResponse, +) +from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_attributes import ( + OnPremManagementServiceCreateEnrollmentResponseAttributes, +) +from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_data import ( + OnPremManagementServiceCreateEnrollmentResponseData, +) +from datadog_api_client.v2.model.on_prem_management_service_create_enrollment_response_type import ( + OnPremManagementServiceCreateEnrollmentResponseType, +) +from datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes import ( + OnPremManagementServiceEnrollmentAttributes, +) +from datadog_api_client.v2.model.on_prem_management_service_enrollment_attributes_runner_modes_items import ( + OnPremManagementServiceEnrollmentAttributesRunnerModesItems, +) +from datadog_api_client.v2.model.on_prem_management_service_enrollment_data_request import ( + OnPremManagementServiceEnrollmentDataRequest, +) +from datadog_api_client.v2.model.on_prem_management_service_enrollment_type import OnPremManagementServiceEnrollmentType +from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response import ( + OnPremManagementServiceGetEnrollmentResponse, +) +from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_attributes import ( + OnPremManagementServiceGetEnrollmentResponseAttributes, +) +from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_attributes_status import ( + OnPremManagementServiceGetEnrollmentResponseAttributesStatus, +) +from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_data import ( + OnPremManagementServiceGetEnrollmentResponseData, +) +from datadog_api_client.v2.model.on_prem_management_service_get_enrollment_response_type import ( + OnPremManagementServiceGetEnrollmentResponseType, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_attributes import ( + OnPremManagementServiceRegisterTokenAttributes, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_data_request import ( + OnPremManagementServiceRegisterTokenDataRequest, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_request import ( + OnPremManagementServiceRegisterTokenRequest, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_response import ( + OnPremManagementServiceRegisterTokenResponse, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_response_attributes import ( + OnPremManagementServiceRegisterTokenResponseAttributes, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_response_data import ( + OnPremManagementServiceRegisterTokenResponseData, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_response_type import ( + OnPremManagementServiceRegisterTokenResponseType, +) +from datadog_api_client.v2.model.on_prem_management_service_register_token_type import ( + OnPremManagementServiceRegisterTokenType, +) from datadog_api_client.v2.model.open_aiapi_key import OpenAIAPIKey from datadog_api_client.v2.model.open_aiapi_key_type import OpenAIAPIKeyType from datadog_api_client.v2.model.open_aiapi_key_update import OpenAIAPIKeyUpdate @@ -8640,6 +8704,28 @@ "OnDemandConcurrencyCapAttributes", "OnDemandConcurrencyCapResponse", "OnDemandConcurrencyCapType", + "OnPremManagementServiceCreateEnrollmentRequest", + "OnPremManagementServiceCreateEnrollmentResponse", + "OnPremManagementServiceCreateEnrollmentResponseAttributes", + "OnPremManagementServiceCreateEnrollmentResponseData", + "OnPremManagementServiceCreateEnrollmentResponseType", + "OnPremManagementServiceEnrollmentAttributes", + "OnPremManagementServiceEnrollmentAttributesRunnerModesItems", + "OnPremManagementServiceEnrollmentDataRequest", + "OnPremManagementServiceEnrollmentType", + "OnPremManagementServiceGetEnrollmentResponse", + "OnPremManagementServiceGetEnrollmentResponseAttributes", + "OnPremManagementServiceGetEnrollmentResponseAttributesStatus", + "OnPremManagementServiceGetEnrollmentResponseData", + "OnPremManagementServiceGetEnrollmentResponseType", + "OnPremManagementServiceRegisterTokenAttributes", + "OnPremManagementServiceRegisterTokenDataRequest", + "OnPremManagementServiceRegisterTokenRequest", + "OnPremManagementServiceRegisterTokenResponse", + "OnPremManagementServiceRegisterTokenResponseAttributes", + "OnPremManagementServiceRegisterTokenResponseData", + "OnPremManagementServiceRegisterTokenResponseType", + "OnPremManagementServiceRegisterTokenType", "OpenAIAPIKey", "OpenAIAPIKeyType", "OpenAIAPIKeyUpdate", diff --git a/tests/v2/features/on-prem_management_service.feature b/tests/v2/features/on-prem_management_service.feature new file mode 100644 index 0000000000..c6c2ef5939 --- /dev/null +++ b/tests/v2/features/on-prem_management_service.feature @@ -0,0 +1,74 @@ +@endpoint(on-prem-management-service) @endpoint(on-prem-management-service-v2) +Feature: On-Prem Management Service + Manage on-premises runners for workflow automation and app builder. Use + these endpoints to enroll runners, check enrollment status, and register + tokens for query execution. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "OnPremManagementService" API + + @generated @skip @team:DataDog/action-platform + Scenario: Create an enrollment returns "Bad Request" response + Given operation "CreateOnPremManagementServiceEnrollment" enabled + And new "CreateOnPremManagementServiceEnrollment" request + And body with value {"data": {"attributes": {"actions_allowlist": ["com.datadoghq.jenkins.*"], "runner_host": "runner.example.com", "runner_modes": ["workflow_automation"], "runner_name": "my-runner"}, "type": "enrollment"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/action-platform + Scenario: Create an enrollment returns "Created" response + Given operation "CreateOnPremManagementServiceEnrollment" enabled + And new "CreateOnPremManagementServiceEnrollment" request + And body with value {"data": {"attributes": {"actions_allowlist": ["com.datadoghq.jenkins.*"], "runner_host": "runner.example.com", "runner_modes": ["workflow_automation"], "runner_name": "my-runner"}, "type": "enrollment"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/action-platform + Scenario: Get enrollment status returns "Bad Request" response + Given operation "GetOnPremManagementServiceEnrollment" enabled + And new "GetOnPremManagementServiceEnrollment" request + And request contains "token_hash" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/action-platform + Scenario: Get enrollment status returns "Not Found" response + Given operation "GetOnPremManagementServiceEnrollment" enabled + And new "GetOnPremManagementServiceEnrollment" request + And request contains "token_hash" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/action-platform + Scenario: Get enrollment status returns "OK" response + Given operation "GetOnPremManagementServiceEnrollment" enabled + And new "GetOnPremManagementServiceEnrollment" request + And request contains "token_hash" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/action-platform + Scenario: Register a token returns "Bad Request" response + Given operation "RegisterOnPremManagementServiceToken" enabled + And new "RegisterOnPremManagementServiceToken" request + And body with value {"data": {"attributes": {"app_id": "9a93d314-ca37-461d-b18e-0587f03c6e2a", "app_version": 5, "connection_id": "2f66ec56-d1f3-4a18-908d-5e8c12dfb3b0", "query_id": "8744d459-18aa-405b-821e-df9bb101c01e", "runner_id": "runner-GBUyh2Tm6oKS6ap4kt8Bbx"}, "type": "registerTokenRequest"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/action-platform + Scenario: Register a token returns "Not Found" response + Given operation "RegisterOnPremManagementServiceToken" enabled + And new "RegisterOnPremManagementServiceToken" request + And body with value {"data": {"attributes": {"app_id": "9a93d314-ca37-461d-b18e-0587f03c6e2a", "app_version": 5, "connection_id": "2f66ec56-d1f3-4a18-908d-5e8c12dfb3b0", "query_id": "8744d459-18aa-405b-821e-df9bb101c01e", "runner_id": "runner-GBUyh2Tm6oKS6ap4kt8Bbx"}, "type": "registerTokenRequest"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/action-platform + Scenario: Register a token returns "OK" response + Given operation "RegisterOnPremManagementServiceToken" enabled + And new "RegisterOnPremManagementServiceToken" request + And body with value {"data": {"attributes": {"app_id": "9a93d314-ca37-461d-b18e-0587f03c6e2a", "app_version": 5, "connection_id": "2f66ec56-d1f3-4a18-908d-5e8c12dfb3b0", "query_id": "8744d459-18aa-405b-821e-df9bb101c01e", "runner_id": "runner-GBUyh2Tm6oKS6ap4kt8Bbx"}, "type": "registerTokenRequest"}} + When the request is sent + Then the response status is 200 OK diff --git a/tests/v2/features/on_prem_management_service.feature b/tests/v2/features/on_prem_management_service.feature new file mode 100644 index 0000000000..db64af2a85 --- /dev/null +++ b/tests/v2/features/on_prem_management_service.feature @@ -0,0 +1,74 @@ +@endpoint(on-prem-management-service) @endpoint(on-prem-management-service-v2) +Feature: On Prem Management Service + Manage on-premises runners for workflow automation and app builder. Use + these endpoints to enroll runners, check enrollment status, and register + tokens for query execution. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "OnPremManagementService" API + + @generated @skip @team:DataDog/action-platform + Scenario: Create an enrollment returns "Bad Request" response + Given operation "CreateOnPremManagementServiceEnrollment" enabled + And new "CreateOnPremManagementServiceEnrollment" request + And body with value {"data": {"attributes": {"actions_allowlist": ["com.datadoghq.jenkins.*"], "runner_host": "runner.example.com", "runner_modes": ["workflow_automation"], "runner_name": "my-runner"}, "type": "enrollment"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/action-platform + Scenario: Create an enrollment returns "Created" response + Given operation "CreateOnPremManagementServiceEnrollment" enabled + And new "CreateOnPremManagementServiceEnrollment" request + And body with value {"data": {"attributes": {"actions_allowlist": ["com.datadoghq.jenkins.*"], "runner_host": "runner.example.com", "runner_modes": ["workflow_automation"], "runner_name": "my-runner"}, "type": "enrollment"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/action-platform + Scenario: Get enrollment status returns "Bad Request" response + Given operation "GetOnPremManagementServiceEnrollment" enabled + And new "GetOnPremManagementServiceEnrollment" request + And request contains "token_hash" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/action-platform + Scenario: Get enrollment status returns "Not Found" response + Given operation "GetOnPremManagementServiceEnrollment" enabled + And new "GetOnPremManagementServiceEnrollment" request + And request contains "token_hash" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/action-platform + Scenario: Get enrollment status returns "OK" response + Given operation "GetOnPremManagementServiceEnrollment" enabled + And new "GetOnPremManagementServiceEnrollment" request + And request contains "token_hash" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/action-platform + Scenario: Register a token returns "Bad Request" response + Given operation "RegisterOnPremManagementServiceToken" enabled + And new "RegisterOnPremManagementServiceToken" request + And body with value {"data": {"attributes": {"app_id": "9a93d314-ca37-461d-b18e-0587f03c6e2a", "app_version": 5, "connection_id": "2f66ec56-d1f3-4a18-908d-5e8c12dfb3b0", "query_id": "8744d459-18aa-405b-821e-df9bb101c01e", "runner_id": "runner-GBUyh2Tm6oKS6ap4kt8Bbx"}, "type": "registerTokenRequest"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/action-platform + Scenario: Register a token returns "Not Found" response + Given operation "RegisterOnPremManagementServiceToken" enabled + And new "RegisterOnPremManagementServiceToken" request + And body with value {"data": {"attributes": {"app_id": "9a93d314-ca37-461d-b18e-0587f03c6e2a", "app_version": 5, "connection_id": "2f66ec56-d1f3-4a18-908d-5e8c12dfb3b0", "query_id": "8744d459-18aa-405b-821e-df9bb101c01e", "runner_id": "runner-GBUyh2Tm6oKS6ap4kt8Bbx"}, "type": "registerTokenRequest"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/action-platform + Scenario: Register a token returns "OK" response + Given operation "RegisterOnPremManagementServiceToken" enabled + And new "RegisterOnPremManagementServiceToken" request + And body with value {"data": {"attributes": {"app_id": "9a93d314-ca37-461d-b18e-0587f03c6e2a", "app_version": 5, "connection_id": "2f66ec56-d1f3-4a18-908d-5e8c12dfb3b0", "query_id": "8744d459-18aa-405b-821e-df9bb101c01e", "runner_id": "runner-GBUyh2Tm6oKS6ap4kt8Bbx"}, "type": "registerTokenRequest"}} + When the request is sent + Then the response status is 200 OK diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index 7e549784ee..30c80633b8 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -3332,6 +3332,28 @@ "type": "safe" } }, + "CreateOnPremManagementServiceEnrollment": { + "tag": "On Prem Management Service", + "undo": { + "operationId": "TODO", + "parameters": [], + "type": "unsafe" + } + }, + "GetOnPremManagementServiceEnrollment": { + "tag": "On Prem Management Service", + "undo": { + "type": "safe" + } + }, + "RegisterOnPremManagementServiceToken": { + "tag": "On Prem Management Service", + "undo": { + "operationId": "TODO", + "parameters": [], + "type": "unsafe" + } + }, "ListOrgConfigs": { "tag": "Organizations", "undo": {