diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index a8908359f48..c3ecc0f72ec 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/api/datadog/configuration.go b/api/datadog/configuration.go index a4e3206ae89..ca6804692bd 100644 --- a/api/datadog/configuration.go +++ b/api/datadog/configuration.go @@ -791,6 +791,9 @@ func NewConfiguration() *Configuration { "v2.UpdateMonitorUserTemplate": false, "v2.ValidateExistingMonitorUserTemplate": false, "v2.ValidateMonitorUserTemplate": false, + "v2.CreateOnPremManagementServiceEnrollment": false, + "v2.GetOnPremManagementServiceEnrollment": false, + "v2.RegisterOnPremManagementServiceToken": false, "v2.ListRoleTemplates": false, "v2.CreateConnection": false, "v2.DeleteConnection": false, diff --git a/api/datadogV2/api_on_prem_management_service.go b/api/datadogV2/api_on_prem_management_service.go new file mode 100644 index 00000000000..20b5de2acd4 --- /dev/null +++ b/api/datadogV2/api_on_prem_management_service.go @@ -0,0 +1,317 @@ +// 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. + +package datadogV2 + +import ( + _context "context" + _fmt "fmt" + _log "log" + _nethttp "net/http" + _neturl "net/url" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceApi service type +type OnPremManagementServiceApi datadog.Service + +// CreateOnPremManagementServiceEnrollment 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. +func (a *OnPremManagementServiceApi) CreateOnPremManagementServiceEnrollment(ctx _context.Context, body OnPremManagementServiceCreateEnrollmentRequest) (OnPremManagementServiceCreateEnrollmentResponse, *_nethttp.Response, error) { + var ( + localVarHTTPMethod = _nethttp.MethodPost + localVarPostBody interface{} + localVarReturnValue OnPremManagementServiceCreateEnrollmentResponse + ) + + operationId := "v2.CreateOnPremManagementServiceEnrollment" + isOperationEnabled := a.Client.Cfg.IsUnstableOperationEnabled(operationId) + if !isOperationEnabled { + return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: _fmt.Sprintf("Unstable operation '%s' is disabled", operationId)} + } + if isOperationEnabled && a.Client.Cfg.Debug { + _log.Printf("WARNING: Using unstable operation '%s'", operationId) + } + + localBasePath, err := a.Client.Cfg.ServerURLWithContext(ctx, "v2.OnPremManagementServiceApi.CreateOnPremManagementServiceEnrollment") + if err != nil { + return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: err.Error()} + } + + localVarPath := localBasePath + "/api/v2/on-prem-management-service/enrollments" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := _neturl.Values{} + localVarFormParams := _neturl.Values{} + localVarHeaderParams["Content-Type"] = "application/json" + localVarHeaderParams["Accept"] = "application/json" + + // body params + localVarPostBody = &body + if a.Client.Cfg.DelegatedTokenConfig != nil { + err = datadog.UseDelegatedTokenAuth(ctx, &localVarHeaderParams, a.Client.Cfg.DelegatedTokenConfig) + if err != nil { + return localVarReturnValue, nil, err + } + } else { + datadog.SetAuthKeys( + ctx, + &localVarHeaderParams, + [2]string{"apiKeyAuth", "DD-API-KEY"}, + [2]string{"appKeyAuth", "DD-APPLICATION-KEY"}, + ) + } + req, err := a.Client.PrepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, nil) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.Client.CallAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := datadog.ReadBody(localVarHTTPResponse) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := datadog.GenericOpenAPIError{ + ErrorBody: localVarBody, + ErrorMessage: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 || localVarHTTPResponse.StatusCode == 401 || localVarHTTPResponse.StatusCode == 403 || localVarHTTPResponse.StatusCode == 500 { + var v JSONAPIErrorResponse + err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.ErrorModel = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v APIErrorResponse + err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.ErrorModel = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.Client.Decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := datadog.GenericOpenAPIError{ + ErrorBody: localVarBody, + ErrorMessage: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +// GetOnPremManagementServiceEnrollment Get enrollment status. +// Get the status of an enrollment for an on-prem runner using the enrollment token hash. +func (a *OnPremManagementServiceApi) GetOnPremManagementServiceEnrollment(ctx _context.Context, tokenHash string) (OnPremManagementServiceGetEnrollmentResponse, *_nethttp.Response, error) { + var ( + localVarHTTPMethod = _nethttp.MethodGet + localVarPostBody interface{} + localVarReturnValue OnPremManagementServiceGetEnrollmentResponse + ) + + operationId := "v2.GetOnPremManagementServiceEnrollment" + isOperationEnabled := a.Client.Cfg.IsUnstableOperationEnabled(operationId) + if !isOperationEnabled { + return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: _fmt.Sprintf("Unstable operation '%s' is disabled", operationId)} + } + if isOperationEnabled && a.Client.Cfg.Debug { + _log.Printf("WARNING: Using unstable operation '%s'", operationId) + } + + localBasePath, err := a.Client.Cfg.ServerURLWithContext(ctx, "v2.OnPremManagementServiceApi.GetOnPremManagementServiceEnrollment") + if err != nil { + return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: err.Error()} + } + + localVarPath := localBasePath + "/api/v2/on-prem-management-service/enrollments/{token_hash}" + localVarPath = datadog.ReplacePathParameter(localVarPath, "{token_hash}", _neturl.PathEscape(datadog.ParameterToString(tokenHash, ""))) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := _neturl.Values{} + localVarFormParams := _neturl.Values{} + localVarHeaderParams["Accept"] = "application/json" + + if a.Client.Cfg.DelegatedTokenConfig != nil { + err = datadog.UseDelegatedTokenAuth(ctx, &localVarHeaderParams, a.Client.Cfg.DelegatedTokenConfig) + if err != nil { + return localVarReturnValue, nil, err + } + } else { + datadog.SetAuthKeys( + ctx, + &localVarHeaderParams, + [2]string{"apiKeyAuth", "DD-API-KEY"}, + [2]string{"appKeyAuth", "DD-APPLICATION-KEY"}, + ) + } + req, err := a.Client.PrepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, nil) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.Client.CallAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := datadog.ReadBody(localVarHTTPResponse) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := datadog.GenericOpenAPIError{ + ErrorBody: localVarBody, + ErrorMessage: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 || localVarHTTPResponse.StatusCode == 401 || localVarHTTPResponse.StatusCode == 403 || localVarHTTPResponse.StatusCode == 404 || localVarHTTPResponse.StatusCode == 500 { + var v JSONAPIErrorResponse + err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.ErrorModel = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v APIErrorResponse + err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.ErrorModel = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.Client.Decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := datadog.GenericOpenAPIError{ + ErrorBody: localVarBody, + ErrorMessage: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +// RegisterOnPremManagementServiceToken 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. +func (a *OnPremManagementServiceApi) RegisterOnPremManagementServiceToken(ctx _context.Context, body OnPremManagementServiceRegisterTokenRequest) (OnPremManagementServiceRegisterTokenResponse, *_nethttp.Response, error) { + var ( + localVarHTTPMethod = _nethttp.MethodPost + localVarPostBody interface{} + localVarReturnValue OnPremManagementServiceRegisterTokenResponse + ) + + operationId := "v2.RegisterOnPremManagementServiceToken" + isOperationEnabled := a.Client.Cfg.IsUnstableOperationEnabled(operationId) + if !isOperationEnabled { + return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: _fmt.Sprintf("Unstable operation '%s' is disabled", operationId)} + } + if isOperationEnabled && a.Client.Cfg.Debug { + _log.Printf("WARNING: Using unstable operation '%s'", operationId) + } + + localBasePath, err := a.Client.Cfg.ServerURLWithContext(ctx, "v2.OnPremManagementServiceApi.RegisterOnPremManagementServiceToken") + if err != nil { + return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: err.Error()} + } + + localVarPath := localBasePath + "/api/v2/on-prem-management-service/tokens/register" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := _neturl.Values{} + localVarFormParams := _neturl.Values{} + localVarHeaderParams["Content-Type"] = "application/json" + localVarHeaderParams["Accept"] = "application/json" + + // body params + localVarPostBody = &body + if a.Client.Cfg.DelegatedTokenConfig != nil { + err = datadog.UseDelegatedTokenAuth(ctx, &localVarHeaderParams, a.Client.Cfg.DelegatedTokenConfig) + if err != nil { + return localVarReturnValue, nil, err + } + } else { + datadog.SetAuthKeys( + ctx, + &localVarHeaderParams, + [2]string{"apiKeyAuth", "DD-API-KEY"}, + [2]string{"appKeyAuth", "DD-APPLICATION-KEY"}, + ) + } + req, err := a.Client.PrepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, nil) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.Client.CallAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := datadog.ReadBody(localVarHTTPResponse) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := datadog.GenericOpenAPIError{ + ErrorBody: localVarBody, + ErrorMessage: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 || localVarHTTPResponse.StatusCode == 401 || localVarHTTPResponse.StatusCode == 403 || localVarHTTPResponse.StatusCode == 404 || localVarHTTPResponse.StatusCode == 500 { + var v JSONAPIErrorResponse + err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.ErrorModel = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v APIErrorResponse + err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.ErrorModel = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.Client.Decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := datadog.GenericOpenAPIError{ + ErrorBody: localVarBody, + ErrorMessage: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +// NewOnPremManagementServiceApi Returns NewOnPremManagementServiceApi. +func NewOnPremManagementServiceApi(client *datadog.APIClient) *OnPremManagementServiceApi { + return &OnPremManagementServiceApi{ + Client: client, + } +} diff --git a/api/datadogV2/doc.go b/api/datadogV2/doc.go index b167b02c2db..d6d24dfaa31 100644 --- a/api/datadogV2/doc.go +++ b/api/datadogV2/doc.go @@ -468,6 +468,9 @@ // - [OktaIntegrationApi.GetOktaAccount] // - [OktaIntegrationApi.ListOktaAccounts] // - [OktaIntegrationApi.UpdateOktaAccount] +// - [OnPremManagementServiceApi.CreateOnPremManagementServiceEnrollment] +// - [OnPremManagementServiceApi.GetOnPremManagementServiceEnrollment] +// - [OnPremManagementServiceApi.RegisterOnPremManagementServiceToken] // - [On-CallApi.CreateOnCallEscalationPolicy] // - [On-CallApi.CreateOnCallSchedule] // - [On-CallApi.CreateUserNotificationChannel] diff --git a/api/datadogV2/model_on_prem_management_service_create_enrollment_request.go b/api/datadogV2/model_on_prem_management_service_create_enrollment_request.go new file mode 100644 index 00000000000..f57d4399b0c --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_create_enrollment_request.go @@ -0,0 +1,110 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceCreateEnrollmentRequest Request to create an enrollment for an on-prem runner. +type OnPremManagementServiceCreateEnrollmentRequest struct { + // Data for creating an enrollment. + Data OnPremManagementServiceEnrollmentDataRequest `json:"data"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceCreateEnrollmentRequest instantiates a new OnPremManagementServiceCreateEnrollmentRequest object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceCreateEnrollmentRequest(data OnPremManagementServiceEnrollmentDataRequest) *OnPremManagementServiceCreateEnrollmentRequest { + this := OnPremManagementServiceCreateEnrollmentRequest{} + this.Data = data + return &this +} + +// NewOnPremManagementServiceCreateEnrollmentRequestWithDefaults instantiates a new OnPremManagementServiceCreateEnrollmentRequest object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceCreateEnrollmentRequestWithDefaults() *OnPremManagementServiceCreateEnrollmentRequest { + this := OnPremManagementServiceCreateEnrollmentRequest{} + return &this +} + +// GetData returns the Data field value. +func (o *OnPremManagementServiceCreateEnrollmentRequest) GetData() OnPremManagementServiceEnrollmentDataRequest { + if o == nil { + var ret OnPremManagementServiceEnrollmentDataRequest + return ret + } + return o.Data +} + +// GetDataOk returns a tuple with the Data field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceCreateEnrollmentRequest) GetDataOk() (*OnPremManagementServiceEnrollmentDataRequest, bool) { + if o == nil { + return nil, false + } + return &o.Data, true +} + +// SetData sets field value. +func (o *OnPremManagementServiceCreateEnrollmentRequest) SetData(v OnPremManagementServiceEnrollmentDataRequest) { + o.Data = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceCreateEnrollmentRequest) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["data"] = o.Data + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceCreateEnrollmentRequest) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Data *OnPremManagementServiceEnrollmentDataRequest `json:"data"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Data == nil { + return fmt.Errorf("required field data missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"data"}) + } else { + return err + } + + hasInvalidField := false + if all.Data.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Data = *all.Data + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_create_enrollment_response.go b/api/datadogV2/model_on_prem_management_service_create_enrollment_response.go new file mode 100644 index 00000000000..50ed368c631 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_create_enrollment_response.go @@ -0,0 +1,110 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceCreateEnrollmentResponse Response for creating an enrollment. +type OnPremManagementServiceCreateEnrollmentResponse struct { + // Data for the created enrollment. + Data OnPremManagementServiceCreateEnrollmentResponseData `json:"data"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceCreateEnrollmentResponse instantiates a new OnPremManagementServiceCreateEnrollmentResponse object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceCreateEnrollmentResponse(data OnPremManagementServiceCreateEnrollmentResponseData) *OnPremManagementServiceCreateEnrollmentResponse { + this := OnPremManagementServiceCreateEnrollmentResponse{} + this.Data = data + return &this +} + +// NewOnPremManagementServiceCreateEnrollmentResponseWithDefaults instantiates a new OnPremManagementServiceCreateEnrollmentResponse object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceCreateEnrollmentResponseWithDefaults() *OnPremManagementServiceCreateEnrollmentResponse { + this := OnPremManagementServiceCreateEnrollmentResponse{} + return &this +} + +// GetData returns the Data field value. +func (o *OnPremManagementServiceCreateEnrollmentResponse) GetData() OnPremManagementServiceCreateEnrollmentResponseData { + if o == nil { + var ret OnPremManagementServiceCreateEnrollmentResponseData + return ret + } + return o.Data +} + +// GetDataOk returns a tuple with the Data field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceCreateEnrollmentResponse) GetDataOk() (*OnPremManagementServiceCreateEnrollmentResponseData, bool) { + if o == nil { + return nil, false + } + return &o.Data, true +} + +// SetData sets field value. +func (o *OnPremManagementServiceCreateEnrollmentResponse) SetData(v OnPremManagementServiceCreateEnrollmentResponseData) { + o.Data = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceCreateEnrollmentResponse) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["data"] = o.Data + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceCreateEnrollmentResponse) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Data *OnPremManagementServiceCreateEnrollmentResponseData `json:"data"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Data == nil { + return fmt.Errorf("required field data missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"data"}) + } else { + return err + } + + hasInvalidField := false + if all.Data.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Data = *all.Data + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_create_enrollment_response_attributes.go b/api/datadogV2/model_on_prem_management_service_create_enrollment_response_attributes.go new file mode 100644 index 00000000000..08657240591 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_create_enrollment_response_attributes.go @@ -0,0 +1,101 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceCreateEnrollmentResponseAttributes Attributes for the created enrollment. +type OnPremManagementServiceCreateEnrollmentResponseAttributes struct { + // The enrollment token. + Token string `json:"token"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceCreateEnrollmentResponseAttributes instantiates a new OnPremManagementServiceCreateEnrollmentResponseAttributes object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceCreateEnrollmentResponseAttributes(token string) *OnPremManagementServiceCreateEnrollmentResponseAttributes { + this := OnPremManagementServiceCreateEnrollmentResponseAttributes{} + this.Token = token + return &this +} + +// NewOnPremManagementServiceCreateEnrollmentResponseAttributesWithDefaults instantiates a new OnPremManagementServiceCreateEnrollmentResponseAttributes object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceCreateEnrollmentResponseAttributesWithDefaults() *OnPremManagementServiceCreateEnrollmentResponseAttributes { + this := OnPremManagementServiceCreateEnrollmentResponseAttributes{} + return &this +} + +// GetToken returns the Token field value. +func (o *OnPremManagementServiceCreateEnrollmentResponseAttributes) GetToken() string { + if o == nil { + var ret string + return ret + } + return o.Token +} + +// GetTokenOk returns a tuple with the Token field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceCreateEnrollmentResponseAttributes) GetTokenOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Token, true +} + +// SetToken sets field value. +func (o *OnPremManagementServiceCreateEnrollmentResponseAttributes) SetToken(v string) { + o.Token = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceCreateEnrollmentResponseAttributes) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["token"] = o.Token + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceCreateEnrollmentResponseAttributes) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Token *string `json:"token"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Token == nil { + return fmt.Errorf("required field token missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"token"}) + } else { + return err + } + o.Token = *all.Token + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_create_enrollment_response_data.go b/api/datadogV2/model_on_prem_management_service_create_enrollment_response_data.go new file mode 100644 index 00000000000..8be4e4ab7e7 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_create_enrollment_response_data.go @@ -0,0 +1,178 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceCreateEnrollmentResponseData Data for the created enrollment. +type OnPremManagementServiceCreateEnrollmentResponseData struct { + // Attributes for the created enrollment. + Attributes OnPremManagementServiceCreateEnrollmentResponseAttributes `json:"attributes"` + // The token hash identifier. + Id string `json:"id"` + // The type of the resource. The value should always be createEnrollmentResponse. + Type OnPremManagementServiceCreateEnrollmentResponseType `json:"type"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceCreateEnrollmentResponseData instantiates a new OnPremManagementServiceCreateEnrollmentResponseData object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceCreateEnrollmentResponseData(attributes OnPremManagementServiceCreateEnrollmentResponseAttributes, id string, typeVar OnPremManagementServiceCreateEnrollmentResponseType) *OnPremManagementServiceCreateEnrollmentResponseData { + this := OnPremManagementServiceCreateEnrollmentResponseData{} + this.Attributes = attributes + this.Id = id + this.Type = typeVar + return &this +} + +// NewOnPremManagementServiceCreateEnrollmentResponseDataWithDefaults instantiates a new OnPremManagementServiceCreateEnrollmentResponseData object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceCreateEnrollmentResponseDataWithDefaults() *OnPremManagementServiceCreateEnrollmentResponseData { + this := OnPremManagementServiceCreateEnrollmentResponseData{} + return &this +} + +// GetAttributes returns the Attributes field value. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) GetAttributes() OnPremManagementServiceCreateEnrollmentResponseAttributes { + if o == nil { + var ret OnPremManagementServiceCreateEnrollmentResponseAttributes + return ret + } + return o.Attributes +} + +// GetAttributesOk returns a tuple with the Attributes field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) GetAttributesOk() (*OnPremManagementServiceCreateEnrollmentResponseAttributes, bool) { + if o == nil { + return nil, false + } + return &o.Attributes, true +} + +// SetAttributes sets field value. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) SetAttributes(v OnPremManagementServiceCreateEnrollmentResponseAttributes) { + o.Attributes = v +} + +// GetId returns the Id field value. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) GetId() string { + if o == nil { + var ret string + return ret + } + return o.Id +} + +// GetIdOk returns a tuple with the Id field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) GetIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Id, true +} + +// SetId sets field value. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) SetId(v string) { + o.Id = v +} + +// GetType returns the Type field value. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) GetType() OnPremManagementServiceCreateEnrollmentResponseType { + if o == nil { + var ret OnPremManagementServiceCreateEnrollmentResponseType + return ret + } + return o.Type +} + +// GetTypeOk returns a tuple with the Type field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) GetTypeOk() (*OnPremManagementServiceCreateEnrollmentResponseType, bool) { + if o == nil { + return nil, false + } + return &o.Type, true +} + +// SetType sets field value. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) SetType(v OnPremManagementServiceCreateEnrollmentResponseType) { + o.Type = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceCreateEnrollmentResponseData) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["attributes"] = o.Attributes + toSerialize["id"] = o.Id + toSerialize["type"] = o.Type + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceCreateEnrollmentResponseData) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Attributes *OnPremManagementServiceCreateEnrollmentResponseAttributes `json:"attributes"` + Id *string `json:"id"` + Type *OnPremManagementServiceCreateEnrollmentResponseType `json:"type"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Attributes == nil { + return fmt.Errorf("required field attributes missing") + } + if all.Id == nil { + return fmt.Errorf("required field id missing") + } + if all.Type == nil { + return fmt.Errorf("required field type missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"attributes", "id", "type"}) + } else { + return err + } + + hasInvalidField := false + if all.Attributes.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Attributes = *all.Attributes + o.Id = *all.Id + if !all.Type.IsValid() { + hasInvalidField = true + } else { + o.Type = *all.Type + } + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_create_enrollment_response_type.go b/api/datadogV2/model_on_prem_management_service_create_enrollment_response_type.go new file mode 100644 index 00000000000..8afa0b5e9ca --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_create_enrollment_response_type.go @@ -0,0 +1,64 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceCreateEnrollmentResponseType The type of the resource. The value should always be createEnrollmentResponse. +type OnPremManagementServiceCreateEnrollmentResponseType string + +// List of OnPremManagementServiceCreateEnrollmentResponseType. +const ( + ONPREMMANAGEMENTSERVICECREATEENROLLMENTRESPONSETYPE_CREATEENROLLMENTRESPONSE OnPremManagementServiceCreateEnrollmentResponseType = "createEnrollmentResponse" +) + +var allowedOnPremManagementServiceCreateEnrollmentResponseTypeEnumValues = []OnPremManagementServiceCreateEnrollmentResponseType{ + ONPREMMANAGEMENTSERVICECREATEENROLLMENTRESPONSETYPE_CREATEENROLLMENTRESPONSE, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *OnPremManagementServiceCreateEnrollmentResponseType) GetAllowedValues() []OnPremManagementServiceCreateEnrollmentResponseType { + return allowedOnPremManagementServiceCreateEnrollmentResponseTypeEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *OnPremManagementServiceCreateEnrollmentResponseType) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = OnPremManagementServiceCreateEnrollmentResponseType(value) + return nil +} + +// NewOnPremManagementServiceCreateEnrollmentResponseTypeFromValue returns a pointer to a valid OnPremManagementServiceCreateEnrollmentResponseType +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewOnPremManagementServiceCreateEnrollmentResponseTypeFromValue(v string) (*OnPremManagementServiceCreateEnrollmentResponseType, error) { + ev := OnPremManagementServiceCreateEnrollmentResponseType(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for OnPremManagementServiceCreateEnrollmentResponseType: valid values are %v", v, allowedOnPremManagementServiceCreateEnrollmentResponseTypeEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v OnPremManagementServiceCreateEnrollmentResponseType) IsValid() bool { + for _, existing := range allowedOnPremManagementServiceCreateEnrollmentResponseTypeEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to OnPremManagementServiceCreateEnrollmentResponseType value. +func (v OnPremManagementServiceCreateEnrollmentResponseType) Ptr() *OnPremManagementServiceCreateEnrollmentResponseType { + return &v +} diff --git a/api/datadogV2/model_on_prem_management_service_enrollment_attributes.go b/api/datadogV2/model_on_prem_management_service_enrollment_attributes.go new file mode 100644 index 00000000000..90fab847016 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_enrollment_attributes.go @@ -0,0 +1,200 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceEnrollmentAttributes Attributes for creating an enrollment. +type OnPremManagementServiceEnrollmentAttributes struct { + // List of allowed actions for the runner. + ActionsAllowlist []string `json:"actions_allowlist"` + // The hostname for the runner. Required when push mode is enabled. + RunnerHost *string `json:"runner_host,omitempty"` + // The modes the runner should operate in. + RunnerModes []OnPremManagementServiceEnrollmentAttributesRunnerModesItems `json:"runner_modes"` + // The name of the on-prem runner. + RunnerName string `json:"runner_name"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceEnrollmentAttributes instantiates a new OnPremManagementServiceEnrollmentAttributes object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceEnrollmentAttributes(actionsAllowlist []string, runnerModes []OnPremManagementServiceEnrollmentAttributesRunnerModesItems, runnerName string) *OnPremManagementServiceEnrollmentAttributes { + this := OnPremManagementServiceEnrollmentAttributes{} + this.ActionsAllowlist = actionsAllowlist + this.RunnerModes = runnerModes + this.RunnerName = runnerName + return &this +} + +// NewOnPremManagementServiceEnrollmentAttributesWithDefaults instantiates a new OnPremManagementServiceEnrollmentAttributes object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceEnrollmentAttributesWithDefaults() *OnPremManagementServiceEnrollmentAttributes { + this := OnPremManagementServiceEnrollmentAttributes{} + return &this +} + +// GetActionsAllowlist returns the ActionsAllowlist field value. +func (o *OnPremManagementServiceEnrollmentAttributes) GetActionsAllowlist() []string { + if o == nil { + var ret []string + return ret + } + return o.ActionsAllowlist +} + +// GetActionsAllowlistOk returns a tuple with the ActionsAllowlist field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceEnrollmentAttributes) GetActionsAllowlistOk() (*[]string, bool) { + if o == nil { + return nil, false + } + return &o.ActionsAllowlist, true +} + +// SetActionsAllowlist sets field value. +func (o *OnPremManagementServiceEnrollmentAttributes) SetActionsAllowlist(v []string) { + o.ActionsAllowlist = v +} + +// GetRunnerHost returns the RunnerHost field value if set, zero value otherwise. +func (o *OnPremManagementServiceEnrollmentAttributes) GetRunnerHost() string { + if o == nil || o.RunnerHost == nil { + var ret string + return ret + } + return *o.RunnerHost +} + +// GetRunnerHostOk returns a tuple with the RunnerHost field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceEnrollmentAttributes) GetRunnerHostOk() (*string, bool) { + if o == nil || o.RunnerHost == nil { + return nil, false + } + return o.RunnerHost, true +} + +// HasRunnerHost returns a boolean if a field has been set. +func (o *OnPremManagementServiceEnrollmentAttributes) HasRunnerHost() bool { + return o != nil && o.RunnerHost != nil +} + +// SetRunnerHost gets a reference to the given string and assigns it to the RunnerHost field. +func (o *OnPremManagementServiceEnrollmentAttributes) SetRunnerHost(v string) { + o.RunnerHost = &v +} + +// GetRunnerModes returns the RunnerModes field value. +func (o *OnPremManagementServiceEnrollmentAttributes) GetRunnerModes() []OnPremManagementServiceEnrollmentAttributesRunnerModesItems { + if o == nil { + var ret []OnPremManagementServiceEnrollmentAttributesRunnerModesItems + return ret + } + return o.RunnerModes +} + +// GetRunnerModesOk returns a tuple with the RunnerModes field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceEnrollmentAttributes) GetRunnerModesOk() (*[]OnPremManagementServiceEnrollmentAttributesRunnerModesItems, bool) { + if o == nil { + return nil, false + } + return &o.RunnerModes, true +} + +// SetRunnerModes sets field value. +func (o *OnPremManagementServiceEnrollmentAttributes) SetRunnerModes(v []OnPremManagementServiceEnrollmentAttributesRunnerModesItems) { + o.RunnerModes = v +} + +// GetRunnerName returns the RunnerName field value. +func (o *OnPremManagementServiceEnrollmentAttributes) GetRunnerName() string { + if o == nil { + var ret string + return ret + } + return o.RunnerName +} + +// GetRunnerNameOk returns a tuple with the RunnerName field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceEnrollmentAttributes) GetRunnerNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.RunnerName, true +} + +// SetRunnerName sets field value. +func (o *OnPremManagementServiceEnrollmentAttributes) SetRunnerName(v string) { + o.RunnerName = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceEnrollmentAttributes) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["actions_allowlist"] = o.ActionsAllowlist + if o.RunnerHost != nil { + toSerialize["runner_host"] = o.RunnerHost + } + toSerialize["runner_modes"] = o.RunnerModes + toSerialize["runner_name"] = o.RunnerName + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceEnrollmentAttributes) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + ActionsAllowlist *[]string `json:"actions_allowlist"` + RunnerHost *string `json:"runner_host,omitempty"` + RunnerModes *[]OnPremManagementServiceEnrollmentAttributesRunnerModesItems `json:"runner_modes"` + RunnerName *string `json:"runner_name"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.ActionsAllowlist == nil { + return fmt.Errorf("required field actions_allowlist missing") + } + if all.RunnerModes == nil { + return fmt.Errorf("required field runner_modes missing") + } + if all.RunnerName == nil { + return fmt.Errorf("required field runner_name missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"actions_allowlist", "runner_host", "runner_modes", "runner_name"}) + } else { + return err + } + o.ActionsAllowlist = *all.ActionsAllowlist + o.RunnerHost = all.RunnerHost + o.RunnerModes = *all.RunnerModes + o.RunnerName = *all.RunnerName + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_enrollment_attributes_runner_modes_items.go b/api/datadogV2/model_on_prem_management_service_enrollment_attributes_runner_modes_items.go new file mode 100644 index 00000000000..0e6f8c852f8 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_enrollment_attributes_runner_modes_items.go @@ -0,0 +1,66 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceEnrollmentAttributesRunnerModesItems +type OnPremManagementServiceEnrollmentAttributesRunnerModesItems string + +// List of OnPremManagementServiceEnrollmentAttributesRunnerModesItems. +const ( + ONPREMMANAGEMENTSERVICEENROLLMENTATTRIBUTESRUNNERMODESITEMS_WORKFLOW_AUTOMATION OnPremManagementServiceEnrollmentAttributesRunnerModesItems = "workflow_automation" + ONPREMMANAGEMENTSERVICEENROLLMENTATTRIBUTESRUNNERMODESITEMS_APP_BUILDER OnPremManagementServiceEnrollmentAttributesRunnerModesItems = "app_builder" +) + +var allowedOnPremManagementServiceEnrollmentAttributesRunnerModesItemsEnumValues = []OnPremManagementServiceEnrollmentAttributesRunnerModesItems{ + ONPREMMANAGEMENTSERVICEENROLLMENTATTRIBUTESRUNNERMODESITEMS_WORKFLOW_AUTOMATION, + ONPREMMANAGEMENTSERVICEENROLLMENTATTRIBUTESRUNNERMODESITEMS_APP_BUILDER, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *OnPremManagementServiceEnrollmentAttributesRunnerModesItems) GetAllowedValues() []OnPremManagementServiceEnrollmentAttributesRunnerModesItems { + return allowedOnPremManagementServiceEnrollmentAttributesRunnerModesItemsEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *OnPremManagementServiceEnrollmentAttributesRunnerModesItems) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = OnPremManagementServiceEnrollmentAttributesRunnerModesItems(value) + return nil +} + +// NewOnPremManagementServiceEnrollmentAttributesRunnerModesItemsFromValue returns a pointer to a valid OnPremManagementServiceEnrollmentAttributesRunnerModesItems +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewOnPremManagementServiceEnrollmentAttributesRunnerModesItemsFromValue(v string) (*OnPremManagementServiceEnrollmentAttributesRunnerModesItems, error) { + ev := OnPremManagementServiceEnrollmentAttributesRunnerModesItems(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for OnPremManagementServiceEnrollmentAttributesRunnerModesItems: valid values are %v", v, allowedOnPremManagementServiceEnrollmentAttributesRunnerModesItemsEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v OnPremManagementServiceEnrollmentAttributesRunnerModesItems) IsValid() bool { + for _, existing := range allowedOnPremManagementServiceEnrollmentAttributesRunnerModesItemsEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to OnPremManagementServiceEnrollmentAttributesRunnerModesItems value. +func (v OnPremManagementServiceEnrollmentAttributesRunnerModesItems) Ptr() *OnPremManagementServiceEnrollmentAttributesRunnerModesItems { + return &v +} diff --git a/api/datadogV2/model_on_prem_management_service_enrollment_data_request.go b/api/datadogV2/model_on_prem_management_service_enrollment_data_request.go new file mode 100644 index 00000000000..72f61644654 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_enrollment_data_request.go @@ -0,0 +1,146 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceEnrollmentDataRequest Data for creating an enrollment. +type OnPremManagementServiceEnrollmentDataRequest struct { + // Attributes for creating an enrollment. + Attributes OnPremManagementServiceEnrollmentAttributes `json:"attributes"` + // The type of the resource. The value should always be enrollment. + Type OnPremManagementServiceEnrollmentType `json:"type"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceEnrollmentDataRequest instantiates a new OnPremManagementServiceEnrollmentDataRequest object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceEnrollmentDataRequest(attributes OnPremManagementServiceEnrollmentAttributes, typeVar OnPremManagementServiceEnrollmentType) *OnPremManagementServiceEnrollmentDataRequest { + this := OnPremManagementServiceEnrollmentDataRequest{} + this.Attributes = attributes + this.Type = typeVar + return &this +} + +// NewOnPremManagementServiceEnrollmentDataRequestWithDefaults instantiates a new OnPremManagementServiceEnrollmentDataRequest object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceEnrollmentDataRequestWithDefaults() *OnPremManagementServiceEnrollmentDataRequest { + this := OnPremManagementServiceEnrollmentDataRequest{} + return &this +} + +// GetAttributes returns the Attributes field value. +func (o *OnPremManagementServiceEnrollmentDataRequest) GetAttributes() OnPremManagementServiceEnrollmentAttributes { + if o == nil { + var ret OnPremManagementServiceEnrollmentAttributes + return ret + } + return o.Attributes +} + +// GetAttributesOk returns a tuple with the Attributes field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceEnrollmentDataRequest) GetAttributesOk() (*OnPremManagementServiceEnrollmentAttributes, bool) { + if o == nil { + return nil, false + } + return &o.Attributes, true +} + +// SetAttributes sets field value. +func (o *OnPremManagementServiceEnrollmentDataRequest) SetAttributes(v OnPremManagementServiceEnrollmentAttributes) { + o.Attributes = v +} + +// GetType returns the Type field value. +func (o *OnPremManagementServiceEnrollmentDataRequest) GetType() OnPremManagementServiceEnrollmentType { + if o == nil { + var ret OnPremManagementServiceEnrollmentType + return ret + } + return o.Type +} + +// GetTypeOk returns a tuple with the Type field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceEnrollmentDataRequest) GetTypeOk() (*OnPremManagementServiceEnrollmentType, bool) { + if o == nil { + return nil, false + } + return &o.Type, true +} + +// SetType sets field value. +func (o *OnPremManagementServiceEnrollmentDataRequest) SetType(v OnPremManagementServiceEnrollmentType) { + o.Type = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceEnrollmentDataRequest) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["attributes"] = o.Attributes + toSerialize["type"] = o.Type + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceEnrollmentDataRequest) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Attributes *OnPremManagementServiceEnrollmentAttributes `json:"attributes"` + Type *OnPremManagementServiceEnrollmentType `json:"type"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Attributes == nil { + return fmt.Errorf("required field attributes missing") + } + if all.Type == nil { + return fmt.Errorf("required field type missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"attributes", "type"}) + } else { + return err + } + + hasInvalidField := false + if all.Attributes.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Attributes = *all.Attributes + if !all.Type.IsValid() { + hasInvalidField = true + } else { + o.Type = *all.Type + } + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_enrollment_type.go b/api/datadogV2/model_on_prem_management_service_enrollment_type.go new file mode 100644 index 00000000000..bc9370b297c --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_enrollment_type.go @@ -0,0 +1,64 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceEnrollmentType The type of the resource. The value should always be enrollment. +type OnPremManagementServiceEnrollmentType string + +// List of OnPremManagementServiceEnrollmentType. +const ( + ONPREMMANAGEMENTSERVICEENROLLMENTTYPE_ENROLLMENT OnPremManagementServiceEnrollmentType = "enrollment" +) + +var allowedOnPremManagementServiceEnrollmentTypeEnumValues = []OnPremManagementServiceEnrollmentType{ + ONPREMMANAGEMENTSERVICEENROLLMENTTYPE_ENROLLMENT, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *OnPremManagementServiceEnrollmentType) GetAllowedValues() []OnPremManagementServiceEnrollmentType { + return allowedOnPremManagementServiceEnrollmentTypeEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *OnPremManagementServiceEnrollmentType) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = OnPremManagementServiceEnrollmentType(value) + return nil +} + +// NewOnPremManagementServiceEnrollmentTypeFromValue returns a pointer to a valid OnPremManagementServiceEnrollmentType +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewOnPremManagementServiceEnrollmentTypeFromValue(v string) (*OnPremManagementServiceEnrollmentType, error) { + ev := OnPremManagementServiceEnrollmentType(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for OnPremManagementServiceEnrollmentType: valid values are %v", v, allowedOnPremManagementServiceEnrollmentTypeEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v OnPremManagementServiceEnrollmentType) IsValid() bool { + for _, existing := range allowedOnPremManagementServiceEnrollmentTypeEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to OnPremManagementServiceEnrollmentType value. +func (v OnPremManagementServiceEnrollmentType) Ptr() *OnPremManagementServiceEnrollmentType { + return &v +} diff --git a/api/datadogV2/model_on_prem_management_service_get_enrollment_response.go b/api/datadogV2/model_on_prem_management_service_get_enrollment_response.go new file mode 100644 index 00000000000..8184d2480d4 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_get_enrollment_response.go @@ -0,0 +1,110 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceGetEnrollmentResponse Response for getting an enrollment status. +type OnPremManagementServiceGetEnrollmentResponse struct { + // Data for the enrollment status. + Data OnPremManagementServiceGetEnrollmentResponseData `json:"data"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceGetEnrollmentResponse instantiates a new OnPremManagementServiceGetEnrollmentResponse object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceGetEnrollmentResponse(data OnPremManagementServiceGetEnrollmentResponseData) *OnPremManagementServiceGetEnrollmentResponse { + this := OnPremManagementServiceGetEnrollmentResponse{} + this.Data = data + return &this +} + +// NewOnPremManagementServiceGetEnrollmentResponseWithDefaults instantiates a new OnPremManagementServiceGetEnrollmentResponse object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceGetEnrollmentResponseWithDefaults() *OnPremManagementServiceGetEnrollmentResponse { + this := OnPremManagementServiceGetEnrollmentResponse{} + return &this +} + +// GetData returns the Data field value. +func (o *OnPremManagementServiceGetEnrollmentResponse) GetData() OnPremManagementServiceGetEnrollmentResponseData { + if o == nil { + var ret OnPremManagementServiceGetEnrollmentResponseData + return ret + } + return o.Data +} + +// GetDataOk returns a tuple with the Data field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceGetEnrollmentResponse) GetDataOk() (*OnPremManagementServiceGetEnrollmentResponseData, bool) { + if o == nil { + return nil, false + } + return &o.Data, true +} + +// SetData sets field value. +func (o *OnPremManagementServiceGetEnrollmentResponse) SetData(v OnPremManagementServiceGetEnrollmentResponseData) { + o.Data = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceGetEnrollmentResponse) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["data"] = o.Data + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceGetEnrollmentResponse) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Data *OnPremManagementServiceGetEnrollmentResponseData `json:"data"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Data == nil { + return fmt.Errorf("required field data missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"data"}) + } else { + return err + } + + hasInvalidField := false + if all.Data.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Data = *all.Data + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_get_enrollment_response_attributes.go b/api/datadogV2/model_on_prem_management_service_get_enrollment_response_attributes.go new file mode 100644 index 00000000000..80086442da2 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_get_enrollment_response_attributes.go @@ -0,0 +1,175 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceGetEnrollmentResponseAttributes Attributes for the enrollment status. +type OnPremManagementServiceGetEnrollmentResponseAttributes struct { + // The reason for enrollment failure, if applicable. + FailureReason string `json:"failure_reason"` + // The runner identifier, if enrollment was successful. + RunnerId string `json:"runner_id"` + // The status of the enrollment. + Status OnPremManagementServiceGetEnrollmentResponseAttributesStatus `json:"status"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceGetEnrollmentResponseAttributes instantiates a new OnPremManagementServiceGetEnrollmentResponseAttributes object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceGetEnrollmentResponseAttributes(failureReason string, runnerId string, status OnPremManagementServiceGetEnrollmentResponseAttributesStatus) *OnPremManagementServiceGetEnrollmentResponseAttributes { + this := OnPremManagementServiceGetEnrollmentResponseAttributes{} + this.FailureReason = failureReason + this.RunnerId = runnerId + this.Status = status + return &this +} + +// NewOnPremManagementServiceGetEnrollmentResponseAttributesWithDefaults instantiates a new OnPremManagementServiceGetEnrollmentResponseAttributes object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceGetEnrollmentResponseAttributesWithDefaults() *OnPremManagementServiceGetEnrollmentResponseAttributes { + this := OnPremManagementServiceGetEnrollmentResponseAttributes{} + return &this +} + +// GetFailureReason returns the FailureReason field value. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) GetFailureReason() string { + if o == nil { + var ret string + return ret + } + return o.FailureReason +} + +// GetFailureReasonOk returns a tuple with the FailureReason field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) GetFailureReasonOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.FailureReason, true +} + +// SetFailureReason sets field value. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) SetFailureReason(v string) { + o.FailureReason = v +} + +// GetRunnerId returns the RunnerId field value. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) GetRunnerId() string { + if o == nil { + var ret string + return ret + } + return o.RunnerId +} + +// GetRunnerIdOk returns a tuple with the RunnerId field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) GetRunnerIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.RunnerId, true +} + +// SetRunnerId sets field value. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) SetRunnerId(v string) { + o.RunnerId = v +} + +// GetStatus returns the Status field value. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) GetStatus() OnPremManagementServiceGetEnrollmentResponseAttributesStatus { + if o == nil { + var ret OnPremManagementServiceGetEnrollmentResponseAttributesStatus + return ret + } + return o.Status +} + +// GetStatusOk returns a tuple with the Status field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) GetStatusOk() (*OnPremManagementServiceGetEnrollmentResponseAttributesStatus, bool) { + if o == nil { + return nil, false + } + return &o.Status, true +} + +// SetStatus sets field value. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) SetStatus(v OnPremManagementServiceGetEnrollmentResponseAttributesStatus) { + o.Status = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceGetEnrollmentResponseAttributes) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["failure_reason"] = o.FailureReason + toSerialize["runner_id"] = o.RunnerId + toSerialize["status"] = o.Status + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceGetEnrollmentResponseAttributes) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + FailureReason *string `json:"failure_reason"` + RunnerId *string `json:"runner_id"` + Status *OnPremManagementServiceGetEnrollmentResponseAttributesStatus `json:"status"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.FailureReason == nil { + return fmt.Errorf("required field failure_reason missing") + } + if all.RunnerId == nil { + return fmt.Errorf("required field runner_id missing") + } + if all.Status == nil { + return fmt.Errorf("required field status missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"failure_reason", "runner_id", "status"}) + } else { + return err + } + + hasInvalidField := false + o.FailureReason = *all.FailureReason + o.RunnerId = *all.RunnerId + if !all.Status.IsValid() { + hasInvalidField = true + } else { + o.Status = *all.Status + } + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_get_enrollment_response_attributes_status.go b/api/datadogV2/model_on_prem_management_service_get_enrollment_response_attributes_status.go new file mode 100644 index 00000000000..574b78194cd --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_get_enrollment_response_attributes_status.go @@ -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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceGetEnrollmentResponseAttributesStatus The status of the enrollment. +type OnPremManagementServiceGetEnrollmentResponseAttributesStatus string + +// List of OnPremManagementServiceGetEnrollmentResponseAttributesStatus. +const ( + ONPREMMANAGEMENTSERVICEGETENROLLMENTRESPONSEATTRIBUTESSTATUS_NEW OnPremManagementServiceGetEnrollmentResponseAttributesStatus = "new" + ONPREMMANAGEMENTSERVICEGETENROLLMENTRESPONSEATTRIBUTESSTATUS_SUCCESS OnPremManagementServiceGetEnrollmentResponseAttributesStatus = "success" + ONPREMMANAGEMENTSERVICEGETENROLLMENTRESPONSEATTRIBUTESSTATUS_FAILED OnPremManagementServiceGetEnrollmentResponseAttributesStatus = "failed" +) + +var allowedOnPremManagementServiceGetEnrollmentResponseAttributesStatusEnumValues = []OnPremManagementServiceGetEnrollmentResponseAttributesStatus{ + ONPREMMANAGEMENTSERVICEGETENROLLMENTRESPONSEATTRIBUTESSTATUS_NEW, + ONPREMMANAGEMENTSERVICEGETENROLLMENTRESPONSEATTRIBUTESSTATUS_SUCCESS, + ONPREMMANAGEMENTSERVICEGETENROLLMENTRESPONSEATTRIBUTESSTATUS_FAILED, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *OnPremManagementServiceGetEnrollmentResponseAttributesStatus) GetAllowedValues() []OnPremManagementServiceGetEnrollmentResponseAttributesStatus { + return allowedOnPremManagementServiceGetEnrollmentResponseAttributesStatusEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *OnPremManagementServiceGetEnrollmentResponseAttributesStatus) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = OnPremManagementServiceGetEnrollmentResponseAttributesStatus(value) + return nil +} + +// NewOnPremManagementServiceGetEnrollmentResponseAttributesStatusFromValue returns a pointer to a valid OnPremManagementServiceGetEnrollmentResponseAttributesStatus +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewOnPremManagementServiceGetEnrollmentResponseAttributesStatusFromValue(v string) (*OnPremManagementServiceGetEnrollmentResponseAttributesStatus, error) { + ev := OnPremManagementServiceGetEnrollmentResponseAttributesStatus(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for OnPremManagementServiceGetEnrollmentResponseAttributesStatus: valid values are %v", v, allowedOnPremManagementServiceGetEnrollmentResponseAttributesStatusEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v OnPremManagementServiceGetEnrollmentResponseAttributesStatus) IsValid() bool { + for _, existing := range allowedOnPremManagementServiceGetEnrollmentResponseAttributesStatusEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to OnPremManagementServiceGetEnrollmentResponseAttributesStatus value. +func (v OnPremManagementServiceGetEnrollmentResponseAttributesStatus) Ptr() *OnPremManagementServiceGetEnrollmentResponseAttributesStatus { + return &v +} diff --git a/api/datadogV2/model_on_prem_management_service_get_enrollment_response_data.go b/api/datadogV2/model_on_prem_management_service_get_enrollment_response_data.go new file mode 100644 index 00000000000..5d596ee90e7 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_get_enrollment_response_data.go @@ -0,0 +1,178 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceGetEnrollmentResponseData Data for the enrollment status. +type OnPremManagementServiceGetEnrollmentResponseData struct { + // Attributes for the enrollment status. + Attributes OnPremManagementServiceGetEnrollmentResponseAttributes `json:"attributes"` + // The token hash identifier. + Id string `json:"id"` + // The type of the resource. The value should always be getEnrollmentResponse. + Type OnPremManagementServiceGetEnrollmentResponseType `json:"type"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceGetEnrollmentResponseData instantiates a new OnPremManagementServiceGetEnrollmentResponseData object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceGetEnrollmentResponseData(attributes OnPremManagementServiceGetEnrollmentResponseAttributes, id string, typeVar OnPremManagementServiceGetEnrollmentResponseType) *OnPremManagementServiceGetEnrollmentResponseData { + this := OnPremManagementServiceGetEnrollmentResponseData{} + this.Attributes = attributes + this.Id = id + this.Type = typeVar + return &this +} + +// NewOnPremManagementServiceGetEnrollmentResponseDataWithDefaults instantiates a new OnPremManagementServiceGetEnrollmentResponseData object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceGetEnrollmentResponseDataWithDefaults() *OnPremManagementServiceGetEnrollmentResponseData { + this := OnPremManagementServiceGetEnrollmentResponseData{} + return &this +} + +// GetAttributes returns the Attributes field value. +func (o *OnPremManagementServiceGetEnrollmentResponseData) GetAttributes() OnPremManagementServiceGetEnrollmentResponseAttributes { + if o == nil { + var ret OnPremManagementServiceGetEnrollmentResponseAttributes + return ret + } + return o.Attributes +} + +// GetAttributesOk returns a tuple with the Attributes field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceGetEnrollmentResponseData) GetAttributesOk() (*OnPremManagementServiceGetEnrollmentResponseAttributes, bool) { + if o == nil { + return nil, false + } + return &o.Attributes, true +} + +// SetAttributes sets field value. +func (o *OnPremManagementServiceGetEnrollmentResponseData) SetAttributes(v OnPremManagementServiceGetEnrollmentResponseAttributes) { + o.Attributes = v +} + +// GetId returns the Id field value. +func (o *OnPremManagementServiceGetEnrollmentResponseData) GetId() string { + if o == nil { + var ret string + return ret + } + return o.Id +} + +// GetIdOk returns a tuple with the Id field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceGetEnrollmentResponseData) GetIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Id, true +} + +// SetId sets field value. +func (o *OnPremManagementServiceGetEnrollmentResponseData) SetId(v string) { + o.Id = v +} + +// GetType returns the Type field value. +func (o *OnPremManagementServiceGetEnrollmentResponseData) GetType() OnPremManagementServiceGetEnrollmentResponseType { + if o == nil { + var ret OnPremManagementServiceGetEnrollmentResponseType + return ret + } + return o.Type +} + +// GetTypeOk returns a tuple with the Type field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceGetEnrollmentResponseData) GetTypeOk() (*OnPremManagementServiceGetEnrollmentResponseType, bool) { + if o == nil { + return nil, false + } + return &o.Type, true +} + +// SetType sets field value. +func (o *OnPremManagementServiceGetEnrollmentResponseData) SetType(v OnPremManagementServiceGetEnrollmentResponseType) { + o.Type = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceGetEnrollmentResponseData) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["attributes"] = o.Attributes + toSerialize["id"] = o.Id + toSerialize["type"] = o.Type + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceGetEnrollmentResponseData) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Attributes *OnPremManagementServiceGetEnrollmentResponseAttributes `json:"attributes"` + Id *string `json:"id"` + Type *OnPremManagementServiceGetEnrollmentResponseType `json:"type"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Attributes == nil { + return fmt.Errorf("required field attributes missing") + } + if all.Id == nil { + return fmt.Errorf("required field id missing") + } + if all.Type == nil { + return fmt.Errorf("required field type missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"attributes", "id", "type"}) + } else { + return err + } + + hasInvalidField := false + if all.Attributes.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Attributes = *all.Attributes + o.Id = *all.Id + if !all.Type.IsValid() { + hasInvalidField = true + } else { + o.Type = *all.Type + } + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_get_enrollment_response_type.go b/api/datadogV2/model_on_prem_management_service_get_enrollment_response_type.go new file mode 100644 index 00000000000..20194b6a6c3 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_get_enrollment_response_type.go @@ -0,0 +1,64 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceGetEnrollmentResponseType The type of the resource. The value should always be getEnrollmentResponse. +type OnPremManagementServiceGetEnrollmentResponseType string + +// List of OnPremManagementServiceGetEnrollmentResponseType. +const ( + ONPREMMANAGEMENTSERVICEGETENROLLMENTRESPONSETYPE_GETENROLLMENTRESPONSE OnPremManagementServiceGetEnrollmentResponseType = "getEnrollmentResponse" +) + +var allowedOnPremManagementServiceGetEnrollmentResponseTypeEnumValues = []OnPremManagementServiceGetEnrollmentResponseType{ + ONPREMMANAGEMENTSERVICEGETENROLLMENTRESPONSETYPE_GETENROLLMENTRESPONSE, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *OnPremManagementServiceGetEnrollmentResponseType) GetAllowedValues() []OnPremManagementServiceGetEnrollmentResponseType { + return allowedOnPremManagementServiceGetEnrollmentResponseTypeEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *OnPremManagementServiceGetEnrollmentResponseType) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = OnPremManagementServiceGetEnrollmentResponseType(value) + return nil +} + +// NewOnPremManagementServiceGetEnrollmentResponseTypeFromValue returns a pointer to a valid OnPremManagementServiceGetEnrollmentResponseType +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewOnPremManagementServiceGetEnrollmentResponseTypeFromValue(v string) (*OnPremManagementServiceGetEnrollmentResponseType, error) { + ev := OnPremManagementServiceGetEnrollmentResponseType(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for OnPremManagementServiceGetEnrollmentResponseType: valid values are %v", v, allowedOnPremManagementServiceGetEnrollmentResponseTypeEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v OnPremManagementServiceGetEnrollmentResponseType) IsValid() bool { + for _, existing := range allowedOnPremManagementServiceGetEnrollmentResponseTypeEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to OnPremManagementServiceGetEnrollmentResponseType value. +func (v OnPremManagementServiceGetEnrollmentResponseType) Ptr() *OnPremManagementServiceGetEnrollmentResponseType { + return &v +} diff --git a/api/datadogV2/model_on_prem_management_service_register_token_attributes.go b/api/datadogV2/model_on_prem_management_service_register_token_attributes.go new file mode 100644 index 00000000000..976a4681096 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_register_token_attributes.go @@ -0,0 +1,240 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/google/uuid" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceRegisterTokenAttributes Attributes for registering a token. +type OnPremManagementServiceRegisterTokenAttributes struct { + // The application identifier. + AppId *uuid.UUID `json:"app_id,omitempty"` + // The application version. + AppVersion *int64 `json:"app_version,omitempty"` + // The connection identifier. + ConnectionId uuid.UUID `json:"connection_id"` + // The query identifier. + QueryId *uuid.UUID `json:"query_id,omitempty"` + // The on-prem runner identifier. + RunnerId string `json:"runner_id"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceRegisterTokenAttributes instantiates a new OnPremManagementServiceRegisterTokenAttributes object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceRegisterTokenAttributes(connectionId uuid.UUID, runnerId string) *OnPremManagementServiceRegisterTokenAttributes { + this := OnPremManagementServiceRegisterTokenAttributes{} + this.ConnectionId = connectionId + this.RunnerId = runnerId + return &this +} + +// NewOnPremManagementServiceRegisterTokenAttributesWithDefaults instantiates a new OnPremManagementServiceRegisterTokenAttributes object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceRegisterTokenAttributesWithDefaults() *OnPremManagementServiceRegisterTokenAttributes { + this := OnPremManagementServiceRegisterTokenAttributes{} + return &this +} + +// GetAppId returns the AppId field value if set, zero value otherwise. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetAppId() uuid.UUID { + if o == nil || o.AppId == nil { + var ret uuid.UUID + return ret + } + return *o.AppId +} + +// GetAppIdOk returns a tuple with the AppId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetAppIdOk() (*uuid.UUID, bool) { + if o == nil || o.AppId == nil { + return nil, false + } + return o.AppId, true +} + +// HasAppId returns a boolean if a field has been set. +func (o *OnPremManagementServiceRegisterTokenAttributes) HasAppId() bool { + return o != nil && o.AppId != nil +} + +// SetAppId gets a reference to the given uuid.UUID and assigns it to the AppId field. +func (o *OnPremManagementServiceRegisterTokenAttributes) SetAppId(v uuid.UUID) { + o.AppId = &v +} + +// GetAppVersion returns the AppVersion field value if set, zero value otherwise. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetAppVersion() int64 { + if o == nil || o.AppVersion == nil { + var ret int64 + return ret + } + return *o.AppVersion +} + +// GetAppVersionOk returns a tuple with the AppVersion field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetAppVersionOk() (*int64, bool) { + if o == nil || o.AppVersion == nil { + return nil, false + } + return o.AppVersion, true +} + +// HasAppVersion returns a boolean if a field has been set. +func (o *OnPremManagementServiceRegisterTokenAttributes) HasAppVersion() bool { + return o != nil && o.AppVersion != nil +} + +// SetAppVersion gets a reference to the given int64 and assigns it to the AppVersion field. +func (o *OnPremManagementServiceRegisterTokenAttributes) SetAppVersion(v int64) { + o.AppVersion = &v +} + +// GetConnectionId returns the ConnectionId field value. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetConnectionId() uuid.UUID { + if o == nil { + var ret uuid.UUID + return ret + } + return o.ConnectionId +} + +// GetConnectionIdOk returns a tuple with the ConnectionId field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetConnectionIdOk() (*uuid.UUID, bool) { + if o == nil { + return nil, false + } + return &o.ConnectionId, true +} + +// SetConnectionId sets field value. +func (o *OnPremManagementServiceRegisterTokenAttributes) SetConnectionId(v uuid.UUID) { + o.ConnectionId = v +} + +// GetQueryId returns the QueryId field value if set, zero value otherwise. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetQueryId() uuid.UUID { + if o == nil || o.QueryId == nil { + var ret uuid.UUID + return ret + } + return *o.QueryId +} + +// GetQueryIdOk returns a tuple with the QueryId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetQueryIdOk() (*uuid.UUID, bool) { + if o == nil || o.QueryId == nil { + return nil, false + } + return o.QueryId, true +} + +// HasQueryId returns a boolean if a field has been set. +func (o *OnPremManagementServiceRegisterTokenAttributes) HasQueryId() bool { + return o != nil && o.QueryId != nil +} + +// SetQueryId gets a reference to the given uuid.UUID and assigns it to the QueryId field. +func (o *OnPremManagementServiceRegisterTokenAttributes) SetQueryId(v uuid.UUID) { + o.QueryId = &v +} + +// GetRunnerId returns the RunnerId field value. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetRunnerId() string { + if o == nil { + var ret string + return ret + } + return o.RunnerId +} + +// GetRunnerIdOk returns a tuple with the RunnerId field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenAttributes) GetRunnerIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.RunnerId, true +} + +// SetRunnerId sets field value. +func (o *OnPremManagementServiceRegisterTokenAttributes) SetRunnerId(v string) { + o.RunnerId = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceRegisterTokenAttributes) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + if o.AppId != nil { + toSerialize["app_id"] = o.AppId + } + if o.AppVersion != nil { + toSerialize["app_version"] = o.AppVersion + } + toSerialize["connection_id"] = o.ConnectionId + if o.QueryId != nil { + toSerialize["query_id"] = o.QueryId + } + toSerialize["runner_id"] = o.RunnerId + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceRegisterTokenAttributes) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + AppId *uuid.UUID `json:"app_id,omitempty"` + AppVersion *int64 `json:"app_version,omitempty"` + ConnectionId *uuid.UUID `json:"connection_id"` + QueryId *uuid.UUID `json:"query_id,omitempty"` + RunnerId *string `json:"runner_id"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.ConnectionId == nil { + return fmt.Errorf("required field connection_id missing") + } + if all.RunnerId == nil { + return fmt.Errorf("required field runner_id missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"app_id", "app_version", "connection_id", "query_id", "runner_id"}) + } else { + return err + } + o.AppId = all.AppId + o.AppVersion = all.AppVersion + o.ConnectionId = *all.ConnectionId + o.QueryId = all.QueryId + o.RunnerId = *all.RunnerId + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_register_token_data_request.go b/api/datadogV2/model_on_prem_management_service_register_token_data_request.go new file mode 100644 index 00000000000..2c45e067da7 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_register_token_data_request.go @@ -0,0 +1,146 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceRegisterTokenDataRequest Data for registering a token. +type OnPremManagementServiceRegisterTokenDataRequest struct { + // Attributes for registering a token. + Attributes OnPremManagementServiceRegisterTokenAttributes `json:"attributes"` + // The type of the resource. The value should always be registerTokenRequest. + Type OnPremManagementServiceRegisterTokenType `json:"type"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceRegisterTokenDataRequest instantiates a new OnPremManagementServiceRegisterTokenDataRequest object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceRegisterTokenDataRequest(attributes OnPremManagementServiceRegisterTokenAttributes, typeVar OnPremManagementServiceRegisterTokenType) *OnPremManagementServiceRegisterTokenDataRequest { + this := OnPremManagementServiceRegisterTokenDataRequest{} + this.Attributes = attributes + this.Type = typeVar + return &this +} + +// NewOnPremManagementServiceRegisterTokenDataRequestWithDefaults instantiates a new OnPremManagementServiceRegisterTokenDataRequest object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceRegisterTokenDataRequestWithDefaults() *OnPremManagementServiceRegisterTokenDataRequest { + this := OnPremManagementServiceRegisterTokenDataRequest{} + return &this +} + +// GetAttributes returns the Attributes field value. +func (o *OnPremManagementServiceRegisterTokenDataRequest) GetAttributes() OnPremManagementServiceRegisterTokenAttributes { + if o == nil { + var ret OnPremManagementServiceRegisterTokenAttributes + return ret + } + return o.Attributes +} + +// GetAttributesOk returns a tuple with the Attributes field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenDataRequest) GetAttributesOk() (*OnPremManagementServiceRegisterTokenAttributes, bool) { + if o == nil { + return nil, false + } + return &o.Attributes, true +} + +// SetAttributes sets field value. +func (o *OnPremManagementServiceRegisterTokenDataRequest) SetAttributes(v OnPremManagementServiceRegisterTokenAttributes) { + o.Attributes = v +} + +// GetType returns the Type field value. +func (o *OnPremManagementServiceRegisterTokenDataRequest) GetType() OnPremManagementServiceRegisterTokenType { + if o == nil { + var ret OnPremManagementServiceRegisterTokenType + return ret + } + return o.Type +} + +// GetTypeOk returns a tuple with the Type field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenDataRequest) GetTypeOk() (*OnPremManagementServiceRegisterTokenType, bool) { + if o == nil { + return nil, false + } + return &o.Type, true +} + +// SetType sets field value. +func (o *OnPremManagementServiceRegisterTokenDataRequest) SetType(v OnPremManagementServiceRegisterTokenType) { + o.Type = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceRegisterTokenDataRequest) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["attributes"] = o.Attributes + toSerialize["type"] = o.Type + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceRegisterTokenDataRequest) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Attributes *OnPremManagementServiceRegisterTokenAttributes `json:"attributes"` + Type *OnPremManagementServiceRegisterTokenType `json:"type"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Attributes == nil { + return fmt.Errorf("required field attributes missing") + } + if all.Type == nil { + return fmt.Errorf("required field type missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"attributes", "type"}) + } else { + return err + } + + hasInvalidField := false + if all.Attributes.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Attributes = *all.Attributes + if !all.Type.IsValid() { + hasInvalidField = true + } else { + o.Type = *all.Type + } + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_register_token_request.go b/api/datadogV2/model_on_prem_management_service_register_token_request.go new file mode 100644 index 00000000000..982d5e918de --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_register_token_request.go @@ -0,0 +1,110 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceRegisterTokenRequest Request to register a token for query execution. +type OnPremManagementServiceRegisterTokenRequest struct { + // Data for registering a token. + Data OnPremManagementServiceRegisterTokenDataRequest `json:"data"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceRegisterTokenRequest instantiates a new OnPremManagementServiceRegisterTokenRequest object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceRegisterTokenRequest(data OnPremManagementServiceRegisterTokenDataRequest) *OnPremManagementServiceRegisterTokenRequest { + this := OnPremManagementServiceRegisterTokenRequest{} + this.Data = data + return &this +} + +// NewOnPremManagementServiceRegisterTokenRequestWithDefaults instantiates a new OnPremManagementServiceRegisterTokenRequest object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceRegisterTokenRequestWithDefaults() *OnPremManagementServiceRegisterTokenRequest { + this := OnPremManagementServiceRegisterTokenRequest{} + return &this +} + +// GetData returns the Data field value. +func (o *OnPremManagementServiceRegisterTokenRequest) GetData() OnPremManagementServiceRegisterTokenDataRequest { + if o == nil { + var ret OnPremManagementServiceRegisterTokenDataRequest + return ret + } + return o.Data +} + +// GetDataOk returns a tuple with the Data field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenRequest) GetDataOk() (*OnPremManagementServiceRegisterTokenDataRequest, bool) { + if o == nil { + return nil, false + } + return &o.Data, true +} + +// SetData sets field value. +func (o *OnPremManagementServiceRegisterTokenRequest) SetData(v OnPremManagementServiceRegisterTokenDataRequest) { + o.Data = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceRegisterTokenRequest) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["data"] = o.Data + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceRegisterTokenRequest) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Data *OnPremManagementServiceRegisterTokenDataRequest `json:"data"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Data == nil { + return fmt.Errorf("required field data missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"data"}) + } else { + return err + } + + hasInvalidField := false + if all.Data.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Data = *all.Data + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_register_token_response.go b/api/datadogV2/model_on_prem_management_service_register_token_response.go new file mode 100644 index 00000000000..768e29a492f --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_register_token_response.go @@ -0,0 +1,110 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceRegisterTokenResponse Response for registering a token. +type OnPremManagementServiceRegisterTokenResponse struct { + // Data for the registered token. + Data OnPremManagementServiceRegisterTokenResponseData `json:"data"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceRegisterTokenResponse instantiates a new OnPremManagementServiceRegisterTokenResponse object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceRegisterTokenResponse(data OnPremManagementServiceRegisterTokenResponseData) *OnPremManagementServiceRegisterTokenResponse { + this := OnPremManagementServiceRegisterTokenResponse{} + this.Data = data + return &this +} + +// NewOnPremManagementServiceRegisterTokenResponseWithDefaults instantiates a new OnPremManagementServiceRegisterTokenResponse object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceRegisterTokenResponseWithDefaults() *OnPremManagementServiceRegisterTokenResponse { + this := OnPremManagementServiceRegisterTokenResponse{} + return &this +} + +// GetData returns the Data field value. +func (o *OnPremManagementServiceRegisterTokenResponse) GetData() OnPremManagementServiceRegisterTokenResponseData { + if o == nil { + var ret OnPremManagementServiceRegisterTokenResponseData + return ret + } + return o.Data +} + +// GetDataOk returns a tuple with the Data field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenResponse) GetDataOk() (*OnPremManagementServiceRegisterTokenResponseData, bool) { + if o == nil { + return nil, false + } + return &o.Data, true +} + +// SetData sets field value. +func (o *OnPremManagementServiceRegisterTokenResponse) SetData(v OnPremManagementServiceRegisterTokenResponseData) { + o.Data = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceRegisterTokenResponse) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["data"] = o.Data + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceRegisterTokenResponse) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Data *OnPremManagementServiceRegisterTokenResponseData `json:"data"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Data == nil { + return fmt.Errorf("required field data missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"data"}) + } else { + return err + } + + hasInvalidField := false + if all.Data.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Data = *all.Data + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_register_token_response_attributes.go b/api/datadogV2/model_on_prem_management_service_register_token_response_attributes.go new file mode 100644 index 00000000000..08bf67f2f25 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_register_token_response_attributes.go @@ -0,0 +1,101 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceRegisterTokenResponseAttributes Attributes for the registered token. +type OnPremManagementServiceRegisterTokenResponseAttributes struct { + // The token string. + TokenString string `json:"token_string"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceRegisterTokenResponseAttributes instantiates a new OnPremManagementServiceRegisterTokenResponseAttributes object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceRegisterTokenResponseAttributes(tokenString string) *OnPremManagementServiceRegisterTokenResponseAttributes { + this := OnPremManagementServiceRegisterTokenResponseAttributes{} + this.TokenString = tokenString + return &this +} + +// NewOnPremManagementServiceRegisterTokenResponseAttributesWithDefaults instantiates a new OnPremManagementServiceRegisterTokenResponseAttributes object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceRegisterTokenResponseAttributesWithDefaults() *OnPremManagementServiceRegisterTokenResponseAttributes { + this := OnPremManagementServiceRegisterTokenResponseAttributes{} + return &this +} + +// GetTokenString returns the TokenString field value. +func (o *OnPremManagementServiceRegisterTokenResponseAttributes) GetTokenString() string { + if o == nil { + var ret string + return ret + } + return o.TokenString +} + +// GetTokenStringOk returns a tuple with the TokenString field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenResponseAttributes) GetTokenStringOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.TokenString, true +} + +// SetTokenString sets field value. +func (o *OnPremManagementServiceRegisterTokenResponseAttributes) SetTokenString(v string) { + o.TokenString = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceRegisterTokenResponseAttributes) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["token_string"] = o.TokenString + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceRegisterTokenResponseAttributes) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + TokenString *string `json:"token_string"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.TokenString == nil { + return fmt.Errorf("required field token_string missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"token_string"}) + } else { + return err + } + o.TokenString = *all.TokenString + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_register_token_response_data.go b/api/datadogV2/model_on_prem_management_service_register_token_response_data.go new file mode 100644 index 00000000000..7d68c73c3e6 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_register_token_response_data.go @@ -0,0 +1,180 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/google/uuid" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceRegisterTokenResponseData Data for the registered token. +type OnPremManagementServiceRegisterTokenResponseData struct { + // Attributes for the registered token. + Attributes OnPremManagementServiceRegisterTokenResponseAttributes `json:"attributes"` + // The token identifier. + Id uuid.UUID `json:"id"` + // The type of the resource. The value should always be tokenDefinitions. + Type OnPremManagementServiceRegisterTokenResponseType `json:"type"` + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject map[string]interface{} `json:"-"` + AdditionalProperties map[string]interface{} `json:"-"` +} + +// NewOnPremManagementServiceRegisterTokenResponseData instantiates a new OnPremManagementServiceRegisterTokenResponseData object. +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed. +func NewOnPremManagementServiceRegisterTokenResponseData(attributes OnPremManagementServiceRegisterTokenResponseAttributes, id uuid.UUID, typeVar OnPremManagementServiceRegisterTokenResponseType) *OnPremManagementServiceRegisterTokenResponseData { + this := OnPremManagementServiceRegisterTokenResponseData{} + this.Attributes = attributes + this.Id = id + this.Type = typeVar + return &this +} + +// NewOnPremManagementServiceRegisterTokenResponseDataWithDefaults instantiates a new OnPremManagementServiceRegisterTokenResponseData object. +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set. +func NewOnPremManagementServiceRegisterTokenResponseDataWithDefaults() *OnPremManagementServiceRegisterTokenResponseData { + this := OnPremManagementServiceRegisterTokenResponseData{} + return &this +} + +// GetAttributes returns the Attributes field value. +func (o *OnPremManagementServiceRegisterTokenResponseData) GetAttributes() OnPremManagementServiceRegisterTokenResponseAttributes { + if o == nil { + var ret OnPremManagementServiceRegisterTokenResponseAttributes + return ret + } + return o.Attributes +} + +// GetAttributesOk returns a tuple with the Attributes field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenResponseData) GetAttributesOk() (*OnPremManagementServiceRegisterTokenResponseAttributes, bool) { + if o == nil { + return nil, false + } + return &o.Attributes, true +} + +// SetAttributes sets field value. +func (o *OnPremManagementServiceRegisterTokenResponseData) SetAttributes(v OnPremManagementServiceRegisterTokenResponseAttributes) { + o.Attributes = v +} + +// GetId returns the Id field value. +func (o *OnPremManagementServiceRegisterTokenResponseData) GetId() uuid.UUID { + if o == nil { + var ret uuid.UUID + return ret + } + return o.Id +} + +// GetIdOk returns a tuple with the Id field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenResponseData) GetIdOk() (*uuid.UUID, bool) { + if o == nil { + return nil, false + } + return &o.Id, true +} + +// SetId sets field value. +func (o *OnPremManagementServiceRegisterTokenResponseData) SetId(v uuid.UUID) { + o.Id = v +} + +// GetType returns the Type field value. +func (o *OnPremManagementServiceRegisterTokenResponseData) GetType() OnPremManagementServiceRegisterTokenResponseType { + if o == nil { + var ret OnPremManagementServiceRegisterTokenResponseType + return ret + } + return o.Type +} + +// GetTypeOk returns a tuple with the Type field value +// and a boolean to check if the value has been set. +func (o *OnPremManagementServiceRegisterTokenResponseData) GetTypeOk() (*OnPremManagementServiceRegisterTokenResponseType, bool) { + if o == nil { + return nil, false + } + return &o.Type, true +} + +// SetType sets field value. +func (o *OnPremManagementServiceRegisterTokenResponseData) SetType(v OnPremManagementServiceRegisterTokenResponseType) { + o.Type = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o OnPremManagementServiceRegisterTokenResponseData) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["attributes"] = o.Attributes + toSerialize["id"] = o.Id + toSerialize["type"] = o.Type + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *OnPremManagementServiceRegisterTokenResponseData) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + Attributes *OnPremManagementServiceRegisterTokenResponseAttributes `json:"attributes"` + Id *uuid.UUID `json:"id"` + Type *OnPremManagementServiceRegisterTokenResponseType `json:"type"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.Attributes == nil { + return fmt.Errorf("required field attributes missing") + } + if all.Id == nil { + return fmt.Errorf("required field id missing") + } + if all.Type == nil { + return fmt.Errorf("required field type missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"attributes", "id", "type"}) + } else { + return err + } + + hasInvalidField := false + if all.Attributes.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Attributes = *all.Attributes + o.Id = *all.Id + if !all.Type.IsValid() { + hasInvalidField = true + } else { + o.Type = *all.Type + } + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_on_prem_management_service_register_token_response_type.go b/api/datadogV2/model_on_prem_management_service_register_token_response_type.go new file mode 100644 index 00000000000..cecc2a730a6 --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_register_token_response_type.go @@ -0,0 +1,64 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceRegisterTokenResponseType The type of the resource. The value should always be tokenDefinitions. +type OnPremManagementServiceRegisterTokenResponseType string + +// List of OnPremManagementServiceRegisterTokenResponseType. +const ( + ONPREMMANAGEMENTSERVICEREGISTERTOKENRESPONSETYPE_TOKENDEFINITIONS OnPremManagementServiceRegisterTokenResponseType = "tokenDefinitions" +) + +var allowedOnPremManagementServiceRegisterTokenResponseTypeEnumValues = []OnPremManagementServiceRegisterTokenResponseType{ + ONPREMMANAGEMENTSERVICEREGISTERTOKENRESPONSETYPE_TOKENDEFINITIONS, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *OnPremManagementServiceRegisterTokenResponseType) GetAllowedValues() []OnPremManagementServiceRegisterTokenResponseType { + return allowedOnPremManagementServiceRegisterTokenResponseTypeEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *OnPremManagementServiceRegisterTokenResponseType) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = OnPremManagementServiceRegisterTokenResponseType(value) + return nil +} + +// NewOnPremManagementServiceRegisterTokenResponseTypeFromValue returns a pointer to a valid OnPremManagementServiceRegisterTokenResponseType +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewOnPremManagementServiceRegisterTokenResponseTypeFromValue(v string) (*OnPremManagementServiceRegisterTokenResponseType, error) { + ev := OnPremManagementServiceRegisterTokenResponseType(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for OnPremManagementServiceRegisterTokenResponseType: valid values are %v", v, allowedOnPremManagementServiceRegisterTokenResponseTypeEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v OnPremManagementServiceRegisterTokenResponseType) IsValid() bool { + for _, existing := range allowedOnPremManagementServiceRegisterTokenResponseTypeEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to OnPremManagementServiceRegisterTokenResponseType value. +func (v OnPremManagementServiceRegisterTokenResponseType) Ptr() *OnPremManagementServiceRegisterTokenResponseType { + return &v +} diff --git a/api/datadogV2/model_on_prem_management_service_register_token_type.go b/api/datadogV2/model_on_prem_management_service_register_token_type.go new file mode 100644 index 00000000000..bd5fcccb67b --- /dev/null +++ b/api/datadogV2/model_on_prem_management_service_register_token_type.go @@ -0,0 +1,64 @@ +// 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. + +package datadogV2 + +import ( + "fmt" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// OnPremManagementServiceRegisterTokenType The type of the resource. The value should always be registerTokenRequest. +type OnPremManagementServiceRegisterTokenType string + +// List of OnPremManagementServiceRegisterTokenType. +const ( + ONPREMMANAGEMENTSERVICEREGISTERTOKENTYPE_REGISTERTOKENREQUEST OnPremManagementServiceRegisterTokenType = "registerTokenRequest" +) + +var allowedOnPremManagementServiceRegisterTokenTypeEnumValues = []OnPremManagementServiceRegisterTokenType{ + ONPREMMANAGEMENTSERVICEREGISTERTOKENTYPE_REGISTERTOKENREQUEST, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *OnPremManagementServiceRegisterTokenType) GetAllowedValues() []OnPremManagementServiceRegisterTokenType { + return allowedOnPremManagementServiceRegisterTokenTypeEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *OnPremManagementServiceRegisterTokenType) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = OnPremManagementServiceRegisterTokenType(value) + return nil +} + +// NewOnPremManagementServiceRegisterTokenTypeFromValue returns a pointer to a valid OnPremManagementServiceRegisterTokenType +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewOnPremManagementServiceRegisterTokenTypeFromValue(v string) (*OnPremManagementServiceRegisterTokenType, error) { + ev := OnPremManagementServiceRegisterTokenType(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for OnPremManagementServiceRegisterTokenType: valid values are %v", v, allowedOnPremManagementServiceRegisterTokenTypeEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v OnPremManagementServiceRegisterTokenType) IsValid() bool { + for _, existing := range allowedOnPremManagementServiceRegisterTokenTypeEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to OnPremManagementServiceRegisterTokenType value. +func (v OnPremManagementServiceRegisterTokenType) Ptr() *OnPremManagementServiceRegisterTokenType { + return &v +} diff --git a/examples/v2/on-prem-management-service/CreateOnPremManagementServiceEnrollment.go b/examples/v2/on-prem-management-service/CreateOnPremManagementServiceEnrollment.go new file mode 100644 index 00000000000..7e4fc091dac --- /dev/null +++ b/examples/v2/on-prem-management-service/CreateOnPremManagementServiceEnrollment.go @@ -0,0 +1,45 @@ +// Create an enrollment returns "Created" response + +package main + +import ( + "context" + "encoding/json" + "fmt" + "os" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" + "github.com/DataDog/datadog-api-client-go/v2/api/datadogV2" +) + +func main() { + body := datadogV2.OnPremManagementServiceCreateEnrollmentRequest{ + Data: datadogV2.OnPremManagementServiceEnrollmentDataRequest{ + Attributes: datadogV2.OnPremManagementServiceEnrollmentAttributes{ + ActionsAllowlist: []string{ + "com.datadoghq.jenkins.*", + }, + RunnerHost: datadog.PtrString("runner.example.com"), + RunnerModes: []datadogV2.OnPremManagementServiceEnrollmentAttributesRunnerModesItems{ + datadogV2.ONPREMMANAGEMENTSERVICEENROLLMENTATTRIBUTESRUNNERMODESITEMS_WORKFLOW_AUTOMATION, + }, + RunnerName: "my-runner", + }, + Type: datadogV2.ONPREMMANAGEMENTSERVICEENROLLMENTTYPE_ENROLLMENT, + }, + } + ctx := datadog.NewDefaultContext(context.Background()) + configuration := datadog.NewConfiguration() + configuration.SetUnstableOperationEnabled("v2.CreateOnPremManagementServiceEnrollment", true) + apiClient := datadog.NewAPIClient(configuration) + api := datadogV2.NewOnPremManagementServiceApi(apiClient) + resp, r, err := api.CreateOnPremManagementServiceEnrollment(ctx, body) + + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `OnPremManagementServiceApi.CreateOnPremManagementServiceEnrollment`: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + + responseContent, _ := json.MarshalIndent(resp, "", " ") + fmt.Fprintf(os.Stdout, "Response from `OnPremManagementServiceApi.CreateOnPremManagementServiceEnrollment`:\n%s\n", responseContent) +} diff --git a/examples/v2/on-prem-management-service/GetOnPremManagementServiceEnrollment.go b/examples/v2/on-prem-management-service/GetOnPremManagementServiceEnrollment.go new file mode 100644 index 00000000000..54613aac95a --- /dev/null +++ b/examples/v2/on-prem-management-service/GetOnPremManagementServiceEnrollment.go @@ -0,0 +1,30 @@ +// Get enrollment status returns "OK" response + +package main + +import ( + "context" + "encoding/json" + "fmt" + "os" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" + "github.com/DataDog/datadog-api-client-go/v2/api/datadogV2" +) + +func main() { + ctx := datadog.NewDefaultContext(context.Background()) + configuration := datadog.NewConfiguration() + configuration.SetUnstableOperationEnabled("v2.GetOnPremManagementServiceEnrollment", true) + apiClient := datadog.NewAPIClient(configuration) + api := datadogV2.NewOnPremManagementServiceApi(apiClient) + resp, r, err := api.GetOnPremManagementServiceEnrollment(ctx, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `OnPremManagementServiceApi.GetOnPremManagementServiceEnrollment`: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + + responseContent, _ := json.MarshalIndent(resp, "", " ") + fmt.Fprintf(os.Stdout, "Response from `OnPremManagementServiceApi.GetOnPremManagementServiceEnrollment`:\n%s\n", responseContent) +} diff --git a/examples/v2/on-prem-management-service/RegisterOnPremManagementServiceToken.go b/examples/v2/on-prem-management-service/RegisterOnPremManagementServiceToken.go new file mode 100644 index 00000000000..27830c3f694 --- /dev/null +++ b/examples/v2/on-prem-management-service/RegisterOnPremManagementServiceToken.go @@ -0,0 +1,43 @@ +// Register a token returns "OK" response + +package main + +import ( + "context" + "encoding/json" + "fmt" + "os" + + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" + "github.com/DataDog/datadog-api-client-go/v2/api/datadogV2" + "github.com/google/uuid" +) + +func main() { + body := datadogV2.OnPremManagementServiceRegisterTokenRequest{ + Data: datadogV2.OnPremManagementServiceRegisterTokenDataRequest{ + Attributes: datadogV2.OnPremManagementServiceRegisterTokenAttributes{ + AppId: datadog.PtrUUID(uuid.MustParse("9a93d314-ca37-461d-b18e-0587f03c6e2a")), + AppVersion: datadog.PtrInt64(5), + ConnectionId: uuid.MustParse("2f66ec56-d1f3-4a18-908d-5e8c12dfb3b0"), + QueryId: datadog.PtrUUID(uuid.MustParse("8744d459-18aa-405b-821e-df9bb101c01e")), + RunnerId: "runner-GBUyh2Tm6oKS6ap4kt8Bbx", + }, + Type: datadogV2.ONPREMMANAGEMENTSERVICEREGISTERTOKENTYPE_REGISTERTOKENREQUEST, + }, + } + ctx := datadog.NewDefaultContext(context.Background()) + configuration := datadog.NewConfiguration() + configuration.SetUnstableOperationEnabled("v2.RegisterOnPremManagementServiceToken", true) + apiClient := datadog.NewAPIClient(configuration) + api := datadogV2.NewOnPremManagementServiceApi(apiClient) + resp, r, err := api.RegisterOnPremManagementServiceToken(ctx, body) + + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `OnPremManagementServiceApi.RegisterOnPremManagementServiceToken`: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + + responseContent, _ := json.MarshalIndent(resp, "", " ") + fmt.Fprintf(os.Stdout, "Response from `OnPremManagementServiceApi.RegisterOnPremManagementServiceToken`:\n%s\n", responseContent) +} diff --git a/tests/scenarios/api_mappings.go b/tests/scenarios/api_mappings.go index 2d25e86d1e9..ed2412df62a 100644 --- a/tests/scenarios/api_mappings.go +++ b/tests/scenarios/api_mappings.go @@ -105,6 +105,7 @@ var apiMappings = map[string]map[string]reflect.Value{ "ObservabilityPipelinesApi": reflect.ValueOf(datadogV2.NewObservabilityPipelinesApi), "OnCallApi": reflect.ValueOf(datadogV2.NewOnCallApi), "OnCallPagingApi": reflect.ValueOf(datadogV2.NewOnCallPagingApi), + "OnPremManagementServiceApi": reflect.ValueOf(datadogV2.NewOnPremManagementServiceApi), "OrganizationsApi": reflect.ValueOf(datadogV2.NewOrganizationsApi), "OrgConnectionsApi": reflect.ValueOf(datadogV2.NewOrgConnectionsApi), "RolesApi": reflect.ValueOf(datadogV2.NewRolesApi), diff --git a/tests/scenarios/features/v2/on-prem_management_service.feature b/tests/scenarios/features/v2/on-prem_management_service.feature new file mode 100644 index 00000000000..c6c2ef5939b --- /dev/null +++ b/tests/scenarios/features/v2/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/scenarios/features/v2/on_prem_management_service.feature b/tests/scenarios/features/v2/on_prem_management_service.feature new file mode 100644 index 00000000000..db64af2a859 --- /dev/null +++ b/tests/scenarios/features/v2/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/scenarios/features/v2/undo.json b/tests/scenarios/features/v2/undo.json index 7e549784ee6..30c80633b80 100644 --- a/tests/scenarios/features/v2/undo.json +++ b/tests/scenarios/features/v2/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": {