Skip to content

Commit ab647f9

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add documentation for synthetics global variable jsonpatch endpoint (#2794)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 8903c71 commit ab647f9

25 files changed

+2359
-0
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 315 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25378,6 +25378,61 @@ components:
2537825378
required:
2537925379
- type
2538025380
type: object
25381+
GlobalVariableData:
25382+
description: Synthetics global variable data. Wrapper around the global variable
25383+
object.
25384+
properties:
25385+
attributes:
25386+
$ref: '#/components/schemas/SyntheticsGlobalVariable'
25387+
id:
25388+
description: Global variable identifier.
25389+
type: string
25390+
type:
25391+
$ref: '#/components/schemas/GlobalVariableType'
25392+
type: object
25393+
GlobalVariableJsonPatchRequest:
25394+
description: JSON Patch request for global variable.
25395+
properties:
25396+
data:
25397+
$ref: '#/components/schemas/GlobalVariableJsonPatchRequestData'
25398+
required:
25399+
- data
25400+
type: object
25401+
GlobalVariableJsonPatchRequestData:
25402+
properties:
25403+
attributes:
25404+
$ref: '#/components/schemas/GlobalVariableJsonPatchRequestDataAttributes'
25405+
type:
25406+
$ref: '#/components/schemas/GlobalVariableJsonPatchType'
25407+
type: object
25408+
GlobalVariableJsonPatchRequestDataAttributes:
25409+
properties:
25410+
json_patch:
25411+
description: JSON Patch operations following RFC 6902.
25412+
items:
25413+
$ref: '#/components/schemas/JsonPatchOperation'
25414+
type: array
25415+
type: object
25416+
GlobalVariableJsonPatchType:
25417+
description: Global variable JSON Patch type.
25418+
enum:
25419+
- global_variables_json_patch
25420+
type: string
25421+
x-enum-varnames:
25422+
- GLOBAL_VARIABLES_JSON_PATCH
25423+
GlobalVariableResponse:
25424+
description: Global variable response.
25425+
properties:
25426+
data:
25427+
$ref: '#/components/schemas/GlobalVariableData'
25428+
type: object
25429+
GlobalVariableType:
25430+
description: Global variable type.
25431+
enum:
25432+
- global_variables
25433+
type: string
25434+
x-enum-varnames:
25435+
- GLOBAL_VARIABLES
2538125436
GoogleMeetConfigurationReference:
2538225437
description: A reference to a Google Meet Configuration resource.
2538325438
nullable: true
@@ -29884,6 +29939,40 @@ components:
2988429939
- to
2988529940
- index
2988629941
type: object
29942+
JsonPatchOperation:
29943+
description: A JSON Patch operation as per RFC 6902.
29944+
properties:
29945+
op:
29946+
$ref: '#/components/schemas/JsonPatchOperationOp'
29947+
path:
29948+
description: A JSON Pointer path (e.g., "/name", "/value/secure").
29949+
example: /name
29950+
type: string
29951+
value:
29952+
description: The value to use for the operation (not applicable for "remove"
29953+
and "test" operations).
29954+
required:
29955+
- op
29956+
- path
29957+
type: object
29958+
JsonPatchOperationOp:
29959+
description: The operation to perform.
29960+
enum:
29961+
- add
29962+
- remove
29963+
- replace
29964+
- move
29965+
- copy
29966+
- test
29967+
example: add
29968+
type: string
29969+
x-enum-varnames:
29970+
- ADD
29971+
- REMOVE
29972+
- REPLACE
29973+
- MOVE
29974+
- COPY
29975+
- TEST
2988729976
KindAttributes:
2988829977
description: Kind attributes.
2988929978
properties:
@@ -53706,6 +53795,178 @@ components:
5370653795
suppression:
5370753796
$ref: '#/components/schemas/SecurityMonitoringSuppressionAttributes'
5370853797
type: object
53798+
SyntheticsGlobalVariable:
53799+
description: Synthetic global variable.
53800+
properties:
53801+
attributes:
53802+
$ref: '#/components/schemas/SyntheticsGlobalVariableAttributes'
53803+
description:
53804+
description: Description of the global variable.
53805+
example: Example description
53806+
type: string
53807+
id:
53808+
description: Unique identifier of the global variable.
53809+
readOnly: true
53810+
type: string
53811+
is_fido:
53812+
description: Determines if the global variable is a FIDO variable.
53813+
type: boolean
53814+
is_totp:
53815+
description: Determines if the global variable is a TOTP/MFA variable.
53816+
type: boolean
53817+
name:
53818+
description: Name of the global variable. Unique across Synthetic global
53819+
variables.
53820+
example: MY_VARIABLE
53821+
type: string
53822+
parse_test_options:
53823+
$ref: '#/components/schemas/SyntheticsGlobalVariableParseTestOptions'
53824+
parse_test_public_id:
53825+
description: A Synthetic test ID to use as a test to generate the variable
53826+
value.
53827+
example: abc-def-123
53828+
type: string
53829+
tags:
53830+
description: Tags of the global variable.
53831+
example:
53832+
- team:front
53833+
- test:workflow-1
53834+
items:
53835+
description: Tag name.
53836+
type: string
53837+
type: array
53838+
value:
53839+
$ref: '#/components/schemas/SyntheticsGlobalVariableValue'
53840+
required:
53841+
- description
53842+
- name
53843+
- tags
53844+
- value
53845+
type: object
53846+
SyntheticsGlobalVariableAttributes:
53847+
description: Attributes of the global variable.
53848+
properties:
53849+
restricted_roles:
53850+
$ref: '#/components/schemas/SyntheticsRestrictedRoles'
53851+
type: object
53852+
SyntheticsGlobalVariableOptions:
53853+
description: Options for the Global Variable for MFA.
53854+
properties:
53855+
totp_parameters:
53856+
$ref: '#/components/schemas/SyntheticsGlobalVariableTOTPParameters'
53857+
type: object
53858+
SyntheticsGlobalVariableParseTestOptions:
53859+
description: Parser options to use for retrieving a Synthetic global variable
53860+
from a Synthetic test. Used in conjunction with `parse_test_public_id`.
53861+
properties:
53862+
field:
53863+
description: When type is `http_header`, name of the header to use to extract
53864+
the value.
53865+
example: content-type
53866+
type: string
53867+
localVariableName:
53868+
description: When type is `local_variable`, name of the local variable to
53869+
use to extract the value.
53870+
example: LOCAL_VARIABLE
53871+
type: string
53872+
parser:
53873+
$ref: '#/components/schemas/SyntheticsVariableParser'
53874+
type:
53875+
$ref: '#/components/schemas/SyntheticsGlobalVariableParseTestOptionsType'
53876+
required:
53877+
- type
53878+
type: object
53879+
SyntheticsGlobalVariableParseTestOptionsType:
53880+
description: Type of value to extract from a test for a Synthetic global variable.
53881+
enum:
53882+
- http_body
53883+
- http_header
53884+
- http_status_code
53885+
- local_variable
53886+
example: http_body
53887+
type: string
53888+
x-enum-varnames:
53889+
- HTTP_BODY
53890+
- HTTP_HEADER
53891+
- HTTP_STATUS_CODE
53892+
- LOCAL_VARIABLE
53893+
SyntheticsGlobalVariableParserType:
53894+
description: Type of parser for a Synthetic global variable from a synthetics
53895+
test.
53896+
enum:
53897+
- raw
53898+
- json_path
53899+
- regex
53900+
- x_path
53901+
example: raw
53902+
type: string
53903+
x-enum-varnames:
53904+
- RAW
53905+
- JSON_PATH
53906+
- REGEX
53907+
- X_PATH
53908+
SyntheticsGlobalVariableTOTPParameters:
53909+
description: Parameters for the TOTP/MFA variable
53910+
properties:
53911+
digits:
53912+
description: Number of digits for the OTP code.
53913+
example: 6
53914+
format: int32
53915+
maximum: 10
53916+
minimum: 4
53917+
type: integer
53918+
refresh_interval:
53919+
description: Interval for which to refresh the token (in seconds).
53920+
example: 30
53921+
format: int32
53922+
maximum: 999
53923+
minimum: 0
53924+
type: integer
53925+
type: object
53926+
SyntheticsGlobalVariableValue:
53927+
description: Value of the global variable.
53928+
example:
53929+
secure: true
53930+
value: value
53931+
properties:
53932+
options:
53933+
$ref: '#/components/schemas/SyntheticsGlobalVariableOptions'
53934+
secure:
53935+
description: Determines if the value of the variable is hidden.
53936+
type: boolean
53937+
value:
53938+
description: 'Value of the global variable. When reading a global variable,
53939+
53940+
the value will not be present if the variable is hidden with the `secure`
53941+
property.'
53942+
example: example-value
53943+
type: string
53944+
type: object
53945+
SyntheticsRestrictedRoles:
53946+
description: A list of role identifiers that can be pulled from the Roles API,
53947+
for restricting read and write access.
53948+
example:
53949+
- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
53950+
items:
53951+
description: UUID for a role.
53952+
example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
53953+
type: string
53954+
type: array
53955+
SyntheticsVariableParser:
53956+
description: Details of the parser to use for the global variable.
53957+
example:
53958+
type: regex
53959+
value: .*
53960+
properties:
53961+
type:
53962+
$ref: '#/components/schemas/SyntheticsGlobalVariableParserType'
53963+
value:
53964+
description: Regex or JSON path used for the parser. Not used with type
53965+
`raw`.
53966+
type: string
53967+
required:
53968+
- type
53969+
type: object
5370953970
TableResultV2:
5371053971
description: A reference table resource containing its full configuration and
5371153972
state.
@@ -86471,6 +86732,60 @@ paths:
8647186732
operator: OR
8647286733
permissions:
8647386734
- billing_edit
86735+
/api/v2/synthetics/variables/{variable_id}/jsonpatch:
86736+
patch:
86737+
description: 'Patch a global variable using JSON Patch (RFC 6902).
86738+
86739+
This endpoint allows partial updates to a global variable by specifying only
86740+
the fields to modify.
86741+
86742+
86743+
Common operations include:
86744+
86745+
- Replace field values: `{"op": "replace", "path": "/name", "value": "new_name"}`
86746+
86747+
- Update nested values: `{"op": "replace", "path": "/value/value", "value":
86748+
"new_value"}`
86749+
86750+
- Add/update tags: `{"op": "add", "path": "/tags/-", "value": "new_tag"}`
86751+
86752+
- Remove fields: `{"op": "remove", "path": "/description"}`'
86753+
operationId: PatchGlobalVariable
86754+
parameters:
86755+
- description: The ID of the global variable.
86756+
in: path
86757+
name: variable_id
86758+
required: true
86759+
schema:
86760+
type: string
86761+
requestBody:
86762+
content:
86763+
application/json:
86764+
schema:
86765+
$ref: '#/components/schemas/GlobalVariableJsonPatchRequest'
86766+
description: JSON Patch document with operations to apply.
86767+
required: true
86768+
responses:
86769+
'200':
86770+
content:
86771+
application/json:
86772+
schema:
86773+
$ref: '#/components/schemas/GlobalVariableResponse'
86774+
description: OK
86775+
'400':
86776+
$ref: '#/components/responses/BadRequestResponse'
86777+
'404':
86778+
$ref: '#/components/responses/NotFoundResponse'
86779+
'429':
86780+
$ref: '#/components/responses/TooManyRequestsResponse'
86781+
summary: Patch a global variable
86782+
tags:
86783+
- Synthetics
86784+
x-codegen-request-body-name: body
86785+
x-permission:
86786+
operator: OR
86787+
permissions:
86788+
- synthetics_global_variable_write
8647486789
/api/v2/tags/enrichment:
8647586790
get:
8647686791
description: List all tag pipeline rulesets - Retrieve a list of all tag pipeline
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Patch a global variable returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V2::SyntheticsAPI.new
5+
6+
body = DatadogAPIClient::V2::GlobalVariableJsonPatchRequest.new({
7+
data: DatadogAPIClient::V2::GlobalVariableJsonPatchRequestData.new({
8+
attributes: DatadogAPIClient::V2::GlobalVariableJsonPatchRequestDataAttributes.new({
9+
json_patch: [
10+
DatadogAPIClient::V2::JsonPatchOperation.new({
11+
op: DatadogAPIClient::V2::JsonPatchOperationOp::ADD,
12+
path: "/name",
13+
}),
14+
],
15+
}),
16+
type: DatadogAPIClient::V2::GlobalVariableJsonPatchType::GLOBAL_VARIABLES_JSON_PATCH,
17+
}),
18+
})
19+
p api_instance.patch_global_variable("variable_id", body)

features/scenarios_model_mapping.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3228,6 +3228,10 @@
32283228
"v2.SetOnDemandConcurrencyCap" => {
32293229
"body" => "OnDemandConcurrencyCapAttributes",
32303230
},
3231+
"v2.PatchGlobalVariable" => {
3232+
"variable_id" => "String",
3233+
"body" => "GlobalVariableJsonPatchRequest",
3234+
},
32313235
"v2.ListTeams" => {
32323236
"page_number" => "Integer",
32333237
"page_size" => "Integer",

0 commit comments

Comments
 (0)