Skip to content

Commit

Permalink
Document new properties and fix security monitoring schemas (#1587)
Browse files Browse the repository at this point in the history
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
  • Loading branch information
api-clients-generation-pipeline[bot] and ci.datadog-api-spec committed Jul 26, 2023
1 parent 2c3ad1f commit 0fb8e8d
Show file tree
Hide file tree
Showing 17 changed files with 310 additions and 22 deletions.
8 changes: 4 additions & 4 deletions .apigentools-info
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
"spec_versions": {
"v1": {
"apigentools_version": "1.6.5",
"regenerated": "2023-07-26 14:58:33.704719",
"spec_repo_commit": "3d6b3d5a"
"regenerated": "2023-07-26 17:14:49.920957",
"spec_repo_commit": "69e8c6e4"
},
"v2": {
"apigentools_version": "1.6.5",
"regenerated": "2023-07-26 14:58:33.720898",
"spec_repo_commit": "3d6b3d5a"
"regenerated": "2023-07-26 17:14:49.933340",
"spec_repo_commit": "69e8c6e4"
}
}
}
59 changes: 55 additions & 4 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2596,6 +2596,7 @@ components:
type: string
type: object
CloudConfigurationComplianceRuleOptions:
additionalProperties: {}
description: 'Options for cloud_configuration rules.

Fields `resourceType` and `regoRule` are mandatory when managing custom `cloud_configuration`
Expand Down Expand Up @@ -2667,6 +2668,16 @@ components:
description: How to generate compliance signals. Useful for cloud_configuration
rules only.
properties:
defaultActivationStatus:
description: The default activation status.
nullable: true
type: boolean
defaultGroupByFields:
description: The default group by fields.
items:
type: string
nullable: true
type: array
userActivationStatus:
description: Whether signals will be sent.
nullable: true
Expand Down Expand Up @@ -12904,6 +12915,7 @@ components:
- data
type: object
SecurityMonitoringSignalAttributes:
additionalProperties: {}
description: 'The object containing all signal attributes and their

associated values.'
Expand Down Expand Up @@ -13022,6 +13034,21 @@ components:
maximum: 1000
type: integer
type: object
SecurityMonitoringSignalMetadataType:
default: signal_metadata
description: The type of event.
enum:
- signal_metadata
example: signal_metadata
type: string
x-enum-varnames:
- SIGNAL_METADATA
SecurityMonitoringSignalResponse:
description: Security Signal response data object.
properties:
data:
$ref: '#/components/schemas/SecurityMonitoringSignal'
type: object
SecurityMonitoringSignalRuleCreatePayload:
description: Create a new signal correlation rule.
properties:
Expand Down Expand Up @@ -13190,7 +13217,7 @@ components:
aggregation:
$ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation'
correlatedByFields:
description: Fields to group by.
description: Fields to correlate by.
items:
description: Field.
type: string
Expand All @@ -13204,6 +13231,18 @@ components:
description: Default Rule ID to match on signals.
example: d3f-ru1-e1d
type: string
distinctFields:
description: Field for which the cardinality is measured. Sent as an array.
items:
description: Field.
type: string
type: array
groupByFields:
description: Fields to group by.
items:
description: Field.
type: string
type: array
metrics:
description: Group of target fields to aggregate over.
items:
Expand Down Expand Up @@ -13256,6 +13295,10 @@ components:
properties:
attributes:
$ref: '#/components/schemas/SecurityMonitoringSignalStateUpdateAttributes'
id:
description: The unique ID of the security signal.
type:
$ref: '#/components/schemas/SecurityMonitoringSignalMetadataType'
required:
- attributes
type: object
Expand Down Expand Up @@ -13306,6 +13349,11 @@ components:
properties:
attributes:
$ref: '#/components/schemas/SecurityMonitoringSignalTriageAttributes'
id:
description: The unique ID of the security signal.
type: string
type:
$ref: '#/components/schemas/SecurityMonitoringSignalMetadataType'
type: object
SecurityMonitoringSignalTriageUpdateResponse:
description: The response returned after all triage operations, containing the
Expand Down Expand Up @@ -13481,8 +13529,6 @@ components:
description: Query to run on logs.
example: a > 3
type: string
required:
- query
type: object
SecurityMonitoringStandardRuleResponse:
description: Rule.
Expand Down Expand Up @@ -13563,6 +13609,11 @@ components:
handle:
description: The handle for this user account.
type: string
icon:
description: Gravatar icon associated to the user.
example: /path/to/matching/gravatar/icon
readOnly: true
type: string
id:
description: Numerical ID assigned by Datadog to this user account.
format: int64
Expand Down Expand Up @@ -24478,7 +24529,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/SecurityMonitoringSignal'
$ref: '#/components/schemas/SecurityMonitoringSignalResponse'
description: OK
'404':
$ref: '#/components/responses/NotFoundResponse'
Expand Down
14 changes: 14 additions & 0 deletions docs/datadog_api_client.v2.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5818,6 +5818,20 @@ security\_monitoring\_signal\_list\_request\_page
:members:
:show-inheritance:

security\_monitoring\_signal\_metadata\_type
--------------------------------------------

.. automodule:: datadog_api_client.v2.model.security_monitoring_signal_metadata_type
:members:
:show-inheritance:

security\_monitoring\_signal\_response
--------------------------------------

.. automodule:: datadog_api_client.v2.model.security_monitoring_signal_response
:members:
:show-inheritance:

security\_monitoring\_signal\_rule\_create\_payload
---------------------------------------------------

Expand Down
7 changes: 4 additions & 3 deletions src/datadog_api_client/v2/api/security_monitoring_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
from datadog_api_client.v2.model.security_monitoring_signals_sort import SecurityMonitoringSignalsSort
from datadog_api_client.v2.model.security_monitoring_signal import SecurityMonitoringSignal
from datadog_api_client.v2.model.security_monitoring_signal_list_request import SecurityMonitoringSignalListRequest
from datadog_api_client.v2.model.security_monitoring_signal_response import SecurityMonitoringSignalResponse
from datadog_api_client.v2.model.security_monitoring_signal_triage_update_response import (
SecurityMonitoringSignalTriageUpdateResponse,
)
Expand Down Expand Up @@ -309,7 +310,7 @@ def __init__(self, api_client=None):

self._get_security_monitoring_signal_endpoint = _Endpoint(
settings={
"response_type": (SecurityMonitoringSignal,),
"response_type": (SecurityMonitoringSignalResponse,),
"auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
"endpoint_path": "/api/v2/security_monitoring/signals/{signal_id}",
"operation_id": "get_security_monitoring_signal",
Expand Down Expand Up @@ -809,14 +810,14 @@ def get_security_monitoring_rule(
def get_security_monitoring_signal(
self,
signal_id: str,
) -> SecurityMonitoringSignal:
) -> SecurityMonitoringSignalResponse:
"""Get a signal's details.
Get a signal's details.
:param signal_id: The ID of the signal.
:type signal_id: str
:rtype: SecurityMonitoringSignal
:rtype: SecurityMonitoringSignalResponse
"""
kwargs: Dict[str, Any] = {}
kwargs["signal_id"] = signal_id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
from datadog_api_client.model_utils import (
ModelNormal,
cached_property,
date,
datetime,
none_type,
unset,
UnsetType,
)
Expand All @@ -18,6 +21,20 @@


class CloudConfigurationComplianceRuleOptions(ModelNormal):
@cached_property
def additional_properties_type(_):
return (
bool,
date,
datetime,
dict,
float,
int,
list,
str,
none_type,
)

@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.cloud_configuration_rego_rule import CloudConfigurationRegoRule
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,30 +18,46 @@ class CloudConfigurationRuleComplianceSignalOptions(ModelNormal):
@cached_property
def openapi_types(_):
return {
"default_activation_status": (bool, none_type),
"default_group_by_fields": ([str], none_type),
"user_activation_status": (bool, none_type),
"user_group_by_fields": ([str], none_type),
}

attribute_map = {
"default_activation_status": "defaultActivationStatus",
"default_group_by_fields": "defaultGroupByFields",
"user_activation_status": "userActivationStatus",
"user_group_by_fields": "userGroupByFields",
}

def __init__(
self_,
default_activation_status: Union[bool, none_type, UnsetType] = unset,
default_group_by_fields: Union[List[str], none_type, UnsetType] = unset,
user_activation_status: Union[bool, none_type, UnsetType] = unset,
user_group_by_fields: Union[List[str], none_type, UnsetType] = unset,
**kwargs,
):
"""
How to generate compliance signals. Useful for cloud_configuration rules only.
:param default_activation_status: The default activation status.
:type default_activation_status: bool, none_type, optional
:param default_group_by_fields: The default group by fields.
:type default_group_by_fields: [str], none_type, optional
:param user_activation_status: Whether signals will be sent.
:type user_activation_status: bool, none_type, optional
:param user_group_by_fields: Fields to use to group findings by when sending signals.
:type user_group_by_fields: [str], none_type, optional
"""
if default_activation_status is not unset:
kwargs["default_activation_status"] = default_activation_status
if default_group_by_fields is not unset:
kwargs["default_group_by_fields"] = default_group_by_fields
if user_activation_status is not unset:
kwargs["user_activation_status"] = user_activation_status
if user_group_by_fields is not unset:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def __init__(self, **kwargs):
:type name: str, optional
:param query: Query to run on logs.
:type query: str
:type query: str, optional
:param correlated_by_fields: Fields to group by.
:type correlated_by_fields: [str], optional
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,20 @@


class SecurityMonitoringSignalAttributes(ModelNormal):
@cached_property
def additional_properties_type(_):
return (
bool,
date,
datetime,
dict,
float,
int,
list,
str,
none_type,
)

@cached_property
def openapi_types(_):
return {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
# This product includes software developed at Datadog (https://www.datadoghq.com/).
# Copyright 2019-Present Datadog, Inc.
from __future__ import annotations


from datadog_api_client.model_utils import (
ModelSimple,
cached_property,
)

from typing import ClassVar


class SecurityMonitoringSignalMetadataType(ModelSimple):
"""
The type of event.
:param value: If omitted defaults to "signal_metadata". Must be one of ["signal_metadata"].
:type value: str
"""

allowed_values = {
"signal_metadata",
}
SIGNAL_METADATA: ClassVar["SecurityMonitoringSignalMetadataType"]

@cached_property
def openapi_types(_):
return {
"value": (str,),
}


SecurityMonitoringSignalMetadataType.SIGNAL_METADATA = SecurityMonitoringSignalMetadataType("signal_metadata")
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
# This product includes software developed at Datadog (https://www.datadoghq.com/).
# Copyright 2019-Present Datadog, Inc.
from __future__ import annotations

from typing import Union, TYPE_CHECKING

from datadog_api_client.model_utils import (
ModelNormal,
cached_property,
unset,
UnsetType,
)


if TYPE_CHECKING:
from datadog_api_client.v2.model.security_monitoring_signal import SecurityMonitoringSignal


class SecurityMonitoringSignalResponse(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.security_monitoring_signal import SecurityMonitoringSignal

return {
"data": (SecurityMonitoringSignal,),
}

attribute_map = {
"data": "data",
}

def __init__(self_, data: Union[SecurityMonitoringSignal, UnsetType] = unset, **kwargs):
"""
Security Signal response data object.
:param data: Object description of a security signal.
:type data: SecurityMonitoringSignal, optional
"""
if data is not unset:
kwargs["data"] = data
super().__init__(kwargs)
Loading

0 comments on commit 0fb8e8d

Please sign in to comment.