diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 0f936d8d3a9..e301432aca7 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -6766,6 +6766,8 @@ components: description: Optional prefix for blobs written to the container. example: logs/ type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' container_name: description: The name of the Azure Blob Storage container to store logs in. @@ -24021,6 +24023,22 @@ components: type: string flaky_state: $ref: '#/components/schemas/FlakyTestAttributesFlakyState' + history: + description: 'Chronological history of status changes for this flaky test, + ordered from most recent to oldest. + + Includes state transitions like new -> quarantined -> fixed, along with + the associated commit SHA when available.' + example: + - commit_sha: abc123def456 + status: quarantined + timestamp: 1704067200000 + - commit_sha: '' + status: new + timestamp: 1703980800000 + items: + $ref: '#/components/schemas/FlakyTestHistory' + type: array last_flaked_branch: description: The branch name where the test exhibited flakiness for the last time. @@ -24105,6 +24123,29 @@ components: - FIXED - QUARANTINED - DISABLED + FlakyTestHistory: + description: A single history entry representing a status change for a flaky + test. + properties: + commit_sha: + description: The commit SHA associated with this status change. Will be + an empty string if the commit SHA is not available. + example: abc123def456 + type: string + status: + description: The test status at this point in history. + example: quarantined + type: string + timestamp: + description: Unix timestamp in milliseconds when this status change occurred. + example: 1704067200000 + format: int64 + type: integer + required: + - status + - commit_sha + - timestamp + type: object FlakyTestPipelineStats: description: CI pipeline related statistics for the flaky test. This information is only available if test runs are associated with CI pipeline events from @@ -24251,6 +24292,17 @@ components: properties: filter: $ref: '#/components/schemas/FlakyTestsSearchFilter' + include_history: + default: false + description: 'Whether to include the status change history for each flaky + test in the response. + + When set to true, each test will include a `history` array with chronological + status changes. + + Defaults to false.' + example: true + type: boolean page: $ref: '#/components/schemas/FlakyTestsSearchPageOptions' sort: @@ -36391,6 +36443,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' client_id: description: Azure AD client ID used for authentication. example: a1b2c3d4-5678-90ab-cdef-1234567890ab @@ -38337,6 +38391,8 @@ components: properties: auth: $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' bulk_index: description: The index to write logs to. example: logs-index @@ -38418,6 +38474,8 @@ components: description: S3 bucket name. example: error-logs type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: Unique identifier for the destination component. example: amazon-s3-destination @@ -38539,6 +38597,8 @@ components: description: Name of the Amazon S3 bucket in Security Lake (3-63 characters). example: security-lake-bucket type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' custom_source_name: description: Custom source name for the logs in Security Lake. example: my-custom-source @@ -38598,6 +38658,39 @@ components: role session. type: string type: object + ObservabilityPipelineBufferOptions: + description: Configuration for buffer settings on destination components. + oneOf: + - $ref: '#/components/schemas/ObservabilityPipelineDiskBufferOptions' + - $ref: '#/components/schemas/ObservabilityPipelineMemoryBufferOptions' + - $ref: '#/components/schemas/ObservabilityPipelineMemoryBufferSizeOptions' + ObservabilityPipelineBufferOptionsDiskType: + default: disk + description: The type of the buffer that will be configured, a disk buffer. + enum: + - disk + type: string + x-enum-varnames: + - DISK + ObservabilityPipelineBufferOptionsMemoryType: + default: memory + description: The type of the buffer that will be configured, a memory buffer. + enum: + - memory + type: string + x-enum-varnames: + - MEMORY + ObservabilityPipelineBufferOptionsWhenFull: + default: block + description: Behavior when the buffer is full (block and stop accepting new + events, or drop new events) + enum: + - block + - drop_newest + type: string + x-enum-varnames: + - BLOCK + - DROP_NEWEST ObservabilityPipelineCloudPremDestination: description: 'The `cloud_prem` destination sends logs to Datadog CloudPrem. @@ -38868,6 +38961,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' compression: $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression' encoding: @@ -39093,6 +39188,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: datadog-logs-destination @@ -39347,6 +39444,19 @@ components: type: string x-enum-varnames: - DEDUPE + ObservabilityPipelineDiskBufferOptions: + description: Options for configuring a disk buffer. + properties: + max_size: + description: Maximum size of the disk buffer. + example: 4096 + format: int64 + type: integer + type: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsDiskType' + when_full: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsWhenFull' + type: object ObservabilityPipelineElasticsearchDestination: description: 'The `elasticsearch` destination writes logs to an Elasticsearch cluster. @@ -39356,6 +39466,8 @@ components: properties: api_version: $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationApiVersion' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' bulk_index: description: The index to write logs to in Elasticsearch. example: logs-index @@ -39901,6 +40013,8 @@ components: properties: auth: $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' customer_id: description: The Google Chronicle customer ID. example: abcdefg123456789 @@ -39969,6 +40083,8 @@ components: description: Name of the GCS bucket. example: error-logs type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: Unique identifier for the destination component. example: gcs-destination @@ -40053,6 +40169,8 @@ components: properties: auth: $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' encoding: $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestinationEncoding' id: @@ -40579,6 +40697,28 @@ components: type: string x-enum-varnames: - LOGSTASH + ObservabilityPipelineMemoryBufferOptions: + description: Options for configuring a memory buffer by byte size. + properties: + max_size: + description: Maximum size of the memory buffer. + example: 4096 + format: int64 + type: integer + type: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsMemoryType' + type: object + ObservabilityPipelineMemoryBufferSizeOptions: + description: Options for configuring a memory buffer by queue length. + properties: + max_events: + description: Maximum events for the memory buffer. + example: 500 + format: int64 + type: integer + type: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsMemoryType' + type: object ObservabilityPipelineMetadataEntry: description: A custom metadata entry. properties: @@ -40701,6 +40841,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: new-relic-destination @@ -40847,6 +40989,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' bulk_index: description: The index to write logs to. example: logs-index @@ -41560,6 +41704,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: rsyslog-destination @@ -42065,6 +42211,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: sentinelone-destination @@ -42119,6 +42267,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' encoding: $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationEncoding' framing: @@ -42495,6 +42645,8 @@ components: If `false`, Splunk assigns the time the event was received.' example: true type: boolean + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' encoding: $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestinationEncoding' id: @@ -42619,6 +42771,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' encoding: $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestinationEncoding' header_custom_fields: @@ -42732,6 +42886,8 @@ components: **Supported pipeline types:** logs' properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: syslog-ng-destination @@ -55983,8 +56139,9 @@ components: The number of keywords in the list must be less than or equal to 30.' example: - - credit card - - cc + - email + - address + - login items: type: string type: array @@ -56123,6 +56280,8 @@ components: maximum: 5 minimum: 1 type: integer + suppressions: + $ref: '#/components/schemas/SensitiveDataScannerSuppressions' tags: description: List of tags. items: @@ -56344,6 +56503,41 @@ components: type: $ref: '#/components/schemas/SensitiveDataScannerStandardPatternType' type: object + SensitiveDataScannerSuppressions: + description: 'Object describing the suppressions for a rule. There are three + types of suppressions, `starts_with`, `ends_with`, and `exact_match`. + + Suppressed matches are not obfuscated, counted in metrics, or displayed in + the Findings page.' + properties: + ends_with: + description: List of strings to use for suppression of matches ending with + these strings. + example: + - '@example.com' + - another.example.com + items: + type: string + type: array + exact_match: + description: List of strings to use for suppression of matches exactly matching + these strings. + example: + - admin@example.com + - user@example.com + items: + type: string + type: array + starts_with: + description: List of strings to use for suppression of matches starting + with these strings. + example: + - admin + - user + items: + type: string + type: array + type: object SensitiveDataScannerTextReplacement: description: Object describing how the scanned event will be replaced. properties: @@ -100941,8 +101135,33 @@ paths: If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' post: - description: List endpoint returning flaky tests from Flaky Test Management. + description: 'List endpoint returning flaky tests from Flaky Test Management. Results are paginated. + + + The response includes comprehensive test information including: + + - Test identification and metadata (module, suite, name) + + - Flaky state and categorization + + - First and last flake occurrences (timestamp, branch, commit SHA) + + - Test execution statistics from the last 7 days (failure rate) + + - Pipeline impact metrics (failed pipelines count, total lost time) + + - Complete status change history (optional, ordered from most recent to oldest) + + + Set `include_history` to `true` in the request to receive the status change + history for each test. + + History is disabled by default for better performance. + + + Results support filtering by various facets including service, environment, + repository, branch, and test state.' operationId: SearchFlakyTests requestBody: content: diff --git a/api/datadogV2/api_test_optimization.go b/api/datadogV2/api_test_optimization.go index 1b2f2a2be5e..d5c93839309 100644 --- a/api/datadogV2/api_test_optimization.go +++ b/api/datadogV2/api_test_optimization.go @@ -36,6 +36,19 @@ func (r *SearchFlakyTestsOptionalParameters) WithBody(body FlakyTestsSearchReque // SearchFlakyTests Search flaky tests. // List endpoint returning flaky tests from Flaky Test Management. Results are paginated. +// +// The response includes comprehensive test information including: +// - Test identification and metadata (module, suite, name) +// - Flaky state and categorization +// - First and last flake occurrences (timestamp, branch, commit SHA) +// - Test execution statistics from the last 7 days (failure rate) +// - Pipeline impact metrics (failed pipelines count, total lost time) +// - Complete status change history (optional, ordered from most recent to oldest) +// +// Set `include_history` to `true` in the request to receive the status change history for each test. +// History is disabled by default for better performance. +// +// Results support filtering by various facets including service, environment, repository, branch, and test state. func (a *TestOptimizationApi) SearchFlakyTests(ctx _context.Context, o ...SearchFlakyTestsOptionalParameters) (FlakyTestsSearchResponse, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodPost diff --git a/api/datadogV2/model_azure_storage_destination.go b/api/datadogV2/model_azure_storage_destination.go index d15125c6074..caf9273d1f3 100644 --- a/api/datadogV2/model_azure_storage_destination.go +++ b/api/datadogV2/model_azure_storage_destination.go @@ -16,6 +16,8 @@ import ( type AzureStorageDestination struct { // Optional prefix for blobs written to the container. BlobPrefix *string `json:"blob_prefix,omitempty"` + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The name of the Azure Blob Storage container to store logs in. ContainerName string `json:"container_name"` // The unique identifier for this component. @@ -80,6 +82,34 @@ func (o *AzureStorageDestination) SetBlobPrefix(v string) { o.BlobPrefix = &v } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *AzureStorageDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *AzureStorageDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *AzureStorageDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *AzureStorageDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetContainerName returns the ContainerName field value. func (o *AzureStorageDestination) GetContainerName() string { if o == nil { @@ -181,6 +211,9 @@ func (o AzureStorageDestination) MarshalJSON() ([]byte, error) { if o.BlobPrefix != nil { toSerialize["blob_prefix"] = o.BlobPrefix } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["container_name"] = o.ContainerName toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs @@ -195,11 +228,12 @@ func (o AzureStorageDestination) MarshalJSON() ([]byte, error) { // UnmarshalJSON deserializes the given payload. func (o *AzureStorageDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { - BlobPrefix *string `json:"blob_prefix,omitempty"` - ContainerName *string `json:"container_name"` - Id *string `json:"id"` - Inputs *[]string `json:"inputs"` - Type *AzureStorageDestinationType `json:"type"` + BlobPrefix *string `json:"blob_prefix,omitempty"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` + ContainerName *string `json:"container_name"` + Id *string `json:"id"` + Inputs *[]string `json:"inputs"` + Type *AzureStorageDestinationType `json:"type"` }{} if err = datadog.Unmarshal(bytes, &all); err != nil { return datadog.Unmarshal(bytes, &o.UnparsedObject) @@ -218,13 +252,14 @@ func (o *AzureStorageDestination) UnmarshalJSON(bytes []byte) (err error) { } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"blob_prefix", "container_name", "id", "inputs", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"blob_prefix", "buffer", "container_name", "id", "inputs", "type"}) } else { return err } hasInvalidField := false o.BlobPrefix = all.BlobPrefix + o.Buffer = all.Buffer o.ContainerName = *all.ContainerName o.Id = *all.Id o.Inputs = *all.Inputs diff --git a/api/datadogV2/model_flaky_test_attributes.go b/api/datadogV2/model_flaky_test_attributes.go index 0bb0c551baf..ce119354106 100644 --- a/api/datadogV2/model_flaky_test_attributes.go +++ b/api/datadogV2/model_flaky_test_attributes.go @@ -29,6 +29,9 @@ type FlakyTestAttributes struct { FlakyCategory datadog.NullableString `json:"flaky_category,omitempty"` // The current state of the flaky test. FlakyState *FlakyTestAttributesFlakyState `json:"flaky_state,omitempty"` + // Chronological history of status changes for this flaky test, ordered from most recent to oldest. + // Includes state transitions like new -> quarantined -> fixed, along with the associated commit SHA when available. + History []FlakyTestHistory `json:"history,omitempty"` // The branch name where the test exhibited flakiness for the last time. LastFlakedBranch *string `json:"last_flaked_branch,omitempty"` // The commit SHA where the test exhibited flakiness for the last time. @@ -314,6 +317,34 @@ func (o *FlakyTestAttributes) SetFlakyState(v FlakyTestAttributesFlakyState) { o.FlakyState = &v } +// GetHistory returns the History field value if set, zero value otherwise. +func (o *FlakyTestAttributes) GetHistory() []FlakyTestHistory { + if o == nil || o.History == nil { + var ret []FlakyTestHistory + return ret + } + return o.History +} + +// GetHistoryOk returns a tuple with the History field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *FlakyTestAttributes) GetHistoryOk() (*[]FlakyTestHistory, bool) { + if o == nil || o.History == nil { + return nil, false + } + return &o.History, true +} + +// HasHistory returns a boolean if a field has been set. +func (o *FlakyTestAttributes) HasHistory() bool { + return o != nil && o.History != nil +} + +// SetHistory gets a reference to the given []FlakyTestHistory and assigns it to the History field. +func (o *FlakyTestAttributes) SetHistory(v []FlakyTestHistory) { + o.History = v +} + // GetLastFlakedBranch returns the LastFlakedBranch field value if set, zero value otherwise. func (o *FlakyTestAttributes) GetLastFlakedBranch() string { if o == nil || o.LastFlakedBranch == nil { @@ -635,6 +666,9 @@ func (o FlakyTestAttributes) MarshalJSON() ([]byte, error) { if o.FlakyState != nil { toSerialize["flaky_state"] = o.FlakyState } + if o.History != nil { + toSerialize["history"] = o.History + } if o.LastFlakedBranch != nil { toSerialize["last_flaked_branch"] = o.LastFlakedBranch } @@ -683,6 +717,7 @@ func (o *FlakyTestAttributes) UnmarshalJSON(bytes []byte) (err error) { FirstFlakedTs *int64 `json:"first_flaked_ts,omitempty"` FlakyCategory datadog.NullableString `json:"flaky_category,omitempty"` FlakyState *FlakyTestAttributesFlakyState `json:"flaky_state,omitempty"` + History []FlakyTestHistory `json:"history,omitempty"` LastFlakedBranch *string `json:"last_flaked_branch,omitempty"` LastFlakedSha *string `json:"last_flaked_sha,omitempty"` LastFlakedTs *int64 `json:"last_flaked_ts,omitempty"` @@ -699,7 +734,7 @@ func (o *FlakyTestAttributes) UnmarshalJSON(bytes []byte) (err error) { } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"attempt_to_fix_id", "codeowners", "envs", "first_flaked_branch", "first_flaked_sha", "first_flaked_ts", "flaky_category", "flaky_state", "last_flaked_branch", "last_flaked_sha", "last_flaked_ts", "module", "name", "pipeline_stats", "services", "suite", "test_run_metadata", "test_stats"}) + datadog.DeleteKeys(additionalProperties, &[]string{"attempt_to_fix_id", "codeowners", "envs", "first_flaked_branch", "first_flaked_sha", "first_flaked_ts", "flaky_category", "flaky_state", "history", "last_flaked_branch", "last_flaked_sha", "last_flaked_ts", "module", "name", "pipeline_stats", "services", "suite", "test_run_metadata", "test_stats"}) } else { return err } @@ -717,6 +752,7 @@ func (o *FlakyTestAttributes) UnmarshalJSON(bytes []byte) (err error) { } else { o.FlakyState = all.FlakyState } + o.History = all.History o.LastFlakedBranch = all.LastFlakedBranch o.LastFlakedSha = all.LastFlakedSha o.LastFlakedTs = all.LastFlakedTs diff --git a/api/datadogV2/model_flaky_test_history.go b/api/datadogV2/model_flaky_test_history.go new file mode 100644 index 00000000000..0df6ac508ec --- /dev/null +++ b/api/datadogV2/model_flaky_test_history.go @@ -0,0 +1,165 @@ +// 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" +) + +// FlakyTestHistory A single history entry representing a status change for a flaky test. +type FlakyTestHistory struct { + // The commit SHA associated with this status change. Will be an empty string if the commit SHA is not available. + CommitSha string `json:"commit_sha"` + // The test status at this point in history. + Status string `json:"status"` + // Unix timestamp in milliseconds when this status change occurred. + Timestamp int64 `json:"timestamp"` + // 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:"-"` +} + +// NewFlakyTestHistory instantiates a new FlakyTestHistory 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 NewFlakyTestHistory(commitSha string, status string, timestamp int64) *FlakyTestHistory { + this := FlakyTestHistory{} + this.CommitSha = commitSha + this.Status = status + this.Timestamp = timestamp + return &this +} + +// NewFlakyTestHistoryWithDefaults instantiates a new FlakyTestHistory 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 NewFlakyTestHistoryWithDefaults() *FlakyTestHistory { + this := FlakyTestHistory{} + return &this +} + +// GetCommitSha returns the CommitSha field value. +func (o *FlakyTestHistory) GetCommitSha() string { + if o == nil { + var ret string + return ret + } + return o.CommitSha +} + +// GetCommitShaOk returns a tuple with the CommitSha field value +// and a boolean to check if the value has been set. +func (o *FlakyTestHistory) GetCommitShaOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.CommitSha, true +} + +// SetCommitSha sets field value. +func (o *FlakyTestHistory) SetCommitSha(v string) { + o.CommitSha = v +} + +// GetStatus returns the Status field value. +func (o *FlakyTestHistory) GetStatus() string { + if o == nil { + var ret string + 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 *FlakyTestHistory) GetStatusOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Status, true +} + +// SetStatus sets field value. +func (o *FlakyTestHistory) SetStatus(v string) { + o.Status = v +} + +// GetTimestamp returns the Timestamp field value. +func (o *FlakyTestHistory) GetTimestamp() int64 { + if o == nil { + var ret int64 + return ret + } + return o.Timestamp +} + +// GetTimestampOk returns a tuple with the Timestamp field value +// and a boolean to check if the value has been set. +func (o *FlakyTestHistory) GetTimestampOk() (*int64, bool) { + if o == nil { + return nil, false + } + return &o.Timestamp, true +} + +// SetTimestamp sets field value. +func (o *FlakyTestHistory) SetTimestamp(v int64) { + o.Timestamp = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o FlakyTestHistory) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + toSerialize["commit_sha"] = o.CommitSha + toSerialize["status"] = o.Status + toSerialize["timestamp"] = o.Timestamp + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *FlakyTestHistory) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + CommitSha *string `json:"commit_sha"` + Status *string `json:"status"` + Timestamp *int64 `json:"timestamp"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + if all.CommitSha == nil { + return fmt.Errorf("required field commit_sha missing") + } + if all.Status == nil { + return fmt.Errorf("required field status missing") + } + if all.Timestamp == nil { + return fmt.Errorf("required field timestamp missing") + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"commit_sha", "status", "timestamp"}) + } else { + return err + } + o.CommitSha = *all.CommitSha + o.Status = *all.Status + o.Timestamp = *all.Timestamp + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + return nil +} diff --git a/api/datadogV2/model_flaky_tests_search_request_attributes.go b/api/datadogV2/model_flaky_tests_search_request_attributes.go index b27daba4a46..d0aba15013c 100644 --- a/api/datadogV2/model_flaky_tests_search_request_attributes.go +++ b/api/datadogV2/model_flaky_tests_search_request_attributes.go @@ -12,6 +12,10 @@ import ( type FlakyTestsSearchRequestAttributes struct { // Search filter settings. Filter *FlakyTestsSearchFilter `json:"filter,omitempty"` + // Whether to include the status change history for each flaky test in the response. + // When set to true, each test will include a `history` array with chronological status changes. + // Defaults to false. + IncludeHistory *bool `json:"include_history,omitempty"` // Pagination attributes for listing flaky tests. Page *FlakyTestsSearchPageOptions `json:"page,omitempty"` // Parameter for sorting flaky test results. The default sort is by ascending Fully Qualified Name (FQN). The FQN is the concatenation of the test module, suite, and name. @@ -27,6 +31,8 @@ type FlakyTestsSearchRequestAttributes struct { // will change when the set of required properties is changed. func NewFlakyTestsSearchRequestAttributes() *FlakyTestsSearchRequestAttributes { this := FlakyTestsSearchRequestAttributes{} + var includeHistory bool = false + this.IncludeHistory = &includeHistory return &this } @@ -35,6 +41,8 @@ func NewFlakyTestsSearchRequestAttributes() *FlakyTestsSearchRequestAttributes { // but it doesn't guarantee that properties required by API are set. func NewFlakyTestsSearchRequestAttributesWithDefaults() *FlakyTestsSearchRequestAttributes { this := FlakyTestsSearchRequestAttributes{} + var includeHistory bool = false + this.IncludeHistory = &includeHistory return &this } @@ -66,6 +74,34 @@ func (o *FlakyTestsSearchRequestAttributes) SetFilter(v FlakyTestsSearchFilter) o.Filter = &v } +// GetIncludeHistory returns the IncludeHistory field value if set, zero value otherwise. +func (o *FlakyTestsSearchRequestAttributes) GetIncludeHistory() bool { + if o == nil || o.IncludeHistory == nil { + var ret bool + return ret + } + return *o.IncludeHistory +} + +// GetIncludeHistoryOk returns a tuple with the IncludeHistory field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *FlakyTestsSearchRequestAttributes) GetIncludeHistoryOk() (*bool, bool) { + if o == nil || o.IncludeHistory == nil { + return nil, false + } + return o.IncludeHistory, true +} + +// HasIncludeHistory returns a boolean if a field has been set. +func (o *FlakyTestsSearchRequestAttributes) HasIncludeHistory() bool { + return o != nil && o.IncludeHistory != nil +} + +// SetIncludeHistory gets a reference to the given bool and assigns it to the IncludeHistory field. +func (o *FlakyTestsSearchRequestAttributes) SetIncludeHistory(v bool) { + o.IncludeHistory = &v +} + // GetPage returns the Page field value if set, zero value otherwise. func (o *FlakyTestsSearchRequestAttributes) GetPage() FlakyTestsSearchPageOptions { if o == nil || o.Page == nil { @@ -131,6 +167,9 @@ func (o FlakyTestsSearchRequestAttributes) MarshalJSON() ([]byte, error) { if o.Filter != nil { toSerialize["filter"] = o.Filter } + if o.IncludeHistory != nil { + toSerialize["include_history"] = o.IncludeHistory + } if o.Page != nil { toSerialize["page"] = o.Page } @@ -147,16 +186,17 @@ func (o FlakyTestsSearchRequestAttributes) MarshalJSON() ([]byte, error) { // UnmarshalJSON deserializes the given payload. func (o *FlakyTestsSearchRequestAttributes) UnmarshalJSON(bytes []byte) (err error) { all := struct { - Filter *FlakyTestsSearchFilter `json:"filter,omitempty"` - Page *FlakyTestsSearchPageOptions `json:"page,omitempty"` - Sort *FlakyTestsSearchSort `json:"sort,omitempty"` + Filter *FlakyTestsSearchFilter `json:"filter,omitempty"` + IncludeHistory *bool `json:"include_history,omitempty"` + Page *FlakyTestsSearchPageOptions `json:"page,omitempty"` + Sort *FlakyTestsSearchSort `json:"sort,omitempty"` }{} if err = datadog.Unmarshal(bytes, &all); err != nil { return datadog.Unmarshal(bytes, &o.UnparsedObject) } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"filter", "page", "sort"}) + datadog.DeleteKeys(additionalProperties, &[]string{"filter", "include_history", "page", "sort"}) } else { return err } @@ -166,6 +206,7 @@ func (o *FlakyTestsSearchRequestAttributes) UnmarshalJSON(bytes []byte) (err err hasInvalidField = true } o.Filter = all.Filter + o.IncludeHistory = all.IncludeHistory if all.Page != nil && all.Page.UnparsedObject != nil && o.UnparsedObject == nil { hasInvalidField = true } diff --git a/api/datadogV2/model_microsoft_sentinel_destination.go b/api/datadogV2/model_microsoft_sentinel_destination.go index 3a851b39f4e..8f1f262c355 100644 --- a/api/datadogV2/model_microsoft_sentinel_destination.go +++ b/api/datadogV2/model_microsoft_sentinel_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type MicrosoftSentinelDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // Azure AD client ID used for authentication. ClientId string `json:"client_id"` // The immutable ID of the Data Collection Rule (DCR). @@ -59,6 +61,34 @@ func NewMicrosoftSentinelDestinationWithDefaults() *MicrosoftSentinelDestination return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *MicrosoftSentinelDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MicrosoftSentinelDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *MicrosoftSentinelDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *MicrosoftSentinelDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetClientId returns the ClientId field value. func (o *MicrosoftSentinelDestination) GetClientId() string { if o == nil { @@ -226,6 +256,9 @@ func (o MicrosoftSentinelDestination) MarshalJSON() ([]byte, error) { if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["client_id"] = o.ClientId toSerialize["dcr_immutable_id"] = o.DcrImmutableId toSerialize["id"] = o.Id @@ -243,13 +276,14 @@ func (o MicrosoftSentinelDestination) MarshalJSON() ([]byte, error) { // UnmarshalJSON deserializes the given payload. func (o *MicrosoftSentinelDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { - ClientId *string `json:"client_id"` - DcrImmutableId *string `json:"dcr_immutable_id"` - Id *string `json:"id"` - Inputs *[]string `json:"inputs"` - Table *string `json:"table"` - TenantId *string `json:"tenant_id"` - Type *MicrosoftSentinelDestinationType `json:"type"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` + ClientId *string `json:"client_id"` + DcrImmutableId *string `json:"dcr_immutable_id"` + Id *string `json:"id"` + Inputs *[]string `json:"inputs"` + Table *string `json:"table"` + TenantId *string `json:"tenant_id"` + Type *MicrosoftSentinelDestinationType `json:"type"` }{} if err = datadog.Unmarshal(bytes, &all); err != nil { return datadog.Unmarshal(bytes, &o.UnparsedObject) @@ -277,12 +311,13 @@ func (o *MicrosoftSentinelDestination) UnmarshalJSON(bytes []byte) (err error) { } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"client_id", "dcr_immutable_id", "id", "inputs", "table", "tenant_id", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "client_id", "dcr_immutable_id", "id", "inputs", "table", "tenant_id", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer o.ClientId = *all.ClientId o.DcrImmutableId = *all.DcrImmutableId o.Id = *all.Id diff --git a/api/datadogV2/model_observability_pipeline_amazon_open_search_destination.go b/api/datadogV2/model_observability_pipeline_amazon_open_search_destination.go index af1d731faf0..c72cc1dc052 100644 --- a/api/datadogV2/model_observability_pipeline_amazon_open_search_destination.go +++ b/api/datadogV2/model_observability_pipeline_amazon_open_search_destination.go @@ -17,6 +17,8 @@ type ObservabilityPipelineAmazonOpenSearchDestination struct { // Authentication settings for the Amazon OpenSearch destination. // The `strategy` field determines whether basic or AWS-based authentication is used. Auth ObservabilityPipelineAmazonOpenSearchDestinationAuth `json:"auth"` + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The index to write logs to. BulkIndex *string `json:"bulk_index,omitempty"` // The unique identifier for this component. @@ -76,6 +78,34 @@ func (o *ObservabilityPipelineAmazonOpenSearchDestination) SetAuth(v Observabili o.Auth = v } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineAmazonOpenSearchDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineAmazonOpenSearchDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineAmazonOpenSearchDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineAmazonOpenSearchDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetBulkIndex returns the BulkIndex field value if set, zero value otherwise. func (o *ObservabilityPipelineAmazonOpenSearchDestination) GetBulkIndex() string { if o == nil || o.BulkIndex == nil { @@ -180,6 +210,9 @@ func (o ObservabilityPipelineAmazonOpenSearchDestination) MarshalJSON() ([]byte, return datadog.Marshal(o.UnparsedObject) } toSerialize["auth"] = o.Auth + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } if o.BulkIndex != nil { toSerialize["bulk_index"] = o.BulkIndex } @@ -197,6 +230,7 @@ func (o ObservabilityPipelineAmazonOpenSearchDestination) MarshalJSON() ([]byte, func (o *ObservabilityPipelineAmazonOpenSearchDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { Auth *ObservabilityPipelineAmazonOpenSearchDestinationAuth `json:"auth"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` BulkIndex *string `json:"bulk_index,omitempty"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` @@ -219,7 +253,7 @@ func (o *ObservabilityPipelineAmazonOpenSearchDestination) UnmarshalJSON(bytes [ } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"auth", "bulk_index", "id", "inputs", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"auth", "buffer", "bulk_index", "id", "inputs", "type"}) } else { return err } @@ -229,6 +263,7 @@ func (o *ObservabilityPipelineAmazonOpenSearchDestination) UnmarshalJSON(bytes [ hasInvalidField = true } o.Auth = *all.Auth + o.Buffer = all.Buffer o.BulkIndex = all.BulkIndex o.Id = *all.Id o.Inputs = *all.Inputs diff --git a/api/datadogV2/model_observability_pipeline_amazon_s3_destination.go b/api/datadogV2/model_observability_pipeline_amazon_s3_destination.go index add27cd4a02..8a6f9313a74 100644 --- a/api/datadogV2/model_observability_pipeline_amazon_s3_destination.go +++ b/api/datadogV2/model_observability_pipeline_amazon_s3_destination.go @@ -19,6 +19,8 @@ type ObservabilityPipelineAmazonS3Destination struct { Auth *ObservabilityPipelineAwsAuth `json:"auth,omitempty"` // S3 bucket name. Bucket string `json:"bucket"` + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // Unique identifier for the destination component. Id string `json:"id"` // A list of component IDs whose output is used as the `input` for this component. @@ -114,6 +116,34 @@ func (o *ObservabilityPipelineAmazonS3Destination) SetBucket(v string) { o.Bucket = v } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineAmazonS3Destination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineAmazonS3Destination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineAmazonS3Destination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineAmazonS3Destination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetId returns the Id field value. func (o *ObservabilityPipelineAmazonS3Destination) GetId() string { if o == nil { @@ -295,6 +325,9 @@ func (o ObservabilityPipelineAmazonS3Destination) MarshalJSON() ([]byte, error) toSerialize["auth"] = o.Auth } toSerialize["bucket"] = o.Bucket + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs if o.KeyPrefix != nil { @@ -318,6 +351,7 @@ func (o *ObservabilityPipelineAmazonS3Destination) UnmarshalJSON(bytes []byte) ( all := struct { Auth *ObservabilityPipelineAwsAuth `json:"auth,omitempty"` Bucket *string `json:"bucket"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` KeyPrefix *string `json:"key_prefix,omitempty"` @@ -349,7 +383,7 @@ func (o *ObservabilityPipelineAmazonS3Destination) UnmarshalJSON(bytes []byte) ( } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"auth", "bucket", "id", "inputs", "key_prefix", "region", "storage_class", "tls", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"auth", "bucket", "buffer", "id", "inputs", "key_prefix", "region", "storage_class", "tls", "type"}) } else { return err } @@ -360,6 +394,7 @@ func (o *ObservabilityPipelineAmazonS3Destination) UnmarshalJSON(bytes []byte) ( } o.Auth = all.Auth o.Bucket = *all.Bucket + o.Buffer = all.Buffer o.Id = *all.Id o.Inputs = *all.Inputs o.KeyPrefix = all.KeyPrefix diff --git a/api/datadogV2/model_observability_pipeline_amazon_security_lake_destination.go b/api/datadogV2/model_observability_pipeline_amazon_security_lake_destination.go index 1666825827d..c4bdd37574b 100644 --- a/api/datadogV2/model_observability_pipeline_amazon_security_lake_destination.go +++ b/api/datadogV2/model_observability_pipeline_amazon_security_lake_destination.go @@ -19,6 +19,8 @@ type ObservabilityPipelineAmazonSecurityLakeDestination struct { Auth *ObservabilityPipelineAwsAuth `json:"auth,omitempty"` // Name of the Amazon S3 bucket in Security Lake (3-63 characters). Bucket string `json:"bucket"` + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // Custom source name for the logs in Security Lake. CustomSourceName string `json:"custom_source_name"` // Unique identifier for the destination component. @@ -112,6 +114,34 @@ func (o *ObservabilityPipelineAmazonSecurityLakeDestination) SetBucket(v string) o.Bucket = v } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineAmazonSecurityLakeDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineAmazonSecurityLakeDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineAmazonSecurityLakeDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineAmazonSecurityLakeDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetCustomSourceName returns the CustomSourceName field value. func (o *ObservabilityPipelineAmazonSecurityLakeDestination) GetCustomSourceName() string { if o == nil { @@ -265,6 +295,9 @@ func (o ObservabilityPipelineAmazonSecurityLakeDestination) MarshalJSON() ([]byt toSerialize["auth"] = o.Auth } toSerialize["bucket"] = o.Bucket + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["custom_source_name"] = o.CustomSourceName toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs @@ -285,6 +318,7 @@ func (o *ObservabilityPipelineAmazonSecurityLakeDestination) UnmarshalJSON(bytes all := struct { Auth *ObservabilityPipelineAwsAuth `json:"auth,omitempty"` Bucket *string `json:"bucket"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` CustomSourceName *string `json:"custom_source_name"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` @@ -315,7 +349,7 @@ func (o *ObservabilityPipelineAmazonSecurityLakeDestination) UnmarshalJSON(bytes } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"auth", "bucket", "custom_source_name", "id", "inputs", "region", "tls", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"auth", "bucket", "buffer", "custom_source_name", "id", "inputs", "region", "tls", "type"}) } else { return err } @@ -326,6 +360,7 @@ func (o *ObservabilityPipelineAmazonSecurityLakeDestination) UnmarshalJSON(bytes } o.Auth = all.Auth o.Bucket = *all.Bucket + o.Buffer = all.Buffer o.CustomSourceName = *all.CustomSourceName o.Id = *all.Id o.Inputs = *all.Inputs diff --git a/api/datadogV2/model_observability_pipeline_buffer_options.go b/api/datadogV2/model_observability_pipeline_buffer_options.go new file mode 100644 index 00000000000..8dc082cf247 --- /dev/null +++ b/api/datadogV2/model_observability_pipeline_buffer_options.go @@ -0,0 +1,137 @@ +// 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 ( + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// ObservabilityPipelineBufferOptions - Configuration for buffer settings on destination components. +type ObservabilityPipelineBufferOptions struct { + ObservabilityPipelineDiskBufferOptions *ObservabilityPipelineDiskBufferOptions + ObservabilityPipelineMemoryBufferOptions *ObservabilityPipelineMemoryBufferOptions + ObservabilityPipelineMemoryBufferSizeOptions *ObservabilityPipelineMemoryBufferSizeOptions + + // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct + UnparsedObject interface{} +} + +// ObservabilityPipelineDiskBufferOptionsAsObservabilityPipelineBufferOptions is a convenience function that returns ObservabilityPipelineDiskBufferOptions wrapped in ObservabilityPipelineBufferOptions. +func ObservabilityPipelineDiskBufferOptionsAsObservabilityPipelineBufferOptions(v *ObservabilityPipelineDiskBufferOptions) ObservabilityPipelineBufferOptions { + return ObservabilityPipelineBufferOptions{ObservabilityPipelineDiskBufferOptions: v} +} + +// ObservabilityPipelineMemoryBufferOptionsAsObservabilityPipelineBufferOptions is a convenience function that returns ObservabilityPipelineMemoryBufferOptions wrapped in ObservabilityPipelineBufferOptions. +func ObservabilityPipelineMemoryBufferOptionsAsObservabilityPipelineBufferOptions(v *ObservabilityPipelineMemoryBufferOptions) ObservabilityPipelineBufferOptions { + return ObservabilityPipelineBufferOptions{ObservabilityPipelineMemoryBufferOptions: v} +} + +// ObservabilityPipelineMemoryBufferSizeOptionsAsObservabilityPipelineBufferOptions is a convenience function that returns ObservabilityPipelineMemoryBufferSizeOptions wrapped in ObservabilityPipelineBufferOptions. +func ObservabilityPipelineMemoryBufferSizeOptionsAsObservabilityPipelineBufferOptions(v *ObservabilityPipelineMemoryBufferSizeOptions) ObservabilityPipelineBufferOptions { + return ObservabilityPipelineBufferOptions{ObservabilityPipelineMemoryBufferSizeOptions: v} +} + +// UnmarshalJSON turns data into one of the pointers in the struct. +func (obj *ObservabilityPipelineBufferOptions) UnmarshalJSON(data []byte) error { + var err error + match := 0 + // try to unmarshal data into ObservabilityPipelineDiskBufferOptions + err = datadog.Unmarshal(data, &obj.ObservabilityPipelineDiskBufferOptions) + if err == nil { + if obj.ObservabilityPipelineDiskBufferOptions != nil && obj.ObservabilityPipelineDiskBufferOptions.UnparsedObject == nil { + jsonObservabilityPipelineDiskBufferOptions, _ := datadog.Marshal(obj.ObservabilityPipelineDiskBufferOptions) + if string(jsonObservabilityPipelineDiskBufferOptions) == "{}" && string(data) != "{}" { // empty struct + obj.ObservabilityPipelineDiskBufferOptions = nil + } else { + match++ + } + } else { + obj.ObservabilityPipelineDiskBufferOptions = nil + } + } else { + obj.ObservabilityPipelineDiskBufferOptions = nil + } + + // try to unmarshal data into ObservabilityPipelineMemoryBufferOptions + err = datadog.Unmarshal(data, &obj.ObservabilityPipelineMemoryBufferOptions) + if err == nil { + if obj.ObservabilityPipelineMemoryBufferOptions != nil && obj.ObservabilityPipelineMemoryBufferOptions.UnparsedObject == nil { + jsonObservabilityPipelineMemoryBufferOptions, _ := datadog.Marshal(obj.ObservabilityPipelineMemoryBufferOptions) + if string(jsonObservabilityPipelineMemoryBufferOptions) == "{}" && string(data) != "{}" { // empty struct + obj.ObservabilityPipelineMemoryBufferOptions = nil + } else { + match++ + } + } else { + obj.ObservabilityPipelineMemoryBufferOptions = nil + } + } else { + obj.ObservabilityPipelineMemoryBufferOptions = nil + } + + // try to unmarshal data into ObservabilityPipelineMemoryBufferSizeOptions + err = datadog.Unmarshal(data, &obj.ObservabilityPipelineMemoryBufferSizeOptions) + if err == nil { + if obj.ObservabilityPipelineMemoryBufferSizeOptions != nil && obj.ObservabilityPipelineMemoryBufferSizeOptions.UnparsedObject == nil { + jsonObservabilityPipelineMemoryBufferSizeOptions, _ := datadog.Marshal(obj.ObservabilityPipelineMemoryBufferSizeOptions) + if string(jsonObservabilityPipelineMemoryBufferSizeOptions) == "{}" && string(data) != "{}" { // empty struct + obj.ObservabilityPipelineMemoryBufferSizeOptions = nil + } else { + match++ + } + } else { + obj.ObservabilityPipelineMemoryBufferSizeOptions = nil + } + } else { + obj.ObservabilityPipelineMemoryBufferSizeOptions = nil + } + + if match != 1 { // more than 1 match + // reset to nil + obj.ObservabilityPipelineDiskBufferOptions = nil + obj.ObservabilityPipelineMemoryBufferOptions = nil + obj.ObservabilityPipelineMemoryBufferSizeOptions = nil + return datadog.Unmarshal(data, &obj.UnparsedObject) + } + return nil // exactly one match +} + +// MarshalJSON turns data from the first non-nil pointers in the struct to JSON. +func (obj ObservabilityPipelineBufferOptions) MarshalJSON() ([]byte, error) { + if obj.ObservabilityPipelineDiskBufferOptions != nil { + return datadog.Marshal(&obj.ObservabilityPipelineDiskBufferOptions) + } + + if obj.ObservabilityPipelineMemoryBufferOptions != nil { + return datadog.Marshal(&obj.ObservabilityPipelineMemoryBufferOptions) + } + + if obj.ObservabilityPipelineMemoryBufferSizeOptions != nil { + return datadog.Marshal(&obj.ObservabilityPipelineMemoryBufferSizeOptions) + } + + if obj.UnparsedObject != nil { + return datadog.Marshal(obj.UnparsedObject) + } + return nil, nil // no data in oneOf schemas +} + +// GetActualInstance returns the actual instance. +func (obj *ObservabilityPipelineBufferOptions) GetActualInstance() interface{} { + if obj.ObservabilityPipelineDiskBufferOptions != nil { + return obj.ObservabilityPipelineDiskBufferOptions + } + + if obj.ObservabilityPipelineMemoryBufferOptions != nil { + return obj.ObservabilityPipelineMemoryBufferOptions + } + + if obj.ObservabilityPipelineMemoryBufferSizeOptions != nil { + return obj.ObservabilityPipelineMemoryBufferSizeOptions + } + + // all schemas are nil + return nil +} diff --git a/api/datadogV2/model_observability_pipeline_buffer_options_disk_type.go b/api/datadogV2/model_observability_pipeline_buffer_options_disk_type.go new file mode 100644 index 00000000000..0b8438da099 --- /dev/null +++ b/api/datadogV2/model_observability_pipeline_buffer_options_disk_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" +) + +// ObservabilityPipelineBufferOptionsDiskType The type of the buffer that will be configured, a disk buffer. +type ObservabilityPipelineBufferOptionsDiskType string + +// List of ObservabilityPipelineBufferOptionsDiskType. +const ( + OBSERVABILITYPIPELINEBUFFEROPTIONSDISKTYPE_DISK ObservabilityPipelineBufferOptionsDiskType = "disk" +) + +var allowedObservabilityPipelineBufferOptionsDiskTypeEnumValues = []ObservabilityPipelineBufferOptionsDiskType{ + OBSERVABILITYPIPELINEBUFFEROPTIONSDISKTYPE_DISK, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *ObservabilityPipelineBufferOptionsDiskType) GetAllowedValues() []ObservabilityPipelineBufferOptionsDiskType { + return allowedObservabilityPipelineBufferOptionsDiskTypeEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *ObservabilityPipelineBufferOptionsDiskType) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = ObservabilityPipelineBufferOptionsDiskType(value) + return nil +} + +// NewObservabilityPipelineBufferOptionsDiskTypeFromValue returns a pointer to a valid ObservabilityPipelineBufferOptionsDiskType +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewObservabilityPipelineBufferOptionsDiskTypeFromValue(v string) (*ObservabilityPipelineBufferOptionsDiskType, error) { + ev := ObservabilityPipelineBufferOptionsDiskType(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for ObservabilityPipelineBufferOptionsDiskType: valid values are %v", v, allowedObservabilityPipelineBufferOptionsDiskTypeEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v ObservabilityPipelineBufferOptionsDiskType) IsValid() bool { + for _, existing := range allowedObservabilityPipelineBufferOptionsDiskTypeEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to ObservabilityPipelineBufferOptionsDiskType value. +func (v ObservabilityPipelineBufferOptionsDiskType) Ptr() *ObservabilityPipelineBufferOptionsDiskType { + return &v +} diff --git a/api/datadogV2/model_observability_pipeline_buffer_options_memory_type.go b/api/datadogV2/model_observability_pipeline_buffer_options_memory_type.go new file mode 100644 index 00000000000..4352f3918a1 --- /dev/null +++ b/api/datadogV2/model_observability_pipeline_buffer_options_memory_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" +) + +// ObservabilityPipelineBufferOptionsMemoryType The type of the buffer that will be configured, a memory buffer. +type ObservabilityPipelineBufferOptionsMemoryType string + +// List of ObservabilityPipelineBufferOptionsMemoryType. +const ( + OBSERVABILITYPIPELINEBUFFEROPTIONSMEMORYTYPE_MEMORY ObservabilityPipelineBufferOptionsMemoryType = "memory" +) + +var allowedObservabilityPipelineBufferOptionsMemoryTypeEnumValues = []ObservabilityPipelineBufferOptionsMemoryType{ + OBSERVABILITYPIPELINEBUFFEROPTIONSMEMORYTYPE_MEMORY, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *ObservabilityPipelineBufferOptionsMemoryType) GetAllowedValues() []ObservabilityPipelineBufferOptionsMemoryType { + return allowedObservabilityPipelineBufferOptionsMemoryTypeEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *ObservabilityPipelineBufferOptionsMemoryType) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = ObservabilityPipelineBufferOptionsMemoryType(value) + return nil +} + +// NewObservabilityPipelineBufferOptionsMemoryTypeFromValue returns a pointer to a valid ObservabilityPipelineBufferOptionsMemoryType +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewObservabilityPipelineBufferOptionsMemoryTypeFromValue(v string) (*ObservabilityPipelineBufferOptionsMemoryType, error) { + ev := ObservabilityPipelineBufferOptionsMemoryType(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for ObservabilityPipelineBufferOptionsMemoryType: valid values are %v", v, allowedObservabilityPipelineBufferOptionsMemoryTypeEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v ObservabilityPipelineBufferOptionsMemoryType) IsValid() bool { + for _, existing := range allowedObservabilityPipelineBufferOptionsMemoryTypeEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to ObservabilityPipelineBufferOptionsMemoryType value. +func (v ObservabilityPipelineBufferOptionsMemoryType) Ptr() *ObservabilityPipelineBufferOptionsMemoryType { + return &v +} diff --git a/api/datadogV2/model_observability_pipeline_buffer_options_when_full.go b/api/datadogV2/model_observability_pipeline_buffer_options_when_full.go new file mode 100644 index 00000000000..08d5246b645 --- /dev/null +++ b/api/datadogV2/model_observability_pipeline_buffer_options_when_full.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" +) + +// ObservabilityPipelineBufferOptionsWhenFull Behavior when the buffer is full (block and stop accepting new events, or drop new events) +type ObservabilityPipelineBufferOptionsWhenFull string + +// List of ObservabilityPipelineBufferOptionsWhenFull. +const ( + OBSERVABILITYPIPELINEBUFFEROPTIONSWHENFULL_BLOCK ObservabilityPipelineBufferOptionsWhenFull = "block" + OBSERVABILITYPIPELINEBUFFEROPTIONSWHENFULL_DROP_NEWEST ObservabilityPipelineBufferOptionsWhenFull = "drop_newest" +) + +var allowedObservabilityPipelineBufferOptionsWhenFullEnumValues = []ObservabilityPipelineBufferOptionsWhenFull{ + OBSERVABILITYPIPELINEBUFFEROPTIONSWHENFULL_BLOCK, + OBSERVABILITYPIPELINEBUFFEROPTIONSWHENFULL_DROP_NEWEST, +} + +// GetAllowedValues reeturns the list of possible values. +func (v *ObservabilityPipelineBufferOptionsWhenFull) GetAllowedValues() []ObservabilityPipelineBufferOptionsWhenFull { + return allowedObservabilityPipelineBufferOptionsWhenFullEnumValues +} + +// UnmarshalJSON deserializes the given payload. +func (v *ObservabilityPipelineBufferOptionsWhenFull) UnmarshalJSON(src []byte) error { + var value string + err := datadog.Unmarshal(src, &value) + if err != nil { + return err + } + *v = ObservabilityPipelineBufferOptionsWhenFull(value) + return nil +} + +// NewObservabilityPipelineBufferOptionsWhenFullFromValue returns a pointer to a valid ObservabilityPipelineBufferOptionsWhenFull +// for the value passed as argument, or an error if the value passed is not allowed by the enum. +func NewObservabilityPipelineBufferOptionsWhenFullFromValue(v string) (*ObservabilityPipelineBufferOptionsWhenFull, error) { + ev := ObservabilityPipelineBufferOptionsWhenFull(v) + if ev.IsValid() { + return &ev, nil + } + return nil, fmt.Errorf("invalid value '%v' for ObservabilityPipelineBufferOptionsWhenFull: valid values are %v", v, allowedObservabilityPipelineBufferOptionsWhenFullEnumValues) +} + +// IsValid return true if the value is valid for the enum, false otherwise. +func (v ObservabilityPipelineBufferOptionsWhenFull) IsValid() bool { + for _, existing := range allowedObservabilityPipelineBufferOptionsWhenFullEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to ObservabilityPipelineBufferOptionsWhenFull value. +func (v ObservabilityPipelineBufferOptionsWhenFull) Ptr() *ObservabilityPipelineBufferOptionsWhenFull { + return &v +} diff --git a/api/datadogV2/model_observability_pipeline_crowd_strike_next_gen_siem_destination.go b/api/datadogV2/model_observability_pipeline_crowd_strike_next_gen_siem_destination.go index c642e55fd70..f8752f49349 100644 --- a/api/datadogV2/model_observability_pipeline_crowd_strike_next_gen_siem_destination.go +++ b/api/datadogV2/model_observability_pipeline_crowd_strike_next_gen_siem_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type ObservabilityPipelineCrowdStrikeNextGenSiemDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // Compression configuration for log events. Compression *ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression `json:"compression,omitempty"` // Encoding format for log events. @@ -54,6 +56,34 @@ func NewObservabilityPipelineCrowdStrikeNextGenSiemDestinationWithDefaults() *Ob return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineCrowdStrikeNextGenSiemDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineCrowdStrikeNextGenSiemDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineCrowdStrikeNextGenSiemDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineCrowdStrikeNextGenSiemDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetCompression returns the Compression field value if set, zero value otherwise. func (o *ObservabilityPipelineCrowdStrikeNextGenSiemDestination) GetCompression() ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression { if o == nil || o.Compression == nil { @@ -208,6 +238,9 @@ func (o ObservabilityPipelineCrowdStrikeNextGenSiemDestination) MarshalJSON() ([ if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } if o.Compression != nil { toSerialize["compression"] = o.Compression } @@ -228,6 +261,7 @@ func (o ObservabilityPipelineCrowdStrikeNextGenSiemDestination) MarshalJSON() ([ // UnmarshalJSON deserializes the given payload. func (o *ObservabilityPipelineCrowdStrikeNextGenSiemDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Compression *ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression `json:"compression,omitempty"` Encoding *ObservabilityPipelineCrowdStrikeNextGenSiemDestinationEncoding `json:"encoding"` Id *string `json:"id"` @@ -252,12 +286,13 @@ func (o *ObservabilityPipelineCrowdStrikeNextGenSiemDestination) UnmarshalJSON(b } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"compression", "encoding", "id", "inputs", "tls", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "compression", "encoding", "id", "inputs", "tls", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer if all.Compression != nil && all.Compression.UnparsedObject != nil && o.UnparsedObject == nil { hasInvalidField = true } diff --git a/api/datadogV2/model_observability_pipeline_datadog_logs_destination.go b/api/datadogV2/model_observability_pipeline_datadog_logs_destination.go index 18d96f8e6d2..2163176bbfd 100644 --- a/api/datadogV2/model_observability_pipeline_datadog_logs_destination.go +++ b/api/datadogV2/model_observability_pipeline_datadog_logs_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type ObservabilityPipelineDatadogLogsDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The unique identifier for this component. Id string `json:"id"` // A list of component IDs whose output is used as the `input` for this component. @@ -49,6 +51,34 @@ func NewObservabilityPipelineDatadogLogsDestinationWithDefaults() *Observability return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineDatadogLogsDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineDatadogLogsDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineDatadogLogsDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineDatadogLogsDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetId returns the Id field value. func (o *ObservabilityPipelineDatadogLogsDestination) GetId() string { if o == nil { @@ -152,6 +182,9 @@ func (o ObservabilityPipelineDatadogLogsDestination) MarshalJSON() ([]byte, erro if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs if o.Routes != nil { @@ -168,6 +201,7 @@ func (o ObservabilityPipelineDatadogLogsDestination) MarshalJSON() ([]byte, erro // UnmarshalJSON deserializes the given payload. func (o *ObservabilityPipelineDatadogLogsDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` Routes []ObservabilityPipelineDatadogLogsDestinationRoute `json:"routes,omitempty"` @@ -187,12 +221,13 @@ func (o *ObservabilityPipelineDatadogLogsDestination) UnmarshalJSON(bytes []byte } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"id", "inputs", "routes", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "id", "inputs", "routes", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer o.Id = *all.Id o.Inputs = *all.Inputs o.Routes = all.Routes diff --git a/api/datadogV2/model_observability_pipeline_disk_buffer_options.go b/api/datadogV2/model_observability_pipeline_disk_buffer_options.go new file mode 100644 index 00000000000..e2a973e9d83 --- /dev/null +++ b/api/datadogV2/model_observability_pipeline_disk_buffer_options.go @@ -0,0 +1,194 @@ +// 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 ( + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// ObservabilityPipelineDiskBufferOptions Options for configuring a disk buffer. +type ObservabilityPipelineDiskBufferOptions struct { + // Maximum size of the disk buffer. + MaxSize *int64 `json:"max_size,omitempty"` + // The type of the buffer that will be configured, a disk buffer. + Type *ObservabilityPipelineBufferOptionsDiskType `json:"type,omitempty"` + // Behavior when the buffer is full (block and stop accepting new events, or drop new events) + WhenFull *ObservabilityPipelineBufferOptionsWhenFull `json:"when_full,omitempty"` + // 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:"-"` +} + +// NewObservabilityPipelineDiskBufferOptions instantiates a new ObservabilityPipelineDiskBufferOptions 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 NewObservabilityPipelineDiskBufferOptions() *ObservabilityPipelineDiskBufferOptions { + this := ObservabilityPipelineDiskBufferOptions{} + var typeVar ObservabilityPipelineBufferOptionsDiskType = OBSERVABILITYPIPELINEBUFFEROPTIONSDISKTYPE_DISK + this.Type = &typeVar + var whenFull ObservabilityPipelineBufferOptionsWhenFull = OBSERVABILITYPIPELINEBUFFEROPTIONSWHENFULL_BLOCK + this.WhenFull = &whenFull + return &this +} + +// NewObservabilityPipelineDiskBufferOptionsWithDefaults instantiates a new ObservabilityPipelineDiskBufferOptions 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 NewObservabilityPipelineDiskBufferOptionsWithDefaults() *ObservabilityPipelineDiskBufferOptions { + this := ObservabilityPipelineDiskBufferOptions{} + var typeVar ObservabilityPipelineBufferOptionsDiskType = OBSERVABILITYPIPELINEBUFFEROPTIONSDISKTYPE_DISK + this.Type = &typeVar + var whenFull ObservabilityPipelineBufferOptionsWhenFull = OBSERVABILITYPIPELINEBUFFEROPTIONSWHENFULL_BLOCK + this.WhenFull = &whenFull + return &this +} + +// GetMaxSize returns the MaxSize field value if set, zero value otherwise. +func (o *ObservabilityPipelineDiskBufferOptions) GetMaxSize() int64 { + if o == nil || o.MaxSize == nil { + var ret int64 + return ret + } + return *o.MaxSize +} + +// GetMaxSizeOk returns a tuple with the MaxSize field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineDiskBufferOptions) GetMaxSizeOk() (*int64, bool) { + if o == nil || o.MaxSize == nil { + return nil, false + } + return o.MaxSize, true +} + +// HasMaxSize returns a boolean if a field has been set. +func (o *ObservabilityPipelineDiskBufferOptions) HasMaxSize() bool { + return o != nil && o.MaxSize != nil +} + +// SetMaxSize gets a reference to the given int64 and assigns it to the MaxSize field. +func (o *ObservabilityPipelineDiskBufferOptions) SetMaxSize(v int64) { + o.MaxSize = &v +} + +// GetType returns the Type field value if set, zero value otherwise. +func (o *ObservabilityPipelineDiskBufferOptions) GetType() ObservabilityPipelineBufferOptionsDiskType { + if o == nil || o.Type == nil { + var ret ObservabilityPipelineBufferOptionsDiskType + return ret + } + return *o.Type +} + +// GetTypeOk returns a tuple with the Type field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineDiskBufferOptions) GetTypeOk() (*ObservabilityPipelineBufferOptionsDiskType, bool) { + if o == nil || o.Type == nil { + return nil, false + } + return o.Type, true +} + +// HasType returns a boolean if a field has been set. +func (o *ObservabilityPipelineDiskBufferOptions) HasType() bool { + return o != nil && o.Type != nil +} + +// SetType gets a reference to the given ObservabilityPipelineBufferOptionsDiskType and assigns it to the Type field. +func (o *ObservabilityPipelineDiskBufferOptions) SetType(v ObservabilityPipelineBufferOptionsDiskType) { + o.Type = &v +} + +// GetWhenFull returns the WhenFull field value if set, zero value otherwise. +func (o *ObservabilityPipelineDiskBufferOptions) GetWhenFull() ObservabilityPipelineBufferOptionsWhenFull { + if o == nil || o.WhenFull == nil { + var ret ObservabilityPipelineBufferOptionsWhenFull + return ret + } + return *o.WhenFull +} + +// GetWhenFullOk returns a tuple with the WhenFull field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineDiskBufferOptions) GetWhenFullOk() (*ObservabilityPipelineBufferOptionsWhenFull, bool) { + if o == nil || o.WhenFull == nil { + return nil, false + } + return o.WhenFull, true +} + +// HasWhenFull returns a boolean if a field has been set. +func (o *ObservabilityPipelineDiskBufferOptions) HasWhenFull() bool { + return o != nil && o.WhenFull != nil +} + +// SetWhenFull gets a reference to the given ObservabilityPipelineBufferOptionsWhenFull and assigns it to the WhenFull field. +func (o *ObservabilityPipelineDiskBufferOptions) SetWhenFull(v ObservabilityPipelineBufferOptionsWhenFull) { + o.WhenFull = &v +} + +// MarshalJSON serializes the struct using spec logic. +func (o ObservabilityPipelineDiskBufferOptions) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + if o.MaxSize != nil { + toSerialize["max_size"] = o.MaxSize + } + if o.Type != nil { + toSerialize["type"] = o.Type + } + if o.WhenFull != nil { + toSerialize["when_full"] = o.WhenFull + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *ObservabilityPipelineDiskBufferOptions) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + MaxSize *int64 `json:"max_size,omitempty"` + Type *ObservabilityPipelineBufferOptionsDiskType `json:"type,omitempty"` + WhenFull *ObservabilityPipelineBufferOptionsWhenFull `json:"when_full,omitempty"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"max_size", "type", "when_full"}) + } else { + return err + } + + hasInvalidField := false + o.MaxSize = all.MaxSize + if all.Type != nil && !all.Type.IsValid() { + hasInvalidField = true + } else { + o.Type = all.Type + } + if all.WhenFull != nil && !all.WhenFull.IsValid() { + hasInvalidField = true + } else { + o.WhenFull = all.WhenFull + } + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + if hasInvalidField { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + + return nil +} diff --git a/api/datadogV2/model_observability_pipeline_elasticsearch_destination.go b/api/datadogV2/model_observability_pipeline_elasticsearch_destination.go index 9de2d84f5ef..bf7a1516b28 100644 --- a/api/datadogV2/model_observability_pipeline_elasticsearch_destination.go +++ b/api/datadogV2/model_observability_pipeline_elasticsearch_destination.go @@ -16,6 +16,8 @@ import ( type ObservabilityPipelineElasticsearchDestination struct { // The Elasticsearch API version to use. Set to `auto` to auto-detect. ApiVersion *ObservabilityPipelineElasticsearchDestinationApiVersion `json:"api_version,omitempty"` + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The index to write logs to in Elasticsearch. BulkIndex *string `json:"bulk_index,omitempty"` // Configuration options for writing to Elasticsearch Data Streams instead of a fixed index. @@ -81,6 +83,34 @@ func (o *ObservabilityPipelineElasticsearchDestination) SetApiVersion(v Observab o.ApiVersion = &v } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineElasticsearchDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineElasticsearchDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineElasticsearchDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineElasticsearchDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetBulkIndex returns the BulkIndex field value if set, zero value otherwise. func (o *ObservabilityPipelineElasticsearchDestination) GetBulkIndex() string { if o == nil || o.BulkIndex == nil { @@ -215,6 +245,9 @@ func (o ObservabilityPipelineElasticsearchDestination) MarshalJSON() ([]byte, er if o.ApiVersion != nil { toSerialize["api_version"] = o.ApiVersion } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } if o.BulkIndex != nil { toSerialize["bulk_index"] = o.BulkIndex } @@ -235,6 +268,7 @@ func (o ObservabilityPipelineElasticsearchDestination) MarshalJSON() ([]byte, er func (o *ObservabilityPipelineElasticsearchDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { ApiVersion *ObservabilityPipelineElasticsearchDestinationApiVersion `json:"api_version,omitempty"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` BulkIndex *string `json:"bulk_index,omitempty"` DataStream *ObservabilityPipelineElasticsearchDestinationDataStream `json:"data_stream,omitempty"` Id *string `json:"id"` @@ -255,7 +289,7 @@ func (o *ObservabilityPipelineElasticsearchDestination) UnmarshalJSON(bytes []by } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"api_version", "bulk_index", "data_stream", "id", "inputs", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"api_version", "buffer", "bulk_index", "data_stream", "id", "inputs", "type"}) } else { return err } @@ -266,6 +300,7 @@ func (o *ObservabilityPipelineElasticsearchDestination) UnmarshalJSON(bytes []by } else { o.ApiVersion = all.ApiVersion } + o.Buffer = all.Buffer o.BulkIndex = all.BulkIndex if all.DataStream != nil && all.DataStream.UnparsedObject != nil && o.UnparsedObject == nil { hasInvalidField = true diff --git a/api/datadogV2/model_observability_pipeline_google_chronicle_destination.go b/api/datadogV2/model_observability_pipeline_google_chronicle_destination.go index 92df95dcaf0..bf98f55f40d 100644 --- a/api/datadogV2/model_observability_pipeline_google_chronicle_destination.go +++ b/api/datadogV2/model_observability_pipeline_google_chronicle_destination.go @@ -16,6 +16,8 @@ import ( type ObservabilityPipelineGoogleChronicleDestination struct { // GCP credentials used to authenticate with Google Cloud Storage. Auth *ObservabilityPipelineGcpAuth `json:"auth,omitempty"` + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The Google Chronicle customer ID. CustomerId string `json:"customer_id"` // The encoding format for the logs sent to Chronicle. @@ -84,6 +86,34 @@ func (o *ObservabilityPipelineGoogleChronicleDestination) SetAuth(v Observabilit o.Auth = &v } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineGoogleChronicleDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineGoogleChronicleDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineGoogleChronicleDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineGoogleChronicleDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetCustomerId returns the CustomerId field value. func (o *ObservabilityPipelineGoogleChronicleDestination) GetCustomerId() string { if o == nil { @@ -241,6 +271,9 @@ func (o ObservabilityPipelineGoogleChronicleDestination) MarshalJSON() ([]byte, if o.Auth != nil { toSerialize["auth"] = o.Auth } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["customer_id"] = o.CustomerId if o.Encoding != nil { toSerialize["encoding"] = o.Encoding @@ -262,6 +295,7 @@ func (o ObservabilityPipelineGoogleChronicleDestination) MarshalJSON() ([]byte, func (o *ObservabilityPipelineGoogleChronicleDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { Auth *ObservabilityPipelineGcpAuth `json:"auth,omitempty"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` CustomerId *string `json:"customer_id"` Encoding *ObservabilityPipelineGoogleChronicleDestinationEncoding `json:"encoding,omitempty"` Id *string `json:"id"` @@ -286,7 +320,7 @@ func (o *ObservabilityPipelineGoogleChronicleDestination) UnmarshalJSON(bytes [] } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"auth", "customer_id", "encoding", "id", "inputs", "log_type", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"auth", "buffer", "customer_id", "encoding", "id", "inputs", "log_type", "type"}) } else { return err } @@ -296,6 +330,7 @@ func (o *ObservabilityPipelineGoogleChronicleDestination) UnmarshalJSON(bytes [] hasInvalidField = true } o.Auth = all.Auth + o.Buffer = all.Buffer o.CustomerId = *all.CustomerId if all.Encoding != nil && !all.Encoding.IsValid() { hasInvalidField = true diff --git a/api/datadogV2/model_observability_pipeline_google_cloud_storage_destination.go b/api/datadogV2/model_observability_pipeline_google_cloud_storage_destination.go index 2ed581fef0f..94beab2b769 100644 --- a/api/datadogV2/model_observability_pipeline_google_cloud_storage_destination.go +++ b/api/datadogV2/model_observability_pipeline_google_cloud_storage_destination.go @@ -21,6 +21,8 @@ type ObservabilityPipelineGoogleCloudStorageDestination struct { Auth *ObservabilityPipelineGcpAuth `json:"auth,omitempty"` // Name of the GCS bucket. Bucket string `json:"bucket"` + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // Unique identifier for the destination component. Id string `json:"id"` // A list of component IDs whose output is used as the `input` for this component. @@ -141,6 +143,34 @@ func (o *ObservabilityPipelineGoogleCloudStorageDestination) SetBucket(v string) o.Bucket = v } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineGoogleCloudStorageDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineGoogleCloudStorageDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineGoogleCloudStorageDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineGoogleCloudStorageDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetId returns the Id field value. func (o *ObservabilityPipelineGoogleCloudStorageDestination) GetId() string { if o == nil { @@ -302,6 +332,9 @@ func (o ObservabilityPipelineGoogleCloudStorageDestination) MarshalJSON() ([]byt toSerialize["auth"] = o.Auth } toSerialize["bucket"] = o.Bucket + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs if o.KeyPrefix != nil { @@ -325,6 +358,7 @@ func (o *ObservabilityPipelineGoogleCloudStorageDestination) UnmarshalJSON(bytes Acl *ObservabilityPipelineGoogleCloudStorageDestinationAcl `json:"acl,omitempty"` Auth *ObservabilityPipelineGcpAuth `json:"auth,omitempty"` Bucket *string `json:"bucket"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` KeyPrefix *string `json:"key_prefix,omitempty"` @@ -352,7 +386,7 @@ func (o *ObservabilityPipelineGoogleCloudStorageDestination) UnmarshalJSON(bytes } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"acl", "auth", "bucket", "id", "inputs", "key_prefix", "metadata", "storage_class", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"acl", "auth", "bucket", "buffer", "id", "inputs", "key_prefix", "metadata", "storage_class", "type"}) } else { return err } @@ -368,6 +402,7 @@ func (o *ObservabilityPipelineGoogleCloudStorageDestination) UnmarshalJSON(bytes } o.Auth = all.Auth o.Bucket = *all.Bucket + o.Buffer = all.Buffer o.Id = *all.Id o.Inputs = *all.Inputs o.KeyPrefix = all.KeyPrefix diff --git a/api/datadogV2/model_observability_pipeline_google_pub_sub_destination.go b/api/datadogV2/model_observability_pipeline_google_pub_sub_destination.go index f931dbf4b1b..ec628af11e9 100644 --- a/api/datadogV2/model_observability_pipeline_google_pub_sub_destination.go +++ b/api/datadogV2/model_observability_pipeline_google_pub_sub_destination.go @@ -16,6 +16,8 @@ import ( type ObservabilityPipelineGooglePubSubDestination struct { // GCP credentials used to authenticate with Google Cloud Storage. Auth *ObservabilityPipelineGcpAuth `json:"auth,omitempty"` + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // Encoding format for log events. Encoding ObservabilityPipelineGooglePubSubDestinationEncoding `json:"encoding"` // The unique identifier for this component. @@ -88,6 +90,34 @@ func (o *ObservabilityPipelineGooglePubSubDestination) SetAuth(v ObservabilityPi o.Auth = &v } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineGooglePubSubDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineGooglePubSubDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineGooglePubSubDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineGooglePubSubDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetEncoding returns the Encoding field value. func (o *ObservabilityPipelineGooglePubSubDestination) GetEncoding() ObservabilityPipelineGooglePubSubDestinationEncoding { if o == nil { @@ -263,6 +293,9 @@ func (o ObservabilityPipelineGooglePubSubDestination) MarshalJSON() ([]byte, err if o.Auth != nil { toSerialize["auth"] = o.Auth } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["encoding"] = o.Encoding toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs @@ -283,6 +316,7 @@ func (o ObservabilityPipelineGooglePubSubDestination) MarshalJSON() ([]byte, err func (o *ObservabilityPipelineGooglePubSubDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { Auth *ObservabilityPipelineGcpAuth `json:"auth,omitempty"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Encoding *ObservabilityPipelineGooglePubSubDestinationEncoding `json:"encoding"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` @@ -314,7 +348,7 @@ func (o *ObservabilityPipelineGooglePubSubDestination) UnmarshalJSON(bytes []byt } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"auth", "encoding", "id", "inputs", "project", "tls", "topic", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"auth", "buffer", "encoding", "id", "inputs", "project", "tls", "topic", "type"}) } else { return err } @@ -324,6 +358,7 @@ func (o *ObservabilityPipelineGooglePubSubDestination) UnmarshalJSON(bytes []byt hasInvalidField = true } o.Auth = all.Auth + o.Buffer = all.Buffer if !all.Encoding.IsValid() { hasInvalidField = true } else { diff --git a/api/datadogV2/model_observability_pipeline_memory_buffer_options.go b/api/datadogV2/model_observability_pipeline_memory_buffer_options.go new file mode 100644 index 00000000000..44470c4062d --- /dev/null +++ b/api/datadogV2/model_observability_pipeline_memory_buffer_options.go @@ -0,0 +1,151 @@ +// 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 ( + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// ObservabilityPipelineMemoryBufferOptions Options for configuring a memory buffer by byte size. +type ObservabilityPipelineMemoryBufferOptions struct { + // Maximum size of the memory buffer. + MaxSize *int64 `json:"max_size,omitempty"` + // The type of the buffer that will be configured, a memory buffer. + Type *ObservabilityPipelineBufferOptionsMemoryType `json:"type,omitempty"` + // 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:"-"` +} + +// NewObservabilityPipelineMemoryBufferOptions instantiates a new ObservabilityPipelineMemoryBufferOptions 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 NewObservabilityPipelineMemoryBufferOptions() *ObservabilityPipelineMemoryBufferOptions { + this := ObservabilityPipelineMemoryBufferOptions{} + var typeVar ObservabilityPipelineBufferOptionsMemoryType = OBSERVABILITYPIPELINEBUFFEROPTIONSMEMORYTYPE_MEMORY + this.Type = &typeVar + return &this +} + +// NewObservabilityPipelineMemoryBufferOptionsWithDefaults instantiates a new ObservabilityPipelineMemoryBufferOptions 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 NewObservabilityPipelineMemoryBufferOptionsWithDefaults() *ObservabilityPipelineMemoryBufferOptions { + this := ObservabilityPipelineMemoryBufferOptions{} + var typeVar ObservabilityPipelineBufferOptionsMemoryType = OBSERVABILITYPIPELINEBUFFEROPTIONSMEMORYTYPE_MEMORY + this.Type = &typeVar + return &this +} + +// GetMaxSize returns the MaxSize field value if set, zero value otherwise. +func (o *ObservabilityPipelineMemoryBufferOptions) GetMaxSize() int64 { + if o == nil || o.MaxSize == nil { + var ret int64 + return ret + } + return *o.MaxSize +} + +// GetMaxSizeOk returns a tuple with the MaxSize field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineMemoryBufferOptions) GetMaxSizeOk() (*int64, bool) { + if o == nil || o.MaxSize == nil { + return nil, false + } + return o.MaxSize, true +} + +// HasMaxSize returns a boolean if a field has been set. +func (o *ObservabilityPipelineMemoryBufferOptions) HasMaxSize() bool { + return o != nil && o.MaxSize != nil +} + +// SetMaxSize gets a reference to the given int64 and assigns it to the MaxSize field. +func (o *ObservabilityPipelineMemoryBufferOptions) SetMaxSize(v int64) { + o.MaxSize = &v +} + +// GetType returns the Type field value if set, zero value otherwise. +func (o *ObservabilityPipelineMemoryBufferOptions) GetType() ObservabilityPipelineBufferOptionsMemoryType { + if o == nil || o.Type == nil { + var ret ObservabilityPipelineBufferOptionsMemoryType + return ret + } + return *o.Type +} + +// GetTypeOk returns a tuple with the Type field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineMemoryBufferOptions) GetTypeOk() (*ObservabilityPipelineBufferOptionsMemoryType, bool) { + if o == nil || o.Type == nil { + return nil, false + } + return o.Type, true +} + +// HasType returns a boolean if a field has been set. +func (o *ObservabilityPipelineMemoryBufferOptions) HasType() bool { + return o != nil && o.Type != nil +} + +// SetType gets a reference to the given ObservabilityPipelineBufferOptionsMemoryType and assigns it to the Type field. +func (o *ObservabilityPipelineMemoryBufferOptions) SetType(v ObservabilityPipelineBufferOptionsMemoryType) { + o.Type = &v +} + +// MarshalJSON serializes the struct using spec logic. +func (o ObservabilityPipelineMemoryBufferOptions) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + if o.MaxSize != nil { + toSerialize["max_size"] = o.MaxSize + } + if o.Type != nil { + toSerialize["type"] = o.Type + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *ObservabilityPipelineMemoryBufferOptions) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + MaxSize *int64 `json:"max_size,omitempty"` + Type *ObservabilityPipelineBufferOptionsMemoryType `json:"type,omitempty"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"max_size", "type"}) + } else { + return err + } + + hasInvalidField := false + o.MaxSize = all.MaxSize + if all.Type != nil && !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_observability_pipeline_memory_buffer_size_options.go b/api/datadogV2/model_observability_pipeline_memory_buffer_size_options.go new file mode 100644 index 00000000000..3d09f3d57c9 --- /dev/null +++ b/api/datadogV2/model_observability_pipeline_memory_buffer_size_options.go @@ -0,0 +1,151 @@ +// 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 ( + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// ObservabilityPipelineMemoryBufferSizeOptions Options for configuring a memory buffer by queue length. +type ObservabilityPipelineMemoryBufferSizeOptions struct { + // Maximum events for the memory buffer. + MaxEvents *int64 `json:"max_events,omitempty"` + // The type of the buffer that will be configured, a memory buffer. + Type *ObservabilityPipelineBufferOptionsMemoryType `json:"type,omitempty"` + // 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:"-"` +} + +// NewObservabilityPipelineMemoryBufferSizeOptions instantiates a new ObservabilityPipelineMemoryBufferSizeOptions 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 NewObservabilityPipelineMemoryBufferSizeOptions() *ObservabilityPipelineMemoryBufferSizeOptions { + this := ObservabilityPipelineMemoryBufferSizeOptions{} + var typeVar ObservabilityPipelineBufferOptionsMemoryType = OBSERVABILITYPIPELINEBUFFEROPTIONSMEMORYTYPE_MEMORY + this.Type = &typeVar + return &this +} + +// NewObservabilityPipelineMemoryBufferSizeOptionsWithDefaults instantiates a new ObservabilityPipelineMemoryBufferSizeOptions 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 NewObservabilityPipelineMemoryBufferSizeOptionsWithDefaults() *ObservabilityPipelineMemoryBufferSizeOptions { + this := ObservabilityPipelineMemoryBufferSizeOptions{} + var typeVar ObservabilityPipelineBufferOptionsMemoryType = OBSERVABILITYPIPELINEBUFFEROPTIONSMEMORYTYPE_MEMORY + this.Type = &typeVar + return &this +} + +// GetMaxEvents returns the MaxEvents field value if set, zero value otherwise. +func (o *ObservabilityPipelineMemoryBufferSizeOptions) GetMaxEvents() int64 { + if o == nil || o.MaxEvents == nil { + var ret int64 + return ret + } + return *o.MaxEvents +} + +// GetMaxEventsOk returns a tuple with the MaxEvents field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineMemoryBufferSizeOptions) GetMaxEventsOk() (*int64, bool) { + if o == nil || o.MaxEvents == nil { + return nil, false + } + return o.MaxEvents, true +} + +// HasMaxEvents returns a boolean if a field has been set. +func (o *ObservabilityPipelineMemoryBufferSizeOptions) HasMaxEvents() bool { + return o != nil && o.MaxEvents != nil +} + +// SetMaxEvents gets a reference to the given int64 and assigns it to the MaxEvents field. +func (o *ObservabilityPipelineMemoryBufferSizeOptions) SetMaxEvents(v int64) { + o.MaxEvents = &v +} + +// GetType returns the Type field value if set, zero value otherwise. +func (o *ObservabilityPipelineMemoryBufferSizeOptions) GetType() ObservabilityPipelineBufferOptionsMemoryType { + if o == nil || o.Type == nil { + var ret ObservabilityPipelineBufferOptionsMemoryType + return ret + } + return *o.Type +} + +// GetTypeOk returns a tuple with the Type field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineMemoryBufferSizeOptions) GetTypeOk() (*ObservabilityPipelineBufferOptionsMemoryType, bool) { + if o == nil || o.Type == nil { + return nil, false + } + return o.Type, true +} + +// HasType returns a boolean if a field has been set. +func (o *ObservabilityPipelineMemoryBufferSizeOptions) HasType() bool { + return o != nil && o.Type != nil +} + +// SetType gets a reference to the given ObservabilityPipelineBufferOptionsMemoryType and assigns it to the Type field. +func (o *ObservabilityPipelineMemoryBufferSizeOptions) SetType(v ObservabilityPipelineBufferOptionsMemoryType) { + o.Type = &v +} + +// MarshalJSON serializes the struct using spec logic. +func (o ObservabilityPipelineMemoryBufferSizeOptions) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + if o.MaxEvents != nil { + toSerialize["max_events"] = o.MaxEvents + } + if o.Type != nil { + toSerialize["type"] = o.Type + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *ObservabilityPipelineMemoryBufferSizeOptions) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + MaxEvents *int64 `json:"max_events,omitempty"` + Type *ObservabilityPipelineBufferOptionsMemoryType `json:"type,omitempty"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"max_events", "type"}) + } else { + return err + } + + hasInvalidField := false + o.MaxEvents = all.MaxEvents + if all.Type != nil && !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_observability_pipeline_new_relic_destination.go b/api/datadogV2/model_observability_pipeline_new_relic_destination.go index dcb77bb1a4b..00f32f89597 100644 --- a/api/datadogV2/model_observability_pipeline_new_relic_destination.go +++ b/api/datadogV2/model_observability_pipeline_new_relic_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type ObservabilityPipelineNewRelicDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The unique identifier for this component. Id string `json:"id"` // A list of component IDs whose output is used as the `input` for this component. @@ -50,6 +52,34 @@ func NewObservabilityPipelineNewRelicDestinationWithDefaults() *ObservabilityPip return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineNewRelicDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineNewRelicDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineNewRelicDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineNewRelicDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetId returns the Id field value. func (o *ObservabilityPipelineNewRelicDestination) GetId() string { if o == nil { @@ -148,6 +178,9 @@ func (o ObservabilityPipelineNewRelicDestination) MarshalJSON() ([]byte, error) if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs toSerialize["region"] = o.Region @@ -162,6 +195,7 @@ func (o ObservabilityPipelineNewRelicDestination) MarshalJSON() ([]byte, error) // UnmarshalJSON deserializes the given payload. func (o *ObservabilityPipelineNewRelicDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` Region *ObservabilityPipelineNewRelicDestinationRegion `json:"region"` @@ -184,12 +218,13 @@ func (o *ObservabilityPipelineNewRelicDestination) UnmarshalJSON(bytes []byte) ( } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"id", "inputs", "region", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "id", "inputs", "region", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer o.Id = *all.Id o.Inputs = *all.Inputs if !all.Region.IsValid() { diff --git a/api/datadogV2/model_observability_pipeline_open_search_destination.go b/api/datadogV2/model_observability_pipeline_open_search_destination.go index 1f6d98ad2ae..edc15cbc640 100644 --- a/api/datadogV2/model_observability_pipeline_open_search_destination.go +++ b/api/datadogV2/model_observability_pipeline_open_search_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type ObservabilityPipelineOpenSearchDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The index to write logs to. BulkIndex *string `json:"bulk_index,omitempty"` // Configuration options for writing to OpenSearch Data Streams instead of a fixed index. @@ -51,6 +53,34 @@ func NewObservabilityPipelineOpenSearchDestinationWithDefaults() *ObservabilityP return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineOpenSearchDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineOpenSearchDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineOpenSearchDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineOpenSearchDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetBulkIndex returns the BulkIndex field value if set, zero value otherwise. func (o *ObservabilityPipelineOpenSearchDestination) GetBulkIndex() string { if o == nil || o.BulkIndex == nil { @@ -182,6 +212,9 @@ func (o ObservabilityPipelineOpenSearchDestination) MarshalJSON() ([]byte, error if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } if o.BulkIndex != nil { toSerialize["bulk_index"] = o.BulkIndex } @@ -201,6 +234,7 @@ func (o ObservabilityPipelineOpenSearchDestination) MarshalJSON() ([]byte, error // UnmarshalJSON deserializes the given payload. func (o *ObservabilityPipelineOpenSearchDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` BulkIndex *string `json:"bulk_index,omitempty"` DataStream *ObservabilityPipelineOpenSearchDestinationDataStream `json:"data_stream,omitempty"` Id *string `json:"id"` @@ -221,12 +255,13 @@ func (o *ObservabilityPipelineOpenSearchDestination) UnmarshalJSON(bytes []byte) } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"bulk_index", "data_stream", "id", "inputs", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "bulk_index", "data_stream", "id", "inputs", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer o.BulkIndex = all.BulkIndex if all.DataStream != nil && all.DataStream.UnparsedObject != nil && o.UnparsedObject == nil { hasInvalidField = true diff --git a/api/datadogV2/model_observability_pipeline_rsyslog_destination.go b/api/datadogV2/model_observability_pipeline_rsyslog_destination.go index 5f35213f16d..cee4e94ffc5 100644 --- a/api/datadogV2/model_observability_pipeline_rsyslog_destination.go +++ b/api/datadogV2/model_observability_pipeline_rsyslog_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type ObservabilityPipelineRsyslogDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The unique identifier for this component. Id string `json:"id"` // A list of component IDs whose output is used as the `input` for this component. @@ -51,6 +53,34 @@ func NewObservabilityPipelineRsyslogDestinationWithDefaults() *ObservabilityPipe return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineRsyslogDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineRsyslogDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineRsyslogDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineRsyslogDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetId returns the Id field value. func (o *ObservabilityPipelineRsyslogDestination) GetId() string { if o == nil { @@ -182,6 +212,9 @@ func (o ObservabilityPipelineRsyslogDestination) MarshalJSON() ([]byte, error) { if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs if o.Keepalive != nil { @@ -201,6 +234,7 @@ func (o ObservabilityPipelineRsyslogDestination) MarshalJSON() ([]byte, error) { // UnmarshalJSON deserializes the given payload. func (o *ObservabilityPipelineRsyslogDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` Keepalive *int64 `json:"keepalive,omitempty"` @@ -221,12 +255,13 @@ func (o *ObservabilityPipelineRsyslogDestination) UnmarshalJSON(bytes []byte) (e } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"id", "inputs", "keepalive", "tls", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "id", "inputs", "keepalive", "tls", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer o.Id = *all.Id o.Inputs = *all.Inputs o.Keepalive = all.Keepalive diff --git a/api/datadogV2/model_observability_pipeline_sentinel_one_destination.go b/api/datadogV2/model_observability_pipeline_sentinel_one_destination.go index e43f1f0883b..b67c4a5e780 100644 --- a/api/datadogV2/model_observability_pipeline_sentinel_one_destination.go +++ b/api/datadogV2/model_observability_pipeline_sentinel_one_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type ObservabilityPipelineSentinelOneDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The unique identifier for this component. Id string `json:"id"` // A list of component IDs whose output is used as the `input` for this component. @@ -50,6 +52,34 @@ func NewObservabilityPipelineSentinelOneDestinationWithDefaults() *Observability return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineSentinelOneDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineSentinelOneDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineSentinelOneDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineSentinelOneDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetId returns the Id field value. func (o *ObservabilityPipelineSentinelOneDestination) GetId() string { if o == nil { @@ -148,6 +178,9 @@ func (o ObservabilityPipelineSentinelOneDestination) MarshalJSON() ([]byte, erro if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs toSerialize["region"] = o.Region @@ -162,6 +195,7 @@ func (o ObservabilityPipelineSentinelOneDestination) MarshalJSON() ([]byte, erro // UnmarshalJSON deserializes the given payload. func (o *ObservabilityPipelineSentinelOneDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` Region *ObservabilityPipelineSentinelOneDestinationRegion `json:"region"` @@ -184,12 +218,13 @@ func (o *ObservabilityPipelineSentinelOneDestination) UnmarshalJSON(bytes []byte } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"id", "inputs", "region", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "id", "inputs", "region", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer o.Id = *all.Id o.Inputs = *all.Inputs if !all.Region.IsValid() { diff --git a/api/datadogV2/model_observability_pipeline_socket_destination.go b/api/datadogV2/model_observability_pipeline_socket_destination.go index 72054b0f4f0..b077595623d 100644 --- a/api/datadogV2/model_observability_pipeline_socket_destination.go +++ b/api/datadogV2/model_observability_pipeline_socket_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type ObservabilityPipelineSocketDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // Encoding format for log events. Encoding ObservabilityPipelineSocketDestinationEncoding `json:"encoding"` // Framing method configuration. @@ -58,6 +60,34 @@ func NewObservabilityPipelineSocketDestinationWithDefaults() *ObservabilityPipel return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineSocketDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineSocketDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineSocketDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineSocketDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetEncoding returns the Encoding field value. func (o *ObservabilityPipelineSocketDestination) GetEncoding() ObservabilityPipelineSocketDestinationEncoding { if o == nil { @@ -230,6 +260,9 @@ func (o ObservabilityPipelineSocketDestination) MarshalJSON() ([]byte, error) { if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["encoding"] = o.Encoding toSerialize["framing"] = o.Framing toSerialize["id"] = o.Id @@ -249,6 +282,7 @@ func (o ObservabilityPipelineSocketDestination) MarshalJSON() ([]byte, error) { // UnmarshalJSON deserializes the given payload. func (o *ObservabilityPipelineSocketDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Encoding *ObservabilityPipelineSocketDestinationEncoding `json:"encoding"` Framing *ObservabilityPipelineSocketDestinationFraming `json:"framing"` Id *string `json:"id"` @@ -280,12 +314,13 @@ func (o *ObservabilityPipelineSocketDestination) UnmarshalJSON(bytes []byte) (er } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"encoding", "framing", "id", "inputs", "mode", "tls", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "encoding", "framing", "id", "inputs", "mode", "tls", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer if !all.Encoding.IsValid() { hasInvalidField = true } else { diff --git a/api/datadogV2/model_observability_pipeline_splunk_hec_destination.go b/api/datadogV2/model_observability_pipeline_splunk_hec_destination.go index 2a2016c4165..02f039c5dc3 100644 --- a/api/datadogV2/model_observability_pipeline_splunk_hec_destination.go +++ b/api/datadogV2/model_observability_pipeline_splunk_hec_destination.go @@ -17,6 +17,8 @@ type ObservabilityPipelineSplunkHecDestination struct { // If `true`, Splunk tries to extract timestamps from incoming log events. // If `false`, Splunk assigns the time the event was received. AutoExtractTimestamp *bool `json:"auto_extract_timestamp,omitempty"` + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // Encoding format for log events. Encoding *ObservabilityPipelineSplunkHecDestinationEncoding `json:"encoding,omitempty"` // The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). @@ -84,6 +86,34 @@ func (o *ObservabilityPipelineSplunkHecDestination) SetAutoExtractTimestamp(v bo o.AutoExtractTimestamp = &v } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineSplunkHecDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineSplunkHecDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineSplunkHecDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineSplunkHecDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetEncoding returns the Encoding field value if set, zero value otherwise. func (o *ObservabilityPipelineSplunkHecDestination) GetEncoding() ObservabilityPipelineSplunkHecDestinationEncoding { if o == nil || o.Encoding == nil { @@ -246,6 +276,9 @@ func (o ObservabilityPipelineSplunkHecDestination) MarshalJSON() ([]byte, error) if o.AutoExtractTimestamp != nil { toSerialize["auto_extract_timestamp"] = o.AutoExtractTimestamp } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } if o.Encoding != nil { toSerialize["encoding"] = o.Encoding } @@ -269,6 +302,7 @@ func (o ObservabilityPipelineSplunkHecDestination) MarshalJSON() ([]byte, error) func (o *ObservabilityPipelineSplunkHecDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { AutoExtractTimestamp *bool `json:"auto_extract_timestamp,omitempty"` + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Encoding *ObservabilityPipelineSplunkHecDestinationEncoding `json:"encoding,omitempty"` Id *string `json:"id"` Index *string `json:"index,omitempty"` @@ -290,13 +324,14 @@ func (o *ObservabilityPipelineSplunkHecDestination) UnmarshalJSON(bytes []byte) } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"auto_extract_timestamp", "encoding", "id", "index", "inputs", "sourcetype", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"auto_extract_timestamp", "buffer", "encoding", "id", "index", "inputs", "sourcetype", "type"}) } else { return err } hasInvalidField := false o.AutoExtractTimestamp = all.AutoExtractTimestamp + o.Buffer = all.Buffer if all.Encoding != nil && !all.Encoding.IsValid() { hasInvalidField = true } else { diff --git a/api/datadogV2/model_observability_pipeline_sumo_logic_destination.go b/api/datadogV2/model_observability_pipeline_sumo_logic_destination.go index e06da954898..1e4b353b965 100644 --- a/api/datadogV2/model_observability_pipeline_sumo_logic_destination.go +++ b/api/datadogV2/model_observability_pipeline_sumo_logic_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type ObservabilityPipelineSumoLogicDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The output encoding format. Encoding *ObservabilityPipelineSumoLogicDestinationEncoding `json:"encoding,omitempty"` // A list of custom headers to include in the request to Sumo Logic. @@ -57,6 +59,34 @@ func NewObservabilityPipelineSumoLogicDestinationWithDefaults() *ObservabilityPi return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineSumoLogicDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineSumoLogicDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineSumoLogicDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineSumoLogicDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetEncoding returns the Encoding field value if set, zero value otherwise. func (o *ObservabilityPipelineSumoLogicDestination) GetEncoding() ObservabilityPipelineSumoLogicDestinationEncoding { if o == nil || o.Encoding == nil { @@ -272,6 +302,9 @@ func (o ObservabilityPipelineSumoLogicDestination) MarshalJSON() ([]byte, error) if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } if o.Encoding != nil { toSerialize["encoding"] = o.Encoding } @@ -300,6 +333,7 @@ func (o ObservabilityPipelineSumoLogicDestination) MarshalJSON() ([]byte, error) // UnmarshalJSON deserializes the given payload. func (o *ObservabilityPipelineSumoLogicDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Encoding *ObservabilityPipelineSumoLogicDestinationEncoding `json:"encoding,omitempty"` HeaderCustomFields []ObservabilityPipelineSumoLogicDestinationHeaderCustomFieldsItem `json:"header_custom_fields,omitempty"` HeaderHostName *string `json:"header_host_name,omitempty"` @@ -323,12 +357,13 @@ func (o *ObservabilityPipelineSumoLogicDestination) UnmarshalJSON(bytes []byte) } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"encoding", "header_custom_fields", "header_host_name", "header_source_category", "header_source_name", "id", "inputs", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "encoding", "header_custom_fields", "header_host_name", "header_source_category", "header_source_name", "id", "inputs", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer if all.Encoding != nil && !all.Encoding.IsValid() { hasInvalidField = true } else { diff --git a/api/datadogV2/model_observability_pipeline_syslog_ng_destination.go b/api/datadogV2/model_observability_pipeline_syslog_ng_destination.go index 48a9cb6515e..3e1f23daeec 100644 --- a/api/datadogV2/model_observability_pipeline_syslog_ng_destination.go +++ b/api/datadogV2/model_observability_pipeline_syslog_ng_destination.go @@ -14,6 +14,8 @@ import ( // // **Supported pipeline types:** logs type ObservabilityPipelineSyslogNgDestination struct { + // Configuration for buffer settings on destination components. + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` // The unique identifier for this component. Id string `json:"id"` // A list of component IDs whose output is used as the `input` for this component. @@ -51,6 +53,34 @@ func NewObservabilityPipelineSyslogNgDestinationWithDefaults() *ObservabilityPip return &this } +// GetBuffer returns the Buffer field value if set, zero value otherwise. +func (o *ObservabilityPipelineSyslogNgDestination) GetBuffer() ObservabilityPipelineBufferOptions { + if o == nil || o.Buffer == nil { + var ret ObservabilityPipelineBufferOptions + return ret + } + return *o.Buffer +} + +// GetBufferOk returns a tuple with the Buffer field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *ObservabilityPipelineSyslogNgDestination) GetBufferOk() (*ObservabilityPipelineBufferOptions, bool) { + if o == nil || o.Buffer == nil { + return nil, false + } + return o.Buffer, true +} + +// HasBuffer returns a boolean if a field has been set. +func (o *ObservabilityPipelineSyslogNgDestination) HasBuffer() bool { + return o != nil && o.Buffer != nil +} + +// SetBuffer gets a reference to the given ObservabilityPipelineBufferOptions and assigns it to the Buffer field. +func (o *ObservabilityPipelineSyslogNgDestination) SetBuffer(v ObservabilityPipelineBufferOptions) { + o.Buffer = &v +} + // GetId returns the Id field value. func (o *ObservabilityPipelineSyslogNgDestination) GetId() string { if o == nil { @@ -182,6 +212,9 @@ func (o ObservabilityPipelineSyslogNgDestination) MarshalJSON() ([]byte, error) if o.UnparsedObject != nil { return datadog.Marshal(o.UnparsedObject) } + if o.Buffer != nil { + toSerialize["buffer"] = o.Buffer + } toSerialize["id"] = o.Id toSerialize["inputs"] = o.Inputs if o.Keepalive != nil { @@ -201,6 +234,7 @@ func (o ObservabilityPipelineSyslogNgDestination) MarshalJSON() ([]byte, error) // UnmarshalJSON deserializes the given payload. func (o *ObservabilityPipelineSyslogNgDestination) UnmarshalJSON(bytes []byte) (err error) { all := struct { + Buffer *ObservabilityPipelineBufferOptions `json:"buffer,omitempty"` Id *string `json:"id"` Inputs *[]string `json:"inputs"` Keepalive *int64 `json:"keepalive,omitempty"` @@ -221,12 +255,13 @@ func (o *ObservabilityPipelineSyslogNgDestination) UnmarshalJSON(bytes []byte) ( } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"id", "inputs", "keepalive", "tls", "type"}) + datadog.DeleteKeys(additionalProperties, &[]string{"buffer", "id", "inputs", "keepalive", "tls", "type"}) } else { return err } hasInvalidField := false + o.Buffer = all.Buffer o.Id = *all.Id o.Inputs = *all.Inputs o.Keepalive = all.Keepalive diff --git a/api/datadogV2/model_sensitive_data_scanner_rule_attributes.go b/api/datadogV2/model_sensitive_data_scanner_rule_attributes.go index 6b105440838..e64e1cfb2fb 100644 --- a/api/datadogV2/model_sensitive_data_scanner_rule_attributes.go +++ b/api/datadogV2/model_sensitive_data_scanner_rule_attributes.go @@ -30,6 +30,9 @@ type SensitiveDataScannerRuleAttributes struct { Pattern *string `json:"pattern,omitempty"` // Integer from 1 (high) to 5 (low) indicating rule issue severity. Priority *int64 `json:"priority,omitempty"` + // Object describing the suppressions for a rule. There are three types of suppressions, `starts_with`, `ends_with`, and `exact_match`. + // Suppressed matches are not obfuscated, counted in metrics, or displayed in the Findings page. + Suppressions *SensitiveDataScannerSuppressions `json:"suppressions,omitempty"` // List of tags. Tags []string `json:"tags,omitempty"` // Object describing how the scanned event will be replaced. @@ -280,6 +283,34 @@ func (o *SensitiveDataScannerRuleAttributes) SetPriority(v int64) { o.Priority = &v } +// GetSuppressions returns the Suppressions field value if set, zero value otherwise. +func (o *SensitiveDataScannerRuleAttributes) GetSuppressions() SensitiveDataScannerSuppressions { + if o == nil || o.Suppressions == nil { + var ret SensitiveDataScannerSuppressions + return ret + } + return *o.Suppressions +} + +// GetSuppressionsOk returns a tuple with the Suppressions field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *SensitiveDataScannerRuleAttributes) GetSuppressionsOk() (*SensitiveDataScannerSuppressions, bool) { + if o == nil || o.Suppressions == nil { + return nil, false + } + return o.Suppressions, true +} + +// HasSuppressions returns a boolean if a field has been set. +func (o *SensitiveDataScannerRuleAttributes) HasSuppressions() bool { + return o != nil && o.Suppressions != nil +} + +// SetSuppressions gets a reference to the given SensitiveDataScannerSuppressions and assigns it to the Suppressions field. +func (o *SensitiveDataScannerRuleAttributes) SetSuppressions(v SensitiveDataScannerSuppressions) { + o.Suppressions = &v +} + // GetTags returns the Tags field value if set, zero value otherwise. func (o *SensitiveDataScannerRuleAttributes) GetTags() []string { if o == nil || o.Tags == nil { @@ -366,6 +397,9 @@ func (o SensitiveDataScannerRuleAttributes) MarshalJSON() ([]byte, error) { if o.Priority != nil { toSerialize["priority"] = o.Priority } + if o.Suppressions != nil { + toSerialize["suppressions"] = o.Suppressions + } if o.Tags != nil { toSerialize["tags"] = o.Tags } @@ -390,6 +424,7 @@ func (o *SensitiveDataScannerRuleAttributes) UnmarshalJSON(bytes []byte) (err er Namespaces []string `json:"namespaces,omitempty"` Pattern *string `json:"pattern,omitempty"` Priority *int64 `json:"priority,omitempty"` + Suppressions *SensitiveDataScannerSuppressions `json:"suppressions,omitempty"` Tags []string `json:"tags,omitempty"` TextReplacement *SensitiveDataScannerTextReplacement `json:"text_replacement,omitempty"` }{} @@ -398,7 +433,7 @@ func (o *SensitiveDataScannerRuleAttributes) UnmarshalJSON(bytes []byte) (err er } additionalProperties := make(map[string]interface{}) if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { - datadog.DeleteKeys(additionalProperties, &[]string{"description", "excluded_namespaces", "included_keyword_configuration", "is_enabled", "name", "namespaces", "pattern", "priority", "tags", "text_replacement"}) + datadog.DeleteKeys(additionalProperties, &[]string{"description", "excluded_namespaces", "included_keyword_configuration", "is_enabled", "name", "namespaces", "pattern", "priority", "suppressions", "tags", "text_replacement"}) } else { return err } @@ -415,6 +450,10 @@ func (o *SensitiveDataScannerRuleAttributes) UnmarshalJSON(bytes []byte) (err er o.Namespaces = all.Namespaces o.Pattern = all.Pattern o.Priority = all.Priority + if all.Suppressions != nil && all.Suppressions.UnparsedObject != nil && o.UnparsedObject == nil { + hasInvalidField = true + } + o.Suppressions = all.Suppressions o.Tags = all.Tags if all.TextReplacement != nil && all.TextReplacement.UnparsedObject != nil && o.UnparsedObject == nil { hasInvalidField = true diff --git a/api/datadogV2/model_sensitive_data_scanner_suppressions.go b/api/datadogV2/model_sensitive_data_scanner_suppressions.go new file mode 100644 index 00000000000..81a40aad9d5 --- /dev/null +++ b/api/datadogV2/model_sensitive_data_scanner_suppressions.go @@ -0,0 +1,173 @@ +// 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 ( + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" +) + +// SensitiveDataScannerSuppressions Object describing the suppressions for a rule. There are three types of suppressions, `starts_with`, `ends_with`, and `exact_match`. +// Suppressed matches are not obfuscated, counted in metrics, or displayed in the Findings page. +type SensitiveDataScannerSuppressions struct { + // List of strings to use for suppression of matches ending with these strings. + EndsWith []string `json:"ends_with,omitempty"` + // List of strings to use for suppression of matches exactly matching these strings. + ExactMatch []string `json:"exact_match,omitempty"` + // List of strings to use for suppression of matches starting with these strings. + StartsWith []string `json:"starts_with,omitempty"` + // 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:"-"` +} + +// NewSensitiveDataScannerSuppressions instantiates a new SensitiveDataScannerSuppressions 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 NewSensitiveDataScannerSuppressions() *SensitiveDataScannerSuppressions { + this := SensitiveDataScannerSuppressions{} + return &this +} + +// NewSensitiveDataScannerSuppressionsWithDefaults instantiates a new SensitiveDataScannerSuppressions 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 NewSensitiveDataScannerSuppressionsWithDefaults() *SensitiveDataScannerSuppressions { + this := SensitiveDataScannerSuppressions{} + return &this +} + +// GetEndsWith returns the EndsWith field value if set, zero value otherwise. +func (o *SensitiveDataScannerSuppressions) GetEndsWith() []string { + if o == nil || o.EndsWith == nil { + var ret []string + return ret + } + return o.EndsWith +} + +// GetEndsWithOk returns a tuple with the EndsWith field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *SensitiveDataScannerSuppressions) GetEndsWithOk() (*[]string, bool) { + if o == nil || o.EndsWith == nil { + return nil, false + } + return &o.EndsWith, true +} + +// HasEndsWith returns a boolean if a field has been set. +func (o *SensitiveDataScannerSuppressions) HasEndsWith() bool { + return o != nil && o.EndsWith != nil +} + +// SetEndsWith gets a reference to the given []string and assigns it to the EndsWith field. +func (o *SensitiveDataScannerSuppressions) SetEndsWith(v []string) { + o.EndsWith = v +} + +// GetExactMatch returns the ExactMatch field value if set, zero value otherwise. +func (o *SensitiveDataScannerSuppressions) GetExactMatch() []string { + if o == nil || o.ExactMatch == nil { + var ret []string + return ret + } + return o.ExactMatch +} + +// GetExactMatchOk returns a tuple with the ExactMatch field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *SensitiveDataScannerSuppressions) GetExactMatchOk() (*[]string, bool) { + if o == nil || o.ExactMatch == nil { + return nil, false + } + return &o.ExactMatch, true +} + +// HasExactMatch returns a boolean if a field has been set. +func (o *SensitiveDataScannerSuppressions) HasExactMatch() bool { + return o != nil && o.ExactMatch != nil +} + +// SetExactMatch gets a reference to the given []string and assigns it to the ExactMatch field. +func (o *SensitiveDataScannerSuppressions) SetExactMatch(v []string) { + o.ExactMatch = v +} + +// GetStartsWith returns the StartsWith field value if set, zero value otherwise. +func (o *SensitiveDataScannerSuppressions) GetStartsWith() []string { + if o == nil || o.StartsWith == nil { + var ret []string + return ret + } + return o.StartsWith +} + +// GetStartsWithOk returns a tuple with the StartsWith field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *SensitiveDataScannerSuppressions) GetStartsWithOk() (*[]string, bool) { + if o == nil || o.StartsWith == nil { + return nil, false + } + return &o.StartsWith, true +} + +// HasStartsWith returns a boolean if a field has been set. +func (o *SensitiveDataScannerSuppressions) HasStartsWith() bool { + return o != nil && o.StartsWith != nil +} + +// SetStartsWith gets a reference to the given []string and assigns it to the StartsWith field. +func (o *SensitiveDataScannerSuppressions) SetStartsWith(v []string) { + o.StartsWith = v +} + +// MarshalJSON serializes the struct using spec logic. +func (o SensitiveDataScannerSuppressions) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.UnparsedObject != nil { + return datadog.Marshal(o.UnparsedObject) + } + if o.EndsWith != nil { + toSerialize["ends_with"] = o.EndsWith + } + if o.ExactMatch != nil { + toSerialize["exact_match"] = o.ExactMatch + } + if o.StartsWith != nil { + toSerialize["starts_with"] = o.StartsWith + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + return datadog.Marshal(toSerialize) +} + +// UnmarshalJSON deserializes the given payload. +func (o *SensitiveDataScannerSuppressions) UnmarshalJSON(bytes []byte) (err error) { + all := struct { + EndsWith []string `json:"ends_with,omitempty"` + ExactMatch []string `json:"exact_match,omitempty"` + StartsWith []string `json:"starts_with,omitempty"` + }{} + if err = datadog.Unmarshal(bytes, &all); err != nil { + return datadog.Unmarshal(bytes, &o.UnparsedObject) + } + additionalProperties := make(map[string]interface{}) + if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil { + datadog.DeleteKeys(additionalProperties, &[]string{"ends_with", "exact_match", "starts_with"}) + } else { + return err + } + o.EndsWith = all.EndsWith + o.ExactMatch = all.ExactMatch + o.StartsWith = all.StartsWith + + if len(additionalProperties) > 0 { + o.AdditionalProperties = additionalProperties + } + + return nil +} diff --git a/examples/v2/test-optimization/SearchFlakyTests.go b/examples/v2/test-optimization/SearchFlakyTests.go index 9a16fc3acbd..02bc6c91f98 100644 --- a/examples/v2/test-optimization/SearchFlakyTests.go +++ b/examples/v2/test-optimization/SearchFlakyTests.go @@ -19,6 +19,7 @@ func main() { Filter: &datadogV2.FlakyTestsSearchFilter{ Query: datadog.PtrString(`flaky_test_state:active @git.repository.id_v2:"github.com/datadog/shopist"`), }, + IncludeHistory: datadog.PtrBool(true), Page: &datadogV2.FlakyTestsSearchPageOptions{ Cursor: datadog.PtrString("eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="), Limit: datadog.PtrInt64(25), diff --git a/examples/v2/test-optimization/SearchFlakyTests_1224086727.go b/examples/v2/test-optimization/SearchFlakyTests_1224086727.go index 957e1267e6b..053808fd1bb 100644 --- a/examples/v2/test-optimization/SearchFlakyTests_1224086727.go +++ b/examples/v2/test-optimization/SearchFlakyTests_1224086727.go @@ -19,6 +19,7 @@ func main() { Filter: &datadogV2.FlakyTestsSearchFilter{ Query: datadog.PtrString(`flaky_test_state:active @git.repository.id_v2:"github.com/datadog/shopist"`), }, + IncludeHistory: datadog.PtrBool(true), Page: &datadogV2.FlakyTestsSearchPageOptions{ Cursor: datadog.PtrString("eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="), Limit: datadog.PtrInt64(25), diff --git a/examples/v2/test-optimization/SearchFlakyTests_209064879.go b/examples/v2/test-optimization/SearchFlakyTests_209064879.go new file mode 100644 index 00000000000..226f34ba41a --- /dev/null +++ b/examples/v2/test-optimization/SearchFlakyTests_209064879.go @@ -0,0 +1,45 @@ +// Search flaky tests returns "OK" response with history + +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.FlakyTestsSearchRequest{ + Data: &datadogV2.FlakyTestsSearchRequestData{ + Attributes: &datadogV2.FlakyTestsSearchRequestAttributes{ + Filter: &datadogV2.FlakyTestsSearchFilter{ + Query: datadog.PtrString(`flaky_test_state:active @git.repository.id_v2:"github.com/datadog/shopist"`), + }, + Page: &datadogV2.FlakyTestsSearchPageOptions{ + Limit: datadog.PtrInt64(10), + }, + Sort: datadogV2.FLAKYTESTSSEARCHSORT_FQN_ASCENDING.Ptr(), + IncludeHistory: datadog.PtrBool(true), + }, + Type: datadogV2.FLAKYTESTSSEARCHREQUESTDATATYPE_SEARCH_FLAKY_TESTS_REQUEST.Ptr(), + }, + } + ctx := datadog.NewDefaultContext(context.Background()) + configuration := datadog.NewConfiguration() + configuration.SetUnstableOperationEnabled("v2.SearchFlakyTests", true) + apiClient := datadog.NewAPIClient(configuration) + api := datadogV2.NewTestOptimizationApi(apiClient) + resp, r, err := api.SearchFlakyTests(ctx, *datadogV2.NewSearchFlakyTestsOptionalParameters().WithBody(body)) + + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `TestOptimizationApi.SearchFlakyTests`: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + + responseContent, _ := json.MarshalIndent(resp, "", " ") + fmt.Fprintf(os.Stdout, "Response from `TestOptimizationApi.SearchFlakyTests`:\n%s\n", responseContent) +} diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Group_returns_OK_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Group_returns_OK_response.freeze index ea87314c859..c2c397eabd2 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Group_returns_OK_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Group_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:03.221Z \ No newline at end of file +2026-02-04T15:35:09.418Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Group_returns_OK_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Group_returns_OK_response.yaml index 90648f9a034..2d83fbc1015 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Group_returns_OK_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Group_returns_OK_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":277985}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286461}}' code: 200 duration: 0ms headers: @@ -18,7 +18,7 @@ interactions: status: 200 OK - request: body: | - {"data":{"attributes":{"filter":{"query":"*"},"is_enabled":false,"name":"Test-Create_Scanning_Group_returns_OK_response-1768828263","product_list":["logs"]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},"meta":{}} + {"data":{"attributes":{"filter":{"query":"*"},"is_enabled":false,"name":"Test-Create_Scanning_Group_returns_OK_response-1770219309","product_list":["logs"]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},"meta":{}} form: {} headers: Accept: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"b9c899da-45e7-47d6-ae95-8372577923e5","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Create_Scanning_Group_returns_OK_response-1768828263","product_list":["logs"],"samplings":[]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":277986}}' + body: '{"data":{"id":"693599bb-8eee-4c5a-89a8-5ee9b89d9aff","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Test-Create_Scanning_Group_returns_OK_response-1770219309","product_list":["logs"],"samplings":[]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286461,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -47,9 +47,9 @@ interactions: - application/json id: 2 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/b9c899da-45e7-47d6-ae95-8372577923e5 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/693599bb-8eee-4c5a-89a8-5ee9b89d9aff response: - body: '{"meta":{"version":277987}}' + body: '{"meta":{"version":286463}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_Bad_Request_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_Bad_Request_response.freeze index 36c0a722429..33530e0ca57 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_Bad_Request_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_Bad_Request_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:04.324Z \ No newline at end of file +2026-02-04T15:35:10.455Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_Bad_Request_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_Bad_Request_response.yaml index cf3f7b59bc9..6d07fa2ed73 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_Bad_Request_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_Bad_Request_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":277987}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286463}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"bd80b15d-a3e1-4e4a-af44-ae29bf8816f8","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":277988}}' + body: '{"data":{"id":"779da6c9-c6e5-4103-836a-9f9b6cd45991","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286463,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -38,7 +38,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"attributes":{"is_enabled":true,"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"bd80b15d-a3e1-4e4a-af44-ae29bf8816f8","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} + {"data":{"attributes":{"is_enabled":true,"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"779da6c9-c6e5-4103-836a-9f9b6cd45991","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} form: {} headers: Accept: @@ -67,9 +67,9 @@ interactions: - application/json id: 3 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/bd80b15d-a3e1-4e4a-af44-ae29bf8816f8 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/779da6c9-c6e5-4103-836a-9f9b6cd45991 response: - body: '{"meta":{"version":277989}}' + body: '{"meta":{"version":286465}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_OK_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_OK_response.freeze index 54eb686bb7c..aef7fffbfaf 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_OK_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:06.289Z \ No newline at end of file +2026-02-04T15:35:12.357Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_OK_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_OK_response.yaml index 737937f539e..1bfd25c01e4 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_OK_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_returns_OK_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":277989}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286465}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"e08a29f3-f7b2-4e32-af1f-f19ece1a12b3","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":277990}}' + body: '{"data":{"id":"f0288bc7-4f14-43bf-8f51-c0914df1d182","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286465,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -38,7 +38,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"attributes":{"excluded_namespaces":["admin.name"],"included_keyword_configuration":{"character_count":35,"keywords":["credit card"]},"is_enabled":true,"name":"Test-Create_Scanning_Rule_returns_OK_response-1768828266","namespaces":["admin"],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"e08a29f3-f7b2-4e32-af1f-f19ece1a12b3","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} + {"data":{"attributes":{"excluded_namespaces":["admin.name"],"included_keyword_configuration":{"character_count":35,"keywords":["credit card"]},"is_enabled":true,"name":"Test-Create_Scanning_Rule_returns_OK_response-1770219312","namespaces":["admin"],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"f0288bc7-4f14-43bf-8f51-c0914df1d182","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} form: {} headers: Accept: @@ -49,8 +49,8 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: - body: '{"data":{"id":"b86c065a-c185-41b7-a24b-718480129c1a","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":["admin.name"],"included_keyword_configuration":{"keywords":["credit - card"],"character_count":35},"is_enabled":true,"labels":[],"name":"Test-Create_Scanning_Rule_returns_OK_response-1768828266","namespaces":["admin"],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"e08a29f3-f7b2-4e32-af1f-f19ece1a12b3","type":"sensitive_data_scanner_group"}}}},"meta":{"version":277991}}' + body: '{"data":{"id":"b14f367d-9a45-4ced-b475-7384f7dba78c","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":["admin.name"],"included_keyword_configuration":{"keywords":["credit + card"],"character_count":35},"is_enabled":true,"labels":[],"name":"Test-Create_Scanning_Rule_returns_OK_response-1770219312","namespaces":["admin"],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"f0288bc7-4f14-43bf-8f51-c0914df1d182","type":"sensitive_data_scanner_group"}}}},"meta":{"version":286467}}' code: 201 duration: 0ms headers: @@ -68,9 +68,9 @@ interactions: - application/json id: 3 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/b86c065a-c185-41b7-a24b-718480129c1a + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/b14f367d-9a45-4ced-b475-7384f7dba78c response: - body: '{"meta":{"version":277992}}' + body: '{"meta":{"version":286468}}' code: 200 duration: 0ms headers: @@ -88,9 +88,9 @@ interactions: - application/json id: 4 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/e08a29f3-f7b2-4e32-af1f-f19ece1a12b3 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/f0288bc7-4f14-43bf-8f51-c0914df1d182 response: - body: '{"meta":{"version":277993}}' + body: '{"meta":{"version":286469}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_with_should_save_match_returns_OK_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_with_should_save_match_returns_OK_response.freeze index 27127dc5de8..7511e30a77b 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_with_should_save_match_returns_OK_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_with_should_save_match_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:08.516Z \ No newline at end of file +2026-02-04T15:35:14.554Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_with_should_save_match_returns_OK_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_with_should_save_match_returns_OK_response.yaml index b783b5280ff..adb7bb032bf 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_with_should_save_match_returns_OK_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Create_Scanning_Rule_with_should_save_match_returns_OK_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":277993}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286469}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"966a1ab3-056d-4af9-a205-68e570e54c85","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":277994}}' + body: '{"data":{"id":"65a06c42-397f-41ea-8105-fb3d605543f7","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286469,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -38,7 +38,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"attributes":{"is_enabled":true,"name":"Test-Create_Scanning_Rule_with_should_save_match_returns_OK_response-1768828268","pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"replacement_string":"REDACTED","should_save_match":true,"type":"replacement_string"}},"relationships":{"group":{"data":{"id":"966a1ab3-056d-4af9-a205-68e570e54c85","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} + {"data":{"attributes":{"is_enabled":true,"name":"Test-Create_Scanning_Rule_with_should_save_match_returns_OK_response-1770219314","pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"replacement_string":"REDACTED","should_save_match":true,"type":"replacement_string"}},"relationships":{"group":{"data":{"id":"65a06c42-397f-41ea-8105-fb3d605543f7","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} form: {} headers: Accept: @@ -49,7 +49,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: - body: '{"data":{"id":"55dfd131-7ae1-4021-be59-4e4824eccc6f","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Create_Scanning_Rule_with_should_save_match_returns_OK_response-1768828268","namespaces":[],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"replacement_string","replacement_string":"REDACTED","should_save_match":true}},"relationships":{"group":{"data":{"id":"966a1ab3-056d-4af9-a205-68e570e54c85","type":"sensitive_data_scanner_group"}}}},"meta":{"version":277995}}' + body: '{"data":{"id":"1d0d0631-4bf6-4b68-974b-5773f91a754b","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Create_Scanning_Rule_with_should_save_match_returns_OK_response-1770219314","namespaces":[],"pattern":"pattern","priority":1,"tags":["sensitive_data:true"],"text_replacement":{"type":"replacement_string","replacement_string":"REDACTED","should_save_match":true}},"relationships":{"group":{"data":{"id":"65a06c42-397f-41ea-8105-fb3d605543f7","type":"sensitive_data_scanner_group"}}}},"meta":{"version":286471}}' code: 201 duration: 0ms headers: @@ -67,9 +67,9 @@ interactions: - application/json id: 3 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/55dfd131-7ae1-4021-be59-4e4824eccc6f + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/1d0d0631-4bf6-4b68-974b-5773f91a754b response: - body: '{"meta":{"version":277996}}' + body: '{"meta":{"version":286472}}' code: 200 duration: 0ms headers: @@ -87,9 +87,9 @@ interactions: - application/json id: 4 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/966a1ab3-056d-4af9-a205-68e570e54c85 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/65a06c42-397f-41ea-8105-fb3d605543f7 response: - body: '{"meta":{"version":277997}}' + body: '{"meta":{"version":286473}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Group_returns_OK_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Group_returns_OK_response.freeze index a788485a28c..914f697d04b 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Group_returns_OK_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Group_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:10.959Z \ No newline at end of file +2026-02-04T15:35:16.741Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Group_returns_OK_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Group_returns_OK_response.yaml index 136791558e2..429995ad41b 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Group_returns_OK_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Group_returns_OK_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":277997}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286473}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"80bca3a7-5ddc-4e3e-a56f-4cefe4352897","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":277998}}' + body: '{"data":{"id":"22cb8bb1-77c1-465a-9aea-2c97b2b05feb","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286473,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -47,9 +47,9 @@ interactions: - application/json id: 2 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/80bca3a7-5ddc-4e3e-a56f-4cefe4352897 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/22cb8bb1-77c1-465a-9aea-2c97b2b05feb response: - body: '{"meta":{"version":277999}}' + body: '{"meta":{"version":286475}}' code: 200 duration: 0ms headers: @@ -67,7 +67,7 @@ interactions: - application/json id: 3 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/80bca3a7-5ddc-4e3e-a56f-4cefe4352897 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/22cb8bb1-77c1-465a-9aea-2c97b2b05feb response: body: '{"errors":[{"status":"404","code":"Not Found","title":"Not Found","detail":"scanning group could not be found"}]}' diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Rule_returns_OK_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Rule_returns_OK_response.freeze index d127bf52e6d..d7a52b210f5 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Rule_returns_OK_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Rule_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:12.858Z \ No newline at end of file +2026-02-04T15:35:18.579Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Rule_returns_OK_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Rule_returns_OK_response.yaml index 1e4dc08884f..0a2a1c87205 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Rule_returns_OK_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Delete_Scanning_Rule_returns_OK_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":277999}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286475}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"3a1a28eb-b310-4160-a442-3641c9dbc6cd","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":278000}}' + body: '{"data":{"id":"9f3b9b44-45ea-4bb7-ae4d-5e8d3703c86e","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286475,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -38,7 +38,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"attributes":{"is_enabled":true,"name":"Test-Delete_Scanning_Rule_returns_OK_response-1768828272","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"3a1a28eb-b310-4160-a442-3641c9dbc6cd","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} + {"data":{"attributes":{"is_enabled":true,"name":"Test-Delete_Scanning_Rule_returns_OK_response-1770219318","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"9f3b9b44-45ea-4bb7-ae4d-5e8d3703c86e","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} form: {} headers: Accept: @@ -49,7 +49,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: - body: '{"data":{"id":"6aed2005-0134-49ec-93f2-5c5e8eeb92d0","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Delete_Scanning_Rule_returns_OK_response-1768828272","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"3a1a28eb-b310-4160-a442-3641c9dbc6cd","type":"sensitive_data_scanner_group"}}}},"meta":{"version":278001}}' + body: '{"data":{"id":"2346c8b6-25a9-404a-83b0-a41f9a01c39b","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Delete_Scanning_Rule_returns_OK_response-1770219318","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"9f3b9b44-45ea-4bb7-ae4d-5e8d3703c86e","type":"sensitive_data_scanner_group"}}}},"meta":{"version":286477}}' code: 201 duration: 0ms headers: @@ -67,9 +67,9 @@ interactions: - application/json id: 3 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/6aed2005-0134-49ec-93f2-5c5e8eeb92d0 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/2346c8b6-25a9-404a-83b0-a41f9a01c39b response: - body: '{"meta":{"version":278002}}' + body: '{"meta":{"version":286478}}' code: 200 duration: 0ms headers: @@ -87,7 +87,7 @@ interactions: - application/json id: 4 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/6aed2005-0134-49ec-93f2-5c5e8eeb92d0 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/2346c8b6-25a9-404a-83b0-a41f9a01c39b response: body: '{"errors":[{"status":"404","code":"Not Found","title":"Not Found","detail":"scanning rule could not be found"}]}' @@ -108,9 +108,9 @@ interactions: - application/json id: 5 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/3a1a28eb-b310-4160-a442-3641c9dbc6cd + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/9f3b9b44-45ea-4bb7-ae4d-5e8d3703c86e response: - body: '{"meta":{"version":278003}}' + body: '{"meta":{"version":286479}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_List_Scanning_Groups_returns_OK_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_List_Scanning_Groups_returns_OK_response.freeze index 29c952c646e..d65e54d2650 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_List_Scanning_Groups_returns_OK_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_List_Scanning_Groups_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:15.597Z \ No newline at end of file +2026-02-04T15:35:21.683Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_List_Scanning_Groups_returns_OK_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_List_Scanning_Groups_returns_OK_response.yaml index 35e0835f11f..4fec2f13030 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_List_Scanning_Groups_returns_OK_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_List_Scanning_Groups_returns_OK_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":278003}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286479}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"c0df76e1-ba56-4c93-a655-d97fbca1c35b","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":278004}}' + body: '{"data":{"id":"6e70d6cf-e0cc-4c78-b57c-542d26dec9ac","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286479,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -46,7 +46,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"c0df76e1-ba56-4c93-a655-d97fbca1c35b","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"c0df76e1-ba56-4c93-a655-d97fbca1c35b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":278004}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"},{"id":"6e70d6cf-e0cc-4c78-b57c-542d26dec9ac","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"id":"6e70d6cf-e0cc-4c78-b57c-542d26dec9ac","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286480}}' code: 200 duration: 0ms headers: @@ -64,9 +64,9 @@ interactions: - application/json id: 3 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/c0df76e1-ba56-4c93-a655-d97fbca1c35b + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/6e70d6cf-e0cc-4c78-b57c-542d26dec9ac response: - body: '{"meta":{"version":278005}}' + body: '{"meta":{"version":286481}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Reorder_Groups_returns_Bad_Request_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Reorder_Groups_returns_Bad_Request_response.freeze index 840c910bafa..e23ea519304 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Reorder_Groups_returns_Bad_Request_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Reorder_Groups_returns_Bad_Request_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:17.545Z \ No newline at end of file +2026-02-04T15:35:25.335Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Reorder_Groups_returns_Bad_Request_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Reorder_Groups_returns_Bad_Request_response.yaml index 6f005c76173..9bbaa05a84d 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Reorder_Groups_returns_Bad_Request_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Reorder_Groups_returns_Bad_Request_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":278005}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286481}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"0558174c-d6af-4846-8954-35785f06837e","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":278006}}' + body: '{"data":{"id":"c8d07dad-d210-4fae-9678-3cb0c16394aa","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286481,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -38,7 +38,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"Test-Reorder_Groups_returns_Bad_Request_response-1768828277","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"meta":{}} + {"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"Test-Reorder_Groups_returns_Bad_Request_response-1770219325","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"meta":{}} form: {} headers: Accept: @@ -49,8 +49,8 @@ interactions: method: PATCH url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"errors":[{"status":"400","title":"Bad Request","detail":"invalid_argument(Scanning - group IDs to reorder do not match current group IDs)"}]}' + body: '{"errors":[{"status":"400","title":"Invalid input","detail":"The number + of groups in the request should be the same as the number of groups in the configuration"}]}' code: 400 duration: 0ms headers: @@ -68,9 +68,9 @@ interactions: - application/json id: 3 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/0558174c-d6af-4846-8954-35785f06837e + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/c8d07dad-d210-4fae-9678-3cb0c16394aa response: - body: '{"meta":{"version":278007}}' + body: '{"meta":{"version":286483}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Group_returns_OK_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Group_returns_OK_response.freeze index acb225bd527..9fc34d39ed2 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Group_returns_OK_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Group_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:21.712Z \ No newline at end of file +2026-02-04T15:35:27.122Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Group_returns_OK_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Group_returns_OK_response.yaml index 21d07ebe99c..c44014ce776 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Group_returns_OK_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Group_returns_OK_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":278010}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286483}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"1fd9bd81-fd37-4aeb-b194-fd8ba909850b","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":278011}}' + body: '{"data":{"id":"cf51218a-1bb1-432c-8f94-b7918047fe28","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286483,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -38,7 +38,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"attributes":{"filter":{"query":"*"},"is_enabled":false,"name":"Test-Update_Scanning_Group_returns_OK_response-1768828281","product_list":["logs"]},"id":"1fd9bd81-fd37-4aeb-b194-fd8ba909850b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},"meta":{}} + {"data":{"attributes":{"filter":{"query":"*"},"is_enabled":false,"name":"Test-Update_Scanning_Group_returns_OK_response-1770219327","product_list":["logs"]},"id":"cf51218a-1bb1-432c-8f94-b7918047fe28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},"meta":{}} form: {} headers: Accept: @@ -47,9 +47,9 @@ interactions: - application/json id: 2 method: PATCH - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/1fd9bd81-fd37-4aeb-b194-fd8ba909850b + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/cf51218a-1bb1-432c-8f94-b7918047fe28 response: - body: '{"meta":{"version":278012}}' + body: '{"meta":{"version":286485}}' code: 200 duration: 0ms headers: @@ -67,9 +67,9 @@ interactions: - application/json id: 3 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/1fd9bd81-fd37-4aeb-b194-fd8ba909850b + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/cf51218a-1bb1-432c-8f94-b7918047fe28 response: - body: '{"meta":{"version":278013}}' + body: '{"meta":{"version":286486}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_Bad_Request_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_Bad_Request_response.freeze index 1d88391dc54..217ffadddb7 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_Bad_Request_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_Bad_Request_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:23.526Z \ No newline at end of file +2026-02-04T15:35:28.928Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_Bad_Request_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_Bad_Request_response.yaml index 0cbeb8df369..cbce852ba9b 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_Bad_Request_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_Bad_Request_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":278013}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286486}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"87305833-8ff5-46ee-a5ff-53706a123088","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":278014}}' + body: '{"data":{"id":"63096684-44d0-42f1-8471-0d004ea9afa7","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286486,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -38,7 +38,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1768828283","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"87305833-8ff5-46ee-a5ff-53706a123088","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} + {"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1770219328","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"63096684-44d0-42f1-8471-0d004ea9afa7","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} form: {} headers: Accept: @@ -49,7 +49,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: - body: '{"data":{"id":"d66bec9f-9df8-4142-b437-86d372e52bab","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1768828283","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"87305833-8ff5-46ee-a5ff-53706a123088","type":"sensitive_data_scanner_group"}}}},"meta":{"version":278015}}' + body: '{"data":{"id":"d2d9ec28-02ab-4256-bca0-b55e70131915","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1770219328","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"63096684-44d0-42f1-8471-0d004ea9afa7","type":"sensitive_data_scanner_group"}}}},"meta":{"version":286488}}' code: 201 duration: 0ms headers: @@ -58,7 +58,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1768828283","pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"87305833-8ff5-46ee-a5ff-53706a123088","type":"sensitive_data_scanner_group"}}}},"meta":{}} + {"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_Bad_Request_response-1770219328","pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"63096684-44d0-42f1-8471-0d004ea9afa7","type":"sensitive_data_scanner_group"}}}},"meta":{}} form: {} headers: Accept: @@ -67,7 +67,7 @@ interactions: - application/json id: 3 method: PATCH - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/d66bec9f-9df8-4142-b437-86d372e52bab + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/d2d9ec28-02ab-4256-bca0-b55e70131915 response: body: '{"errors":[{"status":"400","title":"Bad Request","detail":"got type \"\" expected one of \"sensitive_data_scanner_rule\""}]}' @@ -88,9 +88,9 @@ interactions: - application/json id: 4 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/d66bec9f-9df8-4142-b437-86d372e52bab + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/d2d9ec28-02ab-4256-bca0-b55e70131915 response: - body: '{"meta":{"version":278016}}' + body: '{"meta":{"version":286489}}' code: 200 duration: 0ms headers: @@ -108,9 +108,9 @@ interactions: - application/json id: 5 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/87305833-8ff5-46ee-a5ff-53706a123088 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/63096684-44d0-42f1-8471-0d004ea9afa7 response: - body: '{"meta":{"version":278017}}' + body: '{"meta":{"version":286490}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_OK_response.freeze b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_OK_response.freeze index 8842dc3c7f3..352dab9932b 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_OK_response.freeze +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-19T13:11:26.353Z \ No newline at end of file +2026-02-04T15:35:31.594Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_OK_response.yaml b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_OK_response.yaml index acd03810127..17990d07fc9 100644 --- a/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_OK_response.yaml +++ b/tests/scenarios/cassettes/TestScenarios/v2/Feature_Sensitive_Data_Scanner/Scenario_Update_Scanning_Rule_returns_OK_response.yaml @@ -9,7 +9,7 @@ interactions: method: GET url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config response: - body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[]}},"type":"sensitive_data_scanner_configuration"},"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":278017}}' + body: '{"data":{"attributes":{},"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","relationships":{"groups":{"data":[{"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","type":"sensitive_data_scanner_group"},{"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","type":"sensitive_data_scanner_group"},{"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","type":"sensitive_data_scanner_group"},{"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","type":"sensitive_data_scanner_group"},{"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","type":"sensitive_data_scanner_group"},{"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","type":"sensitive_data_scanner_group"},{"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","type":"sensitive_data_scanner_group"},{"id":"5ea46624-4909-401e-8a99-492d916d493e","type":"sensitive_data_scanner_group"},{"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","type":"sensitive_data_scanner_group"},{"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","type":"sensitive_data_scanner_group"},{"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","type":"sensitive_data_scanner_group"},{"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","type":"sensitive_data_scanner_group"},{"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","type":"sensitive_data_scanner_group"},{"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","type":"sensitive_data_scanner_group"},{"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","type":"sensitive_data_scanner_group"},{"id":"61fb1574-8541-4e67-96eb-099c6b81f159","type":"sensitive_data_scanner_group"},{"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","type":"sensitive_data_scanner_group"},{"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","type":"sensitive_data_scanner_group"},{"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","type":"sensitive_data_scanner_group"}]}},"type":"sensitive_data_scanner_configuration"},"included":[{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"40f36cf1-dc37-46fd-a4df-93d55971f6c3","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"8b25277f-4192-4079-88b9-be2d39c2a5a9","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"6b02bc6f-1588-433d-8a5d-fab867ac386d","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"99cae8b0-3cd0-4fc8-88ba-501c8ae5c8bb","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769279092","product_list":["logs"],"samplings":[]},"id":"14fa0ce6-9e1c-4570-87ec-c3d42122166e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"e83cca8a-afe8-4012-92c9-b70a3ca72483","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"fa845597-18b7-41d1-88c3-c9f0e5ccc107","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"5ea46624-4909-401e-8a99-492d916d493e","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"1b1c8fb7-2564-475e-af6f-3d1b4e740137","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769293492","product_list":["logs"],"samplings":[]},"id":"38acc1c6-416d-4dcd-bf13-d0c9ef189c28","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"75dc5014-bafb-4e6f-bee1-c5eed459ae87","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"478f26b5-06a5-4a2f-abfc-34a4c723ca00","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"49f14d2d-c39f-4b7d-9c1a-faebeca167ca","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"aed4eaf2-8223-4922-b7be-d14f719c41b4","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769307892","product_list":["logs"],"samplings":[]},"id":"bcc8bd1a-5e67-40c7-9c8c-44318df2f5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"61fb1574-8541-4e67-96eb-099c6b81f159","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769322292","product_list":["logs"],"samplings":[]},"id":"414d38df-0daa-4d10-ac56-faf07e1fa67b","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769336692","product_list":["logs"],"samplings":[]},"id":"e1dd1a1d-7a06-4502-96c8-331b8da25927","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"},{"attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"Example-Create_Scanning_Group_returns_OK_response_1769495092","product_list":["logs"],"samplings":[]},"id":"cd20f1cf-6f14-4967-9794-f28f08ddb5a5","relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}},"type":"sensitive_data_scanner_group"}],"meta":{"count_limit":500,"group_count_limit":20,"has_cascading_enabled":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"is_pci_compliant":false,"min_sampling_rate":10,"rule_count_limit":500,"version":286490}}' code: 200 duration: 0ms headers: @@ -29,7 +29,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups response: - body: '{"data":{"id":"3ad08396-bb28-49b6-bb0b-3743eec0b822","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"version":278018}}' + body: '{"data":{"id":"9cf4b0d5-3e8d-435b-8a5b-ba0063cd336c","type":"sensitive_data_scanner_group","attributes":{"description":"","filter":{"query":"*"},"is_enabled":false,"name":"my-test-group","product_list":["logs"],"samplings":[{"product":"logs","rate":100}]},"relationships":{"configuration":{"data":{"id":"7957915c634d4dcb581fa154157f5ad9c2947f50be632fb5599862069f4d2d87","type":"sensitive_data_scanner_configuration"}},"rules":{"data":[]}}},"meta":{"group_count_limit":20,"rule_count_limit":500,"is_pci_compliant":false,"has_highlight_enabled":true,"has_multi_pass_enabled":true,"has_cascading_enabled":false,"is_configuration_superseded":false,"is_float_sampling_rate_enabled":false,"min_sampling_rate":10,"version":286490,"count_limit":500}}' code: 201 duration: 0ms headers: @@ -38,7 +38,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_OK_response-1768828286","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"3ad08396-bb28-49b6-bb0b-3743eec0b822","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} + {"data":{"attributes":{"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_OK_response-1770219331","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"9cf4b0d5-3e8d-435b-8a5b-ba0063cd336c","type":"sensitive_data_scanner_group"}}},"type":"sensitive_data_scanner_rule"},"meta":{}} form: {} headers: Accept: @@ -49,7 +49,7 @@ interactions: method: POST url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules response: - body: '{"data":{"id":"ab1051c8-0c7a-4974-b994-4f850b8f0306","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Update_Scanning_Rule_returns_OK_response-1768828286","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"3ad08396-bb28-49b6-bb0b-3743eec0b822","type":"sensitive_data_scanner_group"}}}},"meta":{"version":278019}}' + body: '{"data":{"id":"9ce36dfc-4eb8-4710-8df0-d42bf008d7fb","type":"sensitive_data_scanner_rule","attributes":{"excluded_namespaces":[],"is_enabled":true,"labels":[],"name":"Test-Update_Scanning_Rule_returns_OK_response-1770219331","namespaces":["admin.email"],"pattern":"pattern","tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"relationships":{"group":{"data":{"id":"9cf4b0d5-3e8d-435b-8a5b-ba0063cd336c","type":"sensitive_data_scanner_group"}}}},"meta":{"version":286492}}' code: 201 duration: 0ms headers: @@ -58,7 +58,7 @@ interactions: status: 201 Created - request: body: | - {"data":{"attributes":{"included_keyword_configuration":{"character_count":35,"keywords":["credit card","cc"]},"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_OK_response-1768828286","pattern":"pattern","priority":5,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"id":"ab1051c8-0c7a-4974-b994-4f850b8f0306","type":"sensitive_data_scanner_rule"},"meta":{}} + {"data":{"attributes":{"included_keyword_configuration":{"character_count":35,"keywords":["credit card","cc"]},"is_enabled":true,"name":"Test-Update_Scanning_Rule_returns_OK_response-1770219331","pattern":"pattern","priority":5,"tags":["sensitive_data:true"],"text_replacement":{"type":"none"}},"id":"9ce36dfc-4eb8-4710-8df0-d42bf008d7fb","type":"sensitive_data_scanner_rule"},"meta":{}} form: {} headers: Accept: @@ -67,9 +67,9 @@ interactions: - application/json id: 3 method: PATCH - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/ab1051c8-0c7a-4974-b994-4f850b8f0306 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/9ce36dfc-4eb8-4710-8df0-d42bf008d7fb response: - body: '{"meta":{"version":278020}}' + body: '{"meta":{"version":286493}}' code: 200 duration: 0ms headers: @@ -87,9 +87,9 @@ interactions: - application/json id: 4 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/ab1051c8-0c7a-4974-b994-4f850b8f0306 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/rules/9ce36dfc-4eb8-4710-8df0-d42bf008d7fb response: - body: '{"meta":{"version":278021}}' + body: '{"meta":{"version":286494}}' code: 200 duration: 0ms headers: @@ -107,9 +107,9 @@ interactions: - application/json id: 5 method: DELETE - url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/3ad08396-bb28-49b6-bb0b-3743eec0b822 + url: https://api.datadoghq.com/api/v2/sensitive-data-scanner/config/groups/9cf4b0d5-3e8d-435b-8a5b-ba0063cd336c response: - body: '{"meta":{"version":278022}}' + body: '{"meta":{"version":286495}}' code: 200 duration: 0ms headers: diff --git a/tests/scenarios/features/v2/sensitive_data_scanner.feature b/tests/scenarios/features/v2/sensitive_data_scanner.feature index d4b0d41f827..d439e16daa2 100644 --- a/tests/scenarios/features/v2/sensitive_data_scanner.feature +++ b/tests/scenarios/features/v2/sensitive_data_scanner.feature @@ -201,7 +201,7 @@ Feature: Sensitive Data Scanner Scenario: Update Scanning Rule returns "Not Found" response Given new "UpdateScanningRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"excluded_namespaces": ["admin.name"], "included_keyword_configuration": {"character_count": 30, "keywords": ["credit card", "cc"]}, "namespaces": ["admin"], "tags": [], "text_replacement": {"type": "none"}}, "relationships": {"group": {"data": {"type": "sensitive_data_scanner_group"}}, "standard_pattern": {"data": {"type": "sensitive_data_scanner_standard_pattern"}}}, "type": "sensitive_data_scanner_rule"}, "meta": {"version": 0}} + And body with value {"data": {"attributes": {"excluded_namespaces": ["admin.name"], "included_keyword_configuration": {"character_count": 30, "keywords": ["email", "address", "login"]}, "namespaces": ["admin"], "suppressions": {"ends_with": ["@example.com", "another.example.com"], "exact_match": ["admin@example.com", "user@example.com"], "starts_with": ["admin", "user"]}, "tags": [], "text_replacement": {"type": "none"}}, "relationships": {"group": {"data": {"type": "sensitive_data_scanner_group"}}, "standard_pattern": {"data": {"type": "sensitive_data_scanner_standard_pattern"}}}, "type": "sensitive_data_scanner_rule"}, "meta": {"version": 0}} When the request is sent Then the response status is 404 Not Found diff --git a/tests/scenarios/features/v2/test_optimization.feature b/tests/scenarios/features/v2/test_optimization.feature index d21278d7646..bbf7d87075e 100644 --- a/tests/scenarios/features/v2/test_optimization.feature +++ b/tests/scenarios/features/v2/test_optimization.feature @@ -13,7 +13,7 @@ Feature: Test Optimization Scenario: Search flaky tests returns "Bad Request" response Given operation "SearchFlakyTests" enabled And new "SearchFlakyTests" request - And body with value {"data": {"attributes": {"filter": {"query": "flaky_test_state:active @git.repository.id_v2:\"github.com/datadog/shopist\""}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "failure_rate"}, "type": "search_flaky_tests_request"}} + And body with value {"data": {"attributes": {"filter": {"query": "flaky_test_state:active @git.repository.id_v2:\"github.com/datadog/shopist\""}, "include_history": true, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "failure_rate"}, "type": "search_flaky_tests_request"}} When the request is sent Then the response status is 400 Bad Request @@ -29,7 +29,7 @@ Feature: Test Optimization Scenario: Search flaky tests returns "OK" response Given operation "SearchFlakyTests" enabled And new "SearchFlakyTests" request - And body with value {"data": {"attributes": {"filter": {"query": "flaky_test_state:active @git.repository.id_v2:\"github.com/datadog/shopist\""}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "failure_rate"}, "type": "search_flaky_tests_request"}} + And body with value {"data": {"attributes": {"filter": {"query": "flaky_test_state:active @git.repository.id_v2:\"github.com/datadog/shopist\""}, "include_history": true, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "failure_rate"}, "type": "search_flaky_tests_request"}} When the request is sent Then the response status is 200 OK @@ -41,11 +41,23 @@ Feature: Test Optimization When the request with pagination is sent Then the response status is 200 OK + @skip @team:DataDog/ci-app-backend + Scenario: Search flaky tests returns "OK" response with history + Given operation "SearchFlakyTests" enabled + And new "SearchFlakyTests" request + And body with value {"data": {"attributes": {"filter": {"query": "flaky_test_state:active @git.repository.id_v2:\"github.com/datadog/shopist\""}, "page": {"limit": 10}, "sort": "fqn", "include_history": true}, "type": "search_flaky_tests_request"}} + When the request is sent + Then the response status is 200 OK + And the response "data[0].attributes" has field "history" + And the response "data[0].attributes.history[0]" has field "status" + And the response "data[0].attributes.history[0]" has field "commit_sha" + And the response "data[0].attributes.history[0]" has field "timestamp" + @generated @skip @team:DataDog/ci-app-backend @with-pagination Scenario: Search flaky tests returns "OK" response with pagination Given operation "SearchFlakyTests" enabled And new "SearchFlakyTests" request - And body with value {"data": {"attributes": {"filter": {"query": "flaky_test_state:active @git.repository.id_v2:\"github.com/datadog/shopist\""}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "failure_rate"}, "type": "search_flaky_tests_request"}} + And body with value {"data": {"attributes": {"filter": {"query": "flaky_test_state:active @git.repository.id_v2:\"github.com/datadog/shopist\""}, "include_history": true, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "failure_rate"}, "type": "search_flaky_tests_request"}} When the request with pagination is sent Then the response status is 200 OK