diff --git a/.generated-info b/.generated-info index f029dbd2d2c..2cc36a5edc0 100644 --- a/.generated-info +++ b/.generated-info @@ -1,4 +1,4 @@ { - "spec_repo_commit": "4727afe", - "generated": "2025-07-23 15:38:09.593" + "spec_repo_commit": "49f3c32", + "generated": "2025-07-23 22:24:58.549" } diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index d6126b44306..12be302b518 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -25538,6 +25538,7 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineSentinelOneDestination' - $ref: '#/components/schemas/ObservabilityPipelineOpenSearchDestination' - $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestination' + - $ref: '#/components/schemas/ObservabilityPipelineSocketDestination' ObservabilityPipelineConfigProcessorItem: description: A processor for the pipeline. oneOf: @@ -25557,6 +25558,8 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableProcessor' - $ref: '#/components/schemas/ObservabilityPipelineReduceProcessor' - $ref: '#/components/schemas/ObservabilityPipelineThrottleProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineCustomProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessor' ObservabilityPipelineConfigSourceItem: description: A data source for the pipeline. oneOf: @@ -25575,6 +25578,87 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubSource' - $ref: '#/components/schemas/ObservabilityPipelineHttpClientSource' - $ref: '#/components/schemas/ObservabilityPipelineLogstashSource' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSource' + ObservabilityPipelineCustomProcessor: + description: The `custom_processor` processor transforms events using [Vector + Remap Language (VRL)](https://vector.dev/docs/reference/vrl/) scripts with + advanced filtering capabilities. + properties: + id: + description: The unique identifier for this processor. + example: remap-vrl-processor + type: string + include: + default: '*' + description: A Datadog search query used to determine which logs this processor + targets. This field should always be set to `*` for the custom_processor + processor. + example: '*' + type: string + inputs: + description: A list of component IDs whose output is used as the input for + this processor. + example: + - datadog-agent-source + items: + type: string + type: array + remaps: + description: Array of VRL remap rules. + items: + $ref: '#/components/schemas/ObservabilityPipelineCustomProcessorRemap' + minItems: 1 + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineCustomProcessorType' + required: + - id + - type + - include + - remaps + - inputs + type: object + ObservabilityPipelineCustomProcessorRemap: + description: Defines a single VRL remap rule with its own filtering and transformation + logic. + properties: + drop_on_error: + default: false + description: Whether to drop events that caused errors during processing. + example: false + type: boolean + enabled: + default: true + description: Whether this remap rule is enabled. + example: true + type: boolean + include: + description: A Datadog search query used to filter events for this specific + remap rule. + example: service:web + type: string + name: + description: A descriptive name for this remap rule. + example: Parse JSON from message field + type: string + source: + description: The VRL script source code that defines the processing logic. + example: . = parse_json!(.message) + type: string + required: + - include + - name + - source + type: object + ObservabilityPipelineCustomProcessorType: + default: custom_processor + description: The processor type. The value should always be `custom_processor`. + enum: + - custom_processor + example: custom_processor + type: string + x-enum-varnames: + - CUSTOM_PROCESSOR ObservabilityPipelineData: description: "Contains the pipeline\u2019s ID, type, and configuration attributes." properties: @@ -25666,6 +25750,80 @@ components: type: string x-enum-varnames: - DATADOG_LOGS + ObservabilityPipelineDatadogTagsProcessor: + description: The `datadog_tags` processor includes or excludes specific Datadog + tags in your logs. + properties: + action: + $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorAction' + id: + description: The unique identifier for this component. Used to reference + this component in other parts of the pipeline (for example, as the `input` + to downstream components). + example: datadog-tags-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor + targets. + example: service:my-service + type: string + inputs: + description: A list of component IDs whose output is used as the `input` + for this component. + example: + - datadog-agent-source + items: + type: string + type: array + keys: + description: A list of tag keys. + example: + - env + - service + - version + items: + type: string + type: array + mode: + $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorMode' + type: + $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorType' + required: + - id + - type + - include + - mode + - action + - keys + - inputs + type: object + ObservabilityPipelineDatadogTagsProcessorAction: + description: The action to take on tags with matching keys. + enum: + - include + - exclude + example: include + type: string + x-enum-varnames: + - INCLUDE + - EXCLUDE + ObservabilityPipelineDatadogTagsProcessorMode: + description: The processing mode. + enum: + - filter + example: filter + type: string + x-enum-varnames: + - FILTER + ObservabilityPipelineDatadogTagsProcessorType: + default: datadog_tags + description: The processor type. The value should always be `datadog_tags`. + enum: + - datadog_tags + example: datadog_tags + type: string + x-enum-varnames: + - DATADOG_TAGS ObservabilityPipelineDecoding: description: The decoding format used to interpret incoming logs. enum: @@ -27858,6 +28016,278 @@ components: type: string x-enum-varnames: - SENTINEL_ONE + ObservabilityPipelineSocketDestination: + description: 'The `socket` destination sends logs over TCP or UDP to a remote + server. + + ' + properties: + encoding: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationEncoding' + framing: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFraming' + id: + description: The unique identifier for this component. + example: socket-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` + for this component. + example: + - filter-processor + items: + type: string + type: array + mode: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationMode' + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + description: TLS configuration. Relevant only when `mode` is `tcp`. + type: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationType' + required: + - id + - type + - inputs + - encoding + - framing + - mode + type: object + ObservabilityPipelineSocketDestinationEncoding: + description: Encoding format for log events. + enum: + - json + - raw_message + example: json + type: string + x-enum-varnames: + - JSON + - RAW_MESSAGE + ObservabilityPipelineSocketDestinationFraming: + description: Framing method configuration. + oneOf: + - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingNewlineDelimited' + - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingBytes' + - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingCharacterDelimited' + ObservabilityPipelineSocketDestinationFramingBytes: + description: Event data is not delimited at all. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingBytesMethod' + required: + - method + type: object + ObservabilityPipelineSocketDestinationFramingBytesMethod: + description: The definition of `ObservabilityPipelineSocketDestinationFramingBytesMethod` + object. + enum: + - bytes + example: bytes + type: string + x-enum-varnames: + - BYTES + ObservabilityPipelineSocketDestinationFramingCharacterDelimited: + description: Each log event is separated using the specified delimiter character. + properties: + delimiter: + description: A single ASCII character used as a delimiter. + example: '|' + maxLength: 1 + minLength: 1 + type: string + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod' + required: + - method + - delimiter + type: object + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod: + description: The definition of `ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod` + object. + enum: + - character_delimited + example: character_delimited + type: string + x-enum-varnames: + - CHARACTER_DELIMITED + ObservabilityPipelineSocketDestinationFramingNewlineDelimited: + description: Each log event is delimited by a newline character. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod' + required: + - method + type: object + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod: + description: The definition of `ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod` + object. + enum: + - newline_delimited + example: newline_delimited + type: string + x-enum-varnames: + - NEWLINE_DELIMITED + ObservabilityPipelineSocketDestinationMode: + description: Protocol used to send logs. + enum: + - tcp + - udp + example: tcp + type: string + x-enum-varnames: + - TCP + - UDP + ObservabilityPipelineSocketDestinationType: + default: socket + description: The destination type. The value should always be `socket`. + enum: + - socket + example: socket + type: string + x-enum-varnames: + - SOCKET + ObservabilityPipelineSocketSource: + description: 'The `socket` source ingests logs over TCP or UDP. + + ' + properties: + framing: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFraming' + id: + description: The unique identifier for this component. Used to reference + this component in other parts of the pipeline (e.g., as input to downstream + components). + example: socket-source + type: string + mode: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceMode' + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + description: TLS configuration. Relevant only when `mode` is `tcp`. + type: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceType' + required: + - id + - type + - mode + - framing + type: object + ObservabilityPipelineSocketSourceFraming: + description: Framing method configuration for the socket source. + oneOf: + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingNewlineDelimited' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingBytes' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingCharacterDelimited' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingOctetCounting' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingChunkedGelf' + ObservabilityPipelineSocketSourceFramingBytes: + description: Byte frames are passed through as-is according to the underlying + I/O boundaries (for example, split between messages or stream segments). + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingBytesMethod' + required: + - method + type: object + ObservabilityPipelineSocketSourceFramingBytesMethod: + description: Byte frames are passed through as-is according to the underlying + I/O boundaries (for example, split between messages or stream segments). + enum: + - bytes + example: bytes + type: string + x-enum-varnames: + - BYTES + ObservabilityPipelineSocketSourceFramingCharacterDelimited: + description: Byte frames which are delimited by a chosen character. + properties: + delimiter: + description: A single ASCII character used to delimit events. + example: '|' + maxLength: 1 + minLength: 1 + type: string + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod' + required: + - method + - delimiter + type: object + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod: + description: Byte frames which are delimited by a chosen character. + enum: + - character_delimited + example: character_delimited + type: string + x-enum-varnames: + - CHARACTER_DELIMITED + ObservabilityPipelineSocketSourceFramingChunkedGelf: + description: Byte frames which are chunked GELF messages. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod' + required: + - method + type: object + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod: + description: Byte frames which are chunked GELF messages. + enum: + - chunked_gelf + example: chunked_gelf + type: string + x-enum-varnames: + - CHUNKED_GELF + ObservabilityPipelineSocketSourceFramingNewlineDelimited: + description: Byte frames which are delimited by a newline character. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod' + required: + - method + type: object + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod: + description: Byte frames which are delimited by a newline character. + enum: + - newline_delimited + example: newline_delimited + type: string + x-enum-varnames: + - NEWLINE_DELIMITED + ObservabilityPipelineSocketSourceFramingOctetCounting: + description: Byte frames according to the octet counting format as per RFC6587. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingOctetCountingMethod' + required: + - method + type: object + ObservabilityPipelineSocketSourceFramingOctetCountingMethod: + description: Byte frames according to the octet counting format as per RFC6587. + enum: + - octet_counting + example: octet_counting + type: string + x-enum-varnames: + - OCTET_COUNTING + ObservabilityPipelineSocketSourceMode: + description: Protocol used to receive logs. + enum: + - tcp + - udp + example: tcp + type: string + x-enum-varnames: + - TCP + - UDP + ObservabilityPipelineSocketSourceType: + default: socket + description: The source type. The value should always be `socket`. + enum: + - socket + example: socket + type: string + x-enum-varnames: + - SOCKET ObservabilityPipelineSpec: description: Input schema representing an observability pipeline configuration. Used in create and validate requests. diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigDestinationItem.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigDestinationItem.java index 2f3bfec28a0..29d82773ef7 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigDestinationItem.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigDestinationItem.java @@ -855,6 +855,57 @@ public ObservabilityPipelineConfigDestinationItem deserialize( e); } + // deserialize ObservabilityPipelineSocketDestination + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketDestination.class.equals(Integer.class) + || ObservabilityPipelineSocketDestination.class.equals(Long.class) + || ObservabilityPipelineSocketDestination.class.equals(Float.class) + || ObservabilityPipelineSocketDestination.class.equals(Double.class) + || ObservabilityPipelineSocketDestination.class.equals(Boolean.class) + || ObservabilityPipelineSocketDestination.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketDestination.class.equals(Integer.class) + || ObservabilityPipelineSocketDestination.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketDestination.class.equals(Float.class) + || ObservabilityPipelineSocketDestination.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketDestination.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketDestination.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineSocketDestination.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketDestination) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, "Input data matches schema 'ObservabilityPipelineSocketDestination'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'ObservabilityPipelineSocketDestination'", + e); + } + ObservabilityPipelineConfigDestinationItem ret = new ObservabilityPipelineConfigDestinationItem(); if (match == 1) { @@ -965,6 +1016,11 @@ public ObservabilityPipelineConfigDestinationItem( setActualInstance(o); } + public ObservabilityPipelineConfigDestinationItem(ObservabilityPipelineSocketDestination o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + static { schemas.put( "ObservabilityPipelineDatadogLogsDestination", @@ -1007,6 +1063,9 @@ public ObservabilityPipelineConfigDestinationItem( schemas.put( "ObservabilityPipelineAmazonOpenSearchDestination", new GenericType() {}); + schemas.put( + "ObservabilityPipelineSocketDestination", + new GenericType() {}); JSON.registerDescendants( ObservabilityPipelineConfigDestinationItem.class, Collections.unmodifiableMap(schemas)); } @@ -1025,7 +1084,8 @@ public Map getSchemas() { * ObservabilityPipelineSyslogNgDestination, AzureStorageDestination, * MicrosoftSentinelDestination, ObservabilityPipelineGoogleChronicleDestination, * ObservabilityPipelineNewRelicDestination, ObservabilityPipelineSentinelOneDestination, - * ObservabilityPipelineOpenSearchDestination, ObservabilityPipelineAmazonOpenSearchDestination + * ObservabilityPipelineOpenSearchDestination, ObservabilityPipelineAmazonOpenSearchDestination, + * ObservabilityPipelineSocketDestination * *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a * composed schema (allOf, anyOf, oneOf). @@ -1109,6 +1169,11 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf( + ObservabilityPipelineSocketDestination.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { super.setActualInstance(instance); @@ -1127,7 +1192,8 @@ public void setActualInstance(Object instance) { + " ObservabilityPipelineNewRelicDestination," + " ObservabilityPipelineSentinelOneDestination," + " ObservabilityPipelineOpenSearchDestination," - + " ObservabilityPipelineAmazonOpenSearchDestination"); + + " ObservabilityPipelineAmazonOpenSearchDestination," + + " ObservabilityPipelineSocketDestination"); } /** @@ -1139,7 +1205,7 @@ public void setActualInstance(Object instance) { * AzureStorageDestination, MicrosoftSentinelDestination, * ObservabilityPipelineGoogleChronicleDestination, ObservabilityPipelineNewRelicDestination, * ObservabilityPipelineSentinelOneDestination, ObservabilityPipelineOpenSearchDestination, - * ObservabilityPipelineAmazonOpenSearchDestination + * ObservabilityPipelineAmazonOpenSearchDestination, ObservabilityPipelineSocketDestination * * @return The actual instance (ObservabilityPipelineDatadogLogsDestination, * ObservabilityPipelineAmazonS3Destination, @@ -1150,7 +1216,7 @@ public void setActualInstance(Object instance) { * MicrosoftSentinelDestination, ObservabilityPipelineGoogleChronicleDestination, * ObservabilityPipelineNewRelicDestination, ObservabilityPipelineSentinelOneDestination, * ObservabilityPipelineOpenSearchDestination, - * ObservabilityPipelineAmazonOpenSearchDestination) + * ObservabilityPipelineAmazonOpenSearchDestination, ObservabilityPipelineSocketDestination) */ @Override public Object getActualInstance() { @@ -1344,4 +1410,16 @@ public ObservabilityPipelineOpenSearchDestination getObservabilityPipelineOpenSe getObservabilityPipelineAmazonOpenSearchDestination() throws ClassCastException { return (ObservabilityPipelineAmazonOpenSearchDestination) super.getActualInstance(); } + + /** + * Get the actual instance of `ObservabilityPipelineSocketDestination`. If the actual instance is + * not `ObservabilityPipelineSocketDestination`, the ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineSocketDestination` + * @throws ClassCastException if the instance is not `ObservabilityPipelineSocketDestination` + */ + public ObservabilityPipelineSocketDestination getObservabilityPipelineSocketDestination() + throws ClassCastException { + return (ObservabilityPipelineSocketDestination) super.getActualInstance(); + } } diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigProcessorItem.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigProcessorItem.java index 18000ccfacd..3ec77e02e20 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigProcessorItem.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigProcessorItem.java @@ -902,6 +902,106 @@ public ObservabilityPipelineConfigProcessorItem deserialize( e); } + // deserialize ObservabilityPipelineCustomProcessor + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineCustomProcessor.class.equals(Integer.class) + || ObservabilityPipelineCustomProcessor.class.equals(Long.class) + || ObservabilityPipelineCustomProcessor.class.equals(Float.class) + || ObservabilityPipelineCustomProcessor.class.equals(Double.class) + || ObservabilityPipelineCustomProcessor.class.equals(Boolean.class) + || ObservabilityPipelineCustomProcessor.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineCustomProcessor.class.equals(Integer.class) + || ObservabilityPipelineCustomProcessor.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineCustomProcessor.class.equals(Float.class) + || ObservabilityPipelineCustomProcessor.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineCustomProcessor.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineCustomProcessor.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()).readValueAs(ObservabilityPipelineCustomProcessor.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineCustomProcessor) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'ObservabilityPipelineCustomProcessor'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'ObservabilityPipelineCustomProcessor'", + e); + } + + // deserialize ObservabilityPipelineDatadogTagsProcessor + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineDatadogTagsProcessor.class.equals(Integer.class) + || ObservabilityPipelineDatadogTagsProcessor.class.equals(Long.class) + || ObservabilityPipelineDatadogTagsProcessor.class.equals(Float.class) + || ObservabilityPipelineDatadogTagsProcessor.class.equals(Double.class) + || ObservabilityPipelineDatadogTagsProcessor.class.equals(Boolean.class) + || ObservabilityPipelineDatadogTagsProcessor.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineDatadogTagsProcessor.class.equals(Integer.class) + || ObservabilityPipelineDatadogTagsProcessor.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineDatadogTagsProcessor.class.equals(Float.class) + || ObservabilityPipelineDatadogTagsProcessor.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineDatadogTagsProcessor.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineDatadogTagsProcessor.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineDatadogTagsProcessor.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineDatadogTagsProcessor) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, "Input data matches schema 'ObservabilityPipelineDatadogTagsProcessor'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'ObservabilityPipelineDatadogTagsProcessor'", + e); + } + ObservabilityPipelineConfigProcessorItem ret = new ObservabilityPipelineConfigProcessorItem(); if (match == 1) { ret.setActualInstance(deserialized); @@ -1013,6 +1113,16 @@ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineThrottlePro setActualInstance(o); } + public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineCustomProcessor o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineDatadogTagsProcessor o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + static { schemas.put( "ObservabilityPipelineFilterProcessor", @@ -1062,6 +1172,12 @@ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineThrottlePro schemas.put( "ObservabilityPipelineThrottleProcessor", new GenericType() {}); + schemas.put( + "ObservabilityPipelineCustomProcessor", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineDatadogTagsProcessor", + new GenericType() {}); JSON.registerDescendants( ObservabilityPipelineConfigProcessorItem.class, Collections.unmodifiableMap(schemas)); } @@ -1081,7 +1197,8 @@ public Map getSchemas() { * ObservabilityPipelineSensitiveDataScannerProcessor, ObservabilityPipelineOcsfMapperProcessor, * ObservabilityPipelineAddEnvVarsProcessor, ObservabilityPipelineDedupeProcessor, * ObservabilityPipelineEnrichmentTableProcessor, ObservabilityPipelineReduceProcessor, - * ObservabilityPipelineThrottleProcessor + * ObservabilityPipelineThrottleProcessor, ObservabilityPipelineCustomProcessor, + * ObservabilityPipelineDatadogTagsProcessor * *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a * composed schema (allOf, anyOf, oneOf). @@ -1170,6 +1287,16 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf( + ObservabilityPipelineCustomProcessor.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineDatadogTagsProcessor.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { super.setActualInstance(instance); @@ -1187,7 +1314,8 @@ public void setActualInstance(Object instance) { + " ObservabilityPipelineOcsfMapperProcessor, ObservabilityPipelineAddEnvVarsProcessor," + " ObservabilityPipelineDedupeProcessor," + " ObservabilityPipelineEnrichmentTableProcessor," - + " ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor"); + + " ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor," + + " ObservabilityPipelineCustomProcessor, ObservabilityPipelineDatadogTagsProcessor"); } /** @@ -1199,7 +1327,8 @@ public void setActualInstance(Object instance) { * ObservabilityPipelineSensitiveDataScannerProcessor, ObservabilityPipelineOcsfMapperProcessor, * ObservabilityPipelineAddEnvVarsProcessor, ObservabilityPipelineDedupeProcessor, * ObservabilityPipelineEnrichmentTableProcessor, ObservabilityPipelineReduceProcessor, - * ObservabilityPipelineThrottleProcessor + * ObservabilityPipelineThrottleProcessor, ObservabilityPipelineCustomProcessor, + * ObservabilityPipelineDatadogTagsProcessor * * @return The actual instance (ObservabilityPipelineFilterProcessor, * ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor, @@ -1209,7 +1338,8 @@ public void setActualInstance(Object instance) { * ObservabilityPipelineSensitiveDataScannerProcessor, * ObservabilityPipelineOcsfMapperProcessor, ObservabilityPipelineAddEnvVarsProcessor, * ObservabilityPipelineDedupeProcessor, ObservabilityPipelineEnrichmentTableProcessor, - * ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor) + * ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor, + * ObservabilityPipelineCustomProcessor, ObservabilityPipelineDatadogTagsProcessor) */ @Override public Object getActualInstance() { @@ -1413,4 +1543,28 @@ public ObservabilityPipelineThrottleProcessor getObservabilityPipelineThrottlePr throws ClassCastException { return (ObservabilityPipelineThrottleProcessor) super.getActualInstance(); } + + /** + * Get the actual instance of `ObservabilityPipelineCustomProcessor`. If the actual instance is + * not `ObservabilityPipelineCustomProcessor`, the ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineCustomProcessor` + * @throws ClassCastException if the instance is not `ObservabilityPipelineCustomProcessor` + */ + public ObservabilityPipelineCustomProcessor getObservabilityPipelineCustomProcessor() + throws ClassCastException { + return (ObservabilityPipelineCustomProcessor) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineDatadogTagsProcessor`. If the actual instance + * is not `ObservabilityPipelineDatadogTagsProcessor`, the ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineDatadogTagsProcessor` + * @throws ClassCastException if the instance is not `ObservabilityPipelineDatadogTagsProcessor` + */ + public ObservabilityPipelineDatadogTagsProcessor getObservabilityPipelineDatadogTagsProcessor() + throws ClassCastException { + return (ObservabilityPipelineDatadogTagsProcessor) super.getActualInstance(); + } } diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigSourceItem.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigSourceItem.java index 0ed0198745a..58c17babac0 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigSourceItem.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigSourceItem.java @@ -823,6 +823,52 @@ public ObservabilityPipelineConfigSourceItem deserialize( e); } + // deserialize ObservabilityPipelineSocketSource + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketSource.class.equals(Integer.class) + || ObservabilityPipelineSocketSource.class.equals(Long.class) + || ObservabilityPipelineSocketSource.class.equals(Float.class) + || ObservabilityPipelineSocketSource.class.equals(Double.class) + || ObservabilityPipelineSocketSource.class.equals(Boolean.class) + || ObservabilityPipelineSocketSource.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketSource.class.equals(Integer.class) + || ObservabilityPipelineSocketSource.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketSource.class.equals(Float.class) + || ObservabilityPipelineSocketSource.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketSource.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketSource.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(ObservabilityPipelineSocketSource.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketSource) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'ObservabilityPipelineSocketSource'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, "Input data does not match schema 'ObservabilityPipelineSocketSource'", e); + } + ObservabilityPipelineConfigSourceItem ret = new ObservabilityPipelineConfigSourceItem(); if (match == 1) { ret.setActualInstance(deserialized); @@ -928,6 +974,11 @@ public ObservabilityPipelineConfigSourceItem(ObservabilityPipelineLogstashSource setActualInstance(o); } + public ObservabilityPipelineConfigSourceItem(ObservabilityPipelineSocketSource o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + static { schemas.put( "ObservabilityPipelineKafkaSource", new GenericType() {}); @@ -973,6 +1024,9 @@ public ObservabilityPipelineConfigSourceItem(ObservabilityPipelineLogstashSource schemas.put( "ObservabilityPipelineLogstashSource", new GenericType() {}); + schemas.put( + "ObservabilityPipelineSocketSource", + new GenericType() {}); JSON.registerDescendants( ObservabilityPipelineConfigSourceItem.class, Collections.unmodifiableMap(schemas)); } @@ -991,7 +1045,8 @@ public Map getSchemas() { * ObservabilityPipelineHttpServerSource, ObservabilityPipelineSumoLogicSource, * ObservabilityPipelineRsyslogSource, ObservabilityPipelineSyslogNgSource, * ObservabilityPipelineAmazonDataFirehoseSource, ObservabilityPipelineGooglePubSubSource, - * ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource + * ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource, + * ObservabilityPipelineSocketSource * *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a * composed schema (allOf, anyOf, oneOf). @@ -1073,6 +1128,11 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf( + ObservabilityPipelineSocketSource.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { super.setActualInstance(instance); @@ -1087,7 +1147,7 @@ public void setActualInstance(Object instance) { + " ObservabilityPipelineRsyslogSource, ObservabilityPipelineSyslogNgSource," + " ObservabilityPipelineAmazonDataFirehoseSource," + " ObservabilityPipelineGooglePubSubSource, ObservabilityPipelineHttpClientSource," - + " ObservabilityPipelineLogstashSource"); + + " ObservabilityPipelineLogstashSource, ObservabilityPipelineSocketSource"); } /** @@ -1098,7 +1158,8 @@ public void setActualInstance(Object instance) { * ObservabilityPipelineHttpServerSource, ObservabilityPipelineSumoLogicSource, * ObservabilityPipelineRsyslogSource, ObservabilityPipelineSyslogNgSource, * ObservabilityPipelineAmazonDataFirehoseSource, ObservabilityPipelineGooglePubSubSource, - * ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource + * ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource, + * ObservabilityPipelineSocketSource * * @return The actual instance (ObservabilityPipelineKafkaSource, * ObservabilityPipelineDatadogAgentSource, ObservabilityPipelineSplunkTcpSource, @@ -1107,7 +1168,8 @@ public void setActualInstance(Object instance) { * ObservabilityPipelineHttpServerSource, ObservabilityPipelineSumoLogicSource, * ObservabilityPipelineRsyslogSource, ObservabilityPipelineSyslogNgSource, * ObservabilityPipelineAmazonDataFirehoseSource, ObservabilityPipelineGooglePubSubSource, - * ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource) + * ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource, + * ObservabilityPipelineSocketSource) */ @Override public Object getActualInstance() { @@ -1295,4 +1357,16 @@ public ObservabilityPipelineLogstashSource getObservabilityPipelineLogstashSourc throws ClassCastException { return (ObservabilityPipelineLogstashSource) super.getActualInstance(); } + + /** + * Get the actual instance of `ObservabilityPipelineSocketSource`. If the actual instance is not + * `ObservabilityPipelineSocketSource`, the ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineSocketSource` + * @throws ClassCastException if the instance is not `ObservabilityPipelineSocketSource` + */ + public ObservabilityPipelineSocketSource getObservabilityPipelineSocketSource() + throws ClassCastException { + return (ObservabilityPipelineSocketSource) super.getActualInstance(); + } } diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineCustomProcessor.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineCustomProcessor.java new file mode 100644 index 00000000000..00901ad1ebf --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineCustomProcessor.java @@ -0,0 +1,290 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * The custom_processor processor transforms events using Vector Remap Language (VRL) scripts with + * advanced filtering capabilities. + */ +@JsonPropertyOrder({ + ObservabilityPipelineCustomProcessor.JSON_PROPERTY_ID, + ObservabilityPipelineCustomProcessor.JSON_PROPERTY_INCLUDE, + ObservabilityPipelineCustomProcessor.JSON_PROPERTY_INPUTS, + ObservabilityPipelineCustomProcessor.JSON_PROPERTY_REMAPS, + ObservabilityPipelineCustomProcessor.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineCustomProcessor { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_INCLUDE = "include"; + private String include = "*"; + + public static final String JSON_PROPERTY_INPUTS = "inputs"; + private List inputs = new ArrayList<>(); + + public static final String JSON_PROPERTY_REMAPS = "remaps"; + private List remaps = new ArrayList<>(); + + public static final String JSON_PROPERTY_TYPE = "type"; + private ObservabilityPipelineCustomProcessorType type = + ObservabilityPipelineCustomProcessorType.CUSTOM_PROCESSOR; + + public ObservabilityPipelineCustomProcessor() {} + + @JsonCreator + public ObservabilityPipelineCustomProcessor( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_INCLUDE) String include, + @JsonProperty(required = true, value = JSON_PROPERTY_INPUTS) List inputs, + @JsonProperty(required = true, value = JSON_PROPERTY_REMAPS) + List remaps, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + ObservabilityPipelineCustomProcessorType type) { + this.id = id; + this.include = include; + this.inputs = inputs; + this.remaps = remaps; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public ObservabilityPipelineCustomProcessor id(String id) { + this.id = id; + return this; + } + + /** + * The unique identifier for this processor. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public ObservabilityPipelineCustomProcessor include(String include) { + this.include = include; + return this; + } + + /** + * A Datadog search query used to determine which logs this processor targets. This field should + * always be set to * for the custom_processor processor. + * + * @return include + */ + @JsonProperty(JSON_PROPERTY_INCLUDE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getInclude() { + return include; + } + + public void setInclude(String include) { + this.include = include; + } + + public ObservabilityPipelineCustomProcessor inputs(List inputs) { + this.inputs = inputs; + return this; + } + + public ObservabilityPipelineCustomProcessor addInputsItem(String inputsItem) { + this.inputs.add(inputsItem); + return this; + } + + /** + * A list of component IDs whose output is used as the input for this processor. + * + * @return inputs + */ + @JsonProperty(JSON_PROPERTY_INPUTS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getInputs() { + return inputs; + } + + public void setInputs(List inputs) { + this.inputs = inputs; + } + + public ObservabilityPipelineCustomProcessor remaps( + List remaps) { + this.remaps = remaps; + for (ObservabilityPipelineCustomProcessorRemap item : remaps) { + this.unparsed |= item.unparsed; + } + return this; + } + + public ObservabilityPipelineCustomProcessor addRemapsItem( + ObservabilityPipelineCustomProcessorRemap remapsItem) { + this.remaps.add(remapsItem); + this.unparsed |= remapsItem.unparsed; + return this; + } + + /** + * Array of VRL remap rules. + * + * @return remaps + */ + @JsonProperty(JSON_PROPERTY_REMAPS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getRemaps() { + return remaps; + } + + public void setRemaps(List remaps) { + this.remaps = remaps; + } + + public ObservabilityPipelineCustomProcessor type(ObservabilityPipelineCustomProcessorType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The processor type. The value should always be custom_processor. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineCustomProcessorType getType() { + return type; + } + + public void setType(ObservabilityPipelineCustomProcessorType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineCustomProcessor + */ + @JsonAnySetter + public ObservabilityPipelineCustomProcessor putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ObservabilityPipelineCustomProcessor object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineCustomProcessor observabilityPipelineCustomProcessor = + (ObservabilityPipelineCustomProcessor) o; + return Objects.equals(this.id, observabilityPipelineCustomProcessor.id) + && Objects.equals(this.include, observabilityPipelineCustomProcessor.include) + && Objects.equals(this.inputs, observabilityPipelineCustomProcessor.inputs) + && Objects.equals(this.remaps, observabilityPipelineCustomProcessor.remaps) + && Objects.equals(this.type, observabilityPipelineCustomProcessor.type) + && Objects.equals( + this.additionalProperties, observabilityPipelineCustomProcessor.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, include, inputs, remaps, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineCustomProcessor {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" include: ").append(toIndentedString(include)).append("\n"); + sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); + sb.append(" remaps: ").append(toIndentedString(remaps)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineCustomProcessorRemap.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineCustomProcessorRemap.java new file mode 100644 index 00000000000..bf86ad9386e --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineCustomProcessorRemap.java @@ -0,0 +1,258 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Defines a single VRL remap rule with its own filtering and transformation logic. */ +@JsonPropertyOrder({ + ObservabilityPipelineCustomProcessorRemap.JSON_PROPERTY_DROP_ON_ERROR, + ObservabilityPipelineCustomProcessorRemap.JSON_PROPERTY_ENABLED, + ObservabilityPipelineCustomProcessorRemap.JSON_PROPERTY_INCLUDE, + ObservabilityPipelineCustomProcessorRemap.JSON_PROPERTY_NAME, + ObservabilityPipelineCustomProcessorRemap.JSON_PROPERTY_SOURCE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineCustomProcessorRemap { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DROP_ON_ERROR = "drop_on_error"; + private Boolean dropOnError = false; + + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled = true; + + public static final String JSON_PROPERTY_INCLUDE = "include"; + private String include; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SOURCE = "source"; + private String source; + + public ObservabilityPipelineCustomProcessorRemap() {} + + @JsonCreator + public ObservabilityPipelineCustomProcessorRemap( + @JsonProperty(required = true, value = JSON_PROPERTY_INCLUDE) String include, + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, + @JsonProperty(required = true, value = JSON_PROPERTY_SOURCE) String source) { + this.include = include; + this.name = name; + this.source = source; + } + + public ObservabilityPipelineCustomProcessorRemap dropOnError(Boolean dropOnError) { + this.dropOnError = dropOnError; + return this; + } + + /** + * Whether to drop events that caused errors during processing. + * + * @return dropOnError + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DROP_ON_ERROR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getDropOnError() { + return dropOnError; + } + + public void setDropOnError(Boolean dropOnError) { + this.dropOnError = dropOnError; + } + + public ObservabilityPipelineCustomProcessorRemap enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether this remap rule is enabled. + * + * @return enabled + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ENABLED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(Boolean enabled) { + this.enabled = enabled; + } + + public ObservabilityPipelineCustomProcessorRemap include(String include) { + this.include = include; + return this; + } + + /** + * A Datadog search query used to filter events for this specific remap rule. + * + * @return include + */ + @JsonProperty(JSON_PROPERTY_INCLUDE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getInclude() { + return include; + } + + public void setInclude(String include) { + this.include = include; + } + + public ObservabilityPipelineCustomProcessorRemap name(String name) { + this.name = name; + return this; + } + + /** + * A descriptive name for this remap rule. + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public ObservabilityPipelineCustomProcessorRemap source(String source) { + this.source = source; + return this; + } + + /** + * The VRL script source code that defines the processing logic. + * + * @return source + */ + @JsonProperty(JSON_PROPERTY_SOURCE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineCustomProcessorRemap + */ + @JsonAnySetter + public ObservabilityPipelineCustomProcessorRemap putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ObservabilityPipelineCustomProcessorRemap object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineCustomProcessorRemap observabilityPipelineCustomProcessorRemap = + (ObservabilityPipelineCustomProcessorRemap) o; + return Objects.equals(this.dropOnError, observabilityPipelineCustomProcessorRemap.dropOnError) + && Objects.equals(this.enabled, observabilityPipelineCustomProcessorRemap.enabled) + && Objects.equals(this.include, observabilityPipelineCustomProcessorRemap.include) + && Objects.equals(this.name, observabilityPipelineCustomProcessorRemap.name) + && Objects.equals(this.source, observabilityPipelineCustomProcessorRemap.source) + && Objects.equals( + this.additionalProperties, + observabilityPipelineCustomProcessorRemap.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(dropOnError, enabled, include, name, source, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineCustomProcessorRemap {\n"); + sb.append(" dropOnError: ").append(toIndentedString(dropOnError)).append("\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" include: ").append(toIndentedString(include)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" source: ").append(toIndentedString(source)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineCustomProcessorType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineCustomProcessorType.java new file mode 100644 index 00000000000..3d61d33f7cd --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineCustomProcessorType.java @@ -0,0 +1,63 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The processor type. The value should always be custom_processor. */ +@JsonSerialize( + using = + ObservabilityPipelineCustomProcessorType.ObservabilityPipelineCustomProcessorTypeSerializer + .class) +public class ObservabilityPipelineCustomProcessorType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("custom_processor")); + + public static final ObservabilityPipelineCustomProcessorType CUSTOM_PROCESSOR = + new ObservabilityPipelineCustomProcessorType("custom_processor"); + + ObservabilityPipelineCustomProcessorType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineCustomProcessorTypeSerializer + extends StdSerializer { + public ObservabilityPipelineCustomProcessorTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineCustomProcessorTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineCustomProcessorType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineCustomProcessorType fromValue(String value) { + return new ObservabilityPipelineCustomProcessorType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessor.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessor.java new file mode 100644 index 00000000000..c38aacab4bf --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessor.java @@ -0,0 +1,353 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * The datadog_tags processor includes or excludes specific Datadog tags in your logs. + */ +@JsonPropertyOrder({ + ObservabilityPipelineDatadogTagsProcessor.JSON_PROPERTY_ACTION, + ObservabilityPipelineDatadogTagsProcessor.JSON_PROPERTY_ID, + ObservabilityPipelineDatadogTagsProcessor.JSON_PROPERTY_INCLUDE, + ObservabilityPipelineDatadogTagsProcessor.JSON_PROPERTY_INPUTS, + ObservabilityPipelineDatadogTagsProcessor.JSON_PROPERTY_KEYS, + ObservabilityPipelineDatadogTagsProcessor.JSON_PROPERTY_MODE, + ObservabilityPipelineDatadogTagsProcessor.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineDatadogTagsProcessor { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ACTION = "action"; + private ObservabilityPipelineDatadogTagsProcessorAction action; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_INCLUDE = "include"; + private String include; + + public static final String JSON_PROPERTY_INPUTS = "inputs"; + private List inputs = new ArrayList<>(); + + public static final String JSON_PROPERTY_KEYS = "keys"; + private List keys = new ArrayList<>(); + + public static final String JSON_PROPERTY_MODE = "mode"; + private ObservabilityPipelineDatadogTagsProcessorMode mode; + + public static final String JSON_PROPERTY_TYPE = "type"; + private ObservabilityPipelineDatadogTagsProcessorType type = + ObservabilityPipelineDatadogTagsProcessorType.DATADOG_TAGS; + + public ObservabilityPipelineDatadogTagsProcessor() {} + + @JsonCreator + public ObservabilityPipelineDatadogTagsProcessor( + @JsonProperty(required = true, value = JSON_PROPERTY_ACTION) + ObservabilityPipelineDatadogTagsProcessorAction action, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_INCLUDE) String include, + @JsonProperty(required = true, value = JSON_PROPERTY_INPUTS) List inputs, + @JsonProperty(required = true, value = JSON_PROPERTY_KEYS) List keys, + @JsonProperty(required = true, value = JSON_PROPERTY_MODE) + ObservabilityPipelineDatadogTagsProcessorMode mode, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + ObservabilityPipelineDatadogTagsProcessorType type) { + this.action = action; + this.unparsed |= !action.isValid(); + this.id = id; + this.include = include; + this.inputs = inputs; + this.keys = keys; + this.mode = mode; + this.unparsed |= !mode.isValid(); + this.type = type; + this.unparsed |= !type.isValid(); + } + + public ObservabilityPipelineDatadogTagsProcessor action( + ObservabilityPipelineDatadogTagsProcessorAction action) { + this.action = action; + this.unparsed |= !action.isValid(); + return this; + } + + /** + * The action to take on tags with matching keys. + * + * @return action + */ + @JsonProperty(JSON_PROPERTY_ACTION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineDatadogTagsProcessorAction getAction() { + return action; + } + + public void setAction(ObservabilityPipelineDatadogTagsProcessorAction action) { + if (!action.isValid()) { + this.unparsed = true; + } + this.action = action; + } + + public ObservabilityPipelineDatadogTagsProcessor id(String id) { + this.id = id; + return this; + } + + /** + * The unique identifier for this component. Used to reference this component in other parts of + * the pipeline (for example, as the input to downstream components). + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public ObservabilityPipelineDatadogTagsProcessor include(String include) { + this.include = include; + return this; + } + + /** + * A Datadog search query used to determine which logs this processor targets. + * + * @return include + */ + @JsonProperty(JSON_PROPERTY_INCLUDE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getInclude() { + return include; + } + + public void setInclude(String include) { + this.include = include; + } + + public ObservabilityPipelineDatadogTagsProcessor inputs(List inputs) { + this.inputs = inputs; + return this; + } + + public ObservabilityPipelineDatadogTagsProcessor addInputsItem(String inputsItem) { + this.inputs.add(inputsItem); + return this; + } + + /** + * A list of component IDs whose output is used as the input for this component. + * + * @return inputs + */ + @JsonProperty(JSON_PROPERTY_INPUTS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getInputs() { + return inputs; + } + + public void setInputs(List inputs) { + this.inputs = inputs; + } + + public ObservabilityPipelineDatadogTagsProcessor keys(List keys) { + this.keys = keys; + return this; + } + + public ObservabilityPipelineDatadogTagsProcessor addKeysItem(String keysItem) { + this.keys.add(keysItem); + return this; + } + + /** + * A list of tag keys. + * + * @return keys + */ + @JsonProperty(JSON_PROPERTY_KEYS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getKeys() { + return keys; + } + + public void setKeys(List keys) { + this.keys = keys; + } + + public ObservabilityPipelineDatadogTagsProcessor mode( + ObservabilityPipelineDatadogTagsProcessorMode mode) { + this.mode = mode; + this.unparsed |= !mode.isValid(); + return this; + } + + /** + * The processing mode. + * + * @return mode + */ + @JsonProperty(JSON_PROPERTY_MODE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineDatadogTagsProcessorMode getMode() { + return mode; + } + + public void setMode(ObservabilityPipelineDatadogTagsProcessorMode mode) { + if (!mode.isValid()) { + this.unparsed = true; + } + this.mode = mode; + } + + public ObservabilityPipelineDatadogTagsProcessor type( + ObservabilityPipelineDatadogTagsProcessorType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The processor type. The value should always be datadog_tags. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineDatadogTagsProcessorType getType() { + return type; + } + + public void setType(ObservabilityPipelineDatadogTagsProcessorType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineDatadogTagsProcessor + */ + @JsonAnySetter + public ObservabilityPipelineDatadogTagsProcessor putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ObservabilityPipelineDatadogTagsProcessor object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineDatadogTagsProcessor observabilityPipelineDatadogTagsProcessor = + (ObservabilityPipelineDatadogTagsProcessor) o; + return Objects.equals(this.action, observabilityPipelineDatadogTagsProcessor.action) + && Objects.equals(this.id, observabilityPipelineDatadogTagsProcessor.id) + && Objects.equals(this.include, observabilityPipelineDatadogTagsProcessor.include) + && Objects.equals(this.inputs, observabilityPipelineDatadogTagsProcessor.inputs) + && Objects.equals(this.keys, observabilityPipelineDatadogTagsProcessor.keys) + && Objects.equals(this.mode, observabilityPipelineDatadogTagsProcessor.mode) + && Objects.equals(this.type, observabilityPipelineDatadogTagsProcessor.type) + && Objects.equals( + this.additionalProperties, + observabilityPipelineDatadogTagsProcessor.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(action, id, include, inputs, keys, mode, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineDatadogTagsProcessor {\n"); + sb.append(" action: ").append(toIndentedString(action)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" include: ").append(toIndentedString(include)).append("\n"); + sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); + sb.append(" keys: ").append(toIndentedString(keys)).append("\n"); + sb.append(" mode: ").append(toIndentedString(mode)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessorAction.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessorAction.java new file mode 100644 index 00000000000..8ef51d4614f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessorAction.java @@ -0,0 +1,65 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The action to take on tags with matching keys. */ +@JsonSerialize( + using = + ObservabilityPipelineDatadogTagsProcessorAction + .ObservabilityPipelineDatadogTagsProcessorActionSerializer.class) +public class ObservabilityPipelineDatadogTagsProcessorAction extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("include", "exclude")); + + public static final ObservabilityPipelineDatadogTagsProcessorAction INCLUDE = + new ObservabilityPipelineDatadogTagsProcessorAction("include"); + public static final ObservabilityPipelineDatadogTagsProcessorAction EXCLUDE = + new ObservabilityPipelineDatadogTagsProcessorAction("exclude"); + + ObservabilityPipelineDatadogTagsProcessorAction(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineDatadogTagsProcessorActionSerializer + extends StdSerializer { + public ObservabilityPipelineDatadogTagsProcessorActionSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineDatadogTagsProcessorActionSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineDatadogTagsProcessorAction value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineDatadogTagsProcessorAction fromValue(String value) { + return new ObservabilityPipelineDatadogTagsProcessorAction(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessorMode.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessorMode.java new file mode 100644 index 00000000000..f0f737536ef --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessorMode.java @@ -0,0 +1,62 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The processing mode. */ +@JsonSerialize( + using = + ObservabilityPipelineDatadogTagsProcessorMode + .ObservabilityPipelineDatadogTagsProcessorModeSerializer.class) +public class ObservabilityPipelineDatadogTagsProcessorMode extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("filter")); + + public static final ObservabilityPipelineDatadogTagsProcessorMode FILTER = + new ObservabilityPipelineDatadogTagsProcessorMode("filter"); + + ObservabilityPipelineDatadogTagsProcessorMode(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineDatadogTagsProcessorModeSerializer + extends StdSerializer { + public ObservabilityPipelineDatadogTagsProcessorModeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineDatadogTagsProcessorModeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineDatadogTagsProcessorMode value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineDatadogTagsProcessorMode fromValue(String value) { + return new ObservabilityPipelineDatadogTagsProcessorMode(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessorType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessorType.java new file mode 100644 index 00000000000..02a83a8e94b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogTagsProcessorType.java @@ -0,0 +1,63 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The processor type. The value should always be datadog_tags. */ +@JsonSerialize( + using = + ObservabilityPipelineDatadogTagsProcessorType + .ObservabilityPipelineDatadogTagsProcessorTypeSerializer.class) +public class ObservabilityPipelineDatadogTagsProcessorType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("datadog_tags")); + + public static final ObservabilityPipelineDatadogTagsProcessorType DATADOG_TAGS = + new ObservabilityPipelineDatadogTagsProcessorType("datadog_tags"); + + ObservabilityPipelineDatadogTagsProcessorType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineDatadogTagsProcessorTypeSerializer + extends StdSerializer { + public ObservabilityPipelineDatadogTagsProcessorTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineDatadogTagsProcessorTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineDatadogTagsProcessorType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineDatadogTagsProcessorType fromValue(String value) { + return new ObservabilityPipelineDatadogTagsProcessorType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestination.java new file mode 100644 index 00000000000..775a97879fd --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestination.java @@ -0,0 +1,348 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** The socket destination sends logs over TCP or UDP to a remote server. */ +@JsonPropertyOrder({ + ObservabilityPipelineSocketDestination.JSON_PROPERTY_ENCODING, + ObservabilityPipelineSocketDestination.JSON_PROPERTY_FRAMING, + ObservabilityPipelineSocketDestination.JSON_PROPERTY_ID, + ObservabilityPipelineSocketDestination.JSON_PROPERTY_INPUTS, + ObservabilityPipelineSocketDestination.JSON_PROPERTY_MODE, + ObservabilityPipelineSocketDestination.JSON_PROPERTY_TLS, + ObservabilityPipelineSocketDestination.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketDestination { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENCODING = "encoding"; + private ObservabilityPipelineSocketDestinationEncoding encoding; + + public static final String JSON_PROPERTY_FRAMING = "framing"; + private ObservabilityPipelineSocketDestinationFraming framing; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_INPUTS = "inputs"; + private List inputs = new ArrayList<>(); + + public static final String JSON_PROPERTY_MODE = "mode"; + private ObservabilityPipelineSocketDestinationMode mode; + + public static final String JSON_PROPERTY_TLS = "tls"; + private ObservabilityPipelineTls tls; + + public static final String JSON_PROPERTY_TYPE = "type"; + private ObservabilityPipelineSocketDestinationType type = + ObservabilityPipelineSocketDestinationType.SOCKET; + + public ObservabilityPipelineSocketDestination() {} + + @JsonCreator + public ObservabilityPipelineSocketDestination( + @JsonProperty(required = true, value = JSON_PROPERTY_ENCODING) + ObservabilityPipelineSocketDestinationEncoding encoding, + @JsonProperty(required = true, value = JSON_PROPERTY_FRAMING) + ObservabilityPipelineSocketDestinationFraming framing, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_INPUTS) List inputs, + @JsonProperty(required = true, value = JSON_PROPERTY_MODE) + ObservabilityPipelineSocketDestinationMode mode, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + ObservabilityPipelineSocketDestinationType type) { + this.encoding = encoding; + this.unparsed |= !encoding.isValid(); + this.framing = framing; + this.unparsed |= framing.unparsed; + this.id = id; + this.inputs = inputs; + this.mode = mode; + this.unparsed |= !mode.isValid(); + this.type = type; + this.unparsed |= !type.isValid(); + } + + public ObservabilityPipelineSocketDestination encoding( + ObservabilityPipelineSocketDestinationEncoding encoding) { + this.encoding = encoding; + this.unparsed |= !encoding.isValid(); + return this; + } + + /** + * Encoding format for log events. + * + * @return encoding + */ + @JsonProperty(JSON_PROPERTY_ENCODING) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketDestinationEncoding getEncoding() { + return encoding; + } + + public void setEncoding(ObservabilityPipelineSocketDestinationEncoding encoding) { + if (!encoding.isValid()) { + this.unparsed = true; + } + this.encoding = encoding; + } + + public ObservabilityPipelineSocketDestination framing( + ObservabilityPipelineSocketDestinationFraming framing) { + this.framing = framing; + this.unparsed |= framing.unparsed; + return this; + } + + /** + * Framing method configuration. + * + * @return framing + */ + @JsonProperty(JSON_PROPERTY_FRAMING) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketDestinationFraming getFraming() { + return framing; + } + + public void setFraming(ObservabilityPipelineSocketDestinationFraming framing) { + this.framing = framing; + } + + public ObservabilityPipelineSocketDestination id(String id) { + this.id = id; + return this; + } + + /** + * The unique identifier for this component. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public ObservabilityPipelineSocketDestination inputs(List inputs) { + this.inputs = inputs; + return this; + } + + public ObservabilityPipelineSocketDestination addInputsItem(String inputsItem) { + this.inputs.add(inputsItem); + return this; + } + + /** + * A list of component IDs whose output is used as the input for this component. + * + * @return inputs + */ + @JsonProperty(JSON_PROPERTY_INPUTS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getInputs() { + return inputs; + } + + public void setInputs(List inputs) { + this.inputs = inputs; + } + + public ObservabilityPipelineSocketDestination mode( + ObservabilityPipelineSocketDestinationMode mode) { + this.mode = mode; + this.unparsed |= !mode.isValid(); + return this; + } + + /** + * Protocol used to send logs. + * + * @return mode + */ + @JsonProperty(JSON_PROPERTY_MODE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketDestinationMode getMode() { + return mode; + } + + public void setMode(ObservabilityPipelineSocketDestinationMode mode) { + if (!mode.isValid()) { + this.unparsed = true; + } + this.mode = mode; + } + + public ObservabilityPipelineSocketDestination tls(ObservabilityPipelineTls tls) { + this.tls = tls; + this.unparsed |= tls.unparsed; + return this; + } + + /** + * Configuration for enabling TLS encryption between the pipeline component and external services. + * + * @return tls + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TLS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineTls getTls() { + return tls; + } + + public void setTls(ObservabilityPipelineTls tls) { + this.tls = tls; + } + + public ObservabilityPipelineSocketDestination type( + ObservabilityPipelineSocketDestinationType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The destination type. The value should always be socket. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketDestinationType getType() { + return type; + } + + public void setType(ObservabilityPipelineSocketDestinationType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketDestination + */ + @JsonAnySetter + public ObservabilityPipelineSocketDestination putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ObservabilityPipelineSocketDestination object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketDestination observabilityPipelineSocketDestination = + (ObservabilityPipelineSocketDestination) o; + return Objects.equals(this.encoding, observabilityPipelineSocketDestination.encoding) + && Objects.equals(this.framing, observabilityPipelineSocketDestination.framing) + && Objects.equals(this.id, observabilityPipelineSocketDestination.id) + && Objects.equals(this.inputs, observabilityPipelineSocketDestination.inputs) + && Objects.equals(this.mode, observabilityPipelineSocketDestination.mode) + && Objects.equals(this.tls, observabilityPipelineSocketDestination.tls) + && Objects.equals(this.type, observabilityPipelineSocketDestination.type) + && Objects.equals( + this.additionalProperties, observabilityPipelineSocketDestination.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(encoding, framing, id, inputs, mode, tls, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketDestination {\n"); + sb.append(" encoding: ").append(toIndentedString(encoding)).append("\n"); + sb.append(" framing: ").append(toIndentedString(framing)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); + sb.append(" mode: ").append(toIndentedString(mode)).append("\n"); + sb.append(" tls: ").append(toIndentedString(tls)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationEncoding.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationEncoding.java new file mode 100644 index 00000000000..82458e9a34e --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationEncoding.java @@ -0,0 +1,65 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Encoding format for log events. */ +@JsonSerialize( + using = + ObservabilityPipelineSocketDestinationEncoding + .ObservabilityPipelineSocketDestinationEncodingSerializer.class) +public class ObservabilityPipelineSocketDestinationEncoding extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("json", "raw_message")); + + public static final ObservabilityPipelineSocketDestinationEncoding JSON = + new ObservabilityPipelineSocketDestinationEncoding("json"); + public static final ObservabilityPipelineSocketDestinationEncoding RAW_MESSAGE = + new ObservabilityPipelineSocketDestinationEncoding("raw_message"); + + ObservabilityPipelineSocketDestinationEncoding(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketDestinationEncodingSerializer + extends StdSerializer { + public ObservabilityPipelineSocketDestinationEncodingSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketDestinationEncodingSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketDestinationEncoding value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketDestinationEncoding fromValue(String value) { + return new ObservabilityPipelineSocketDestinationEncoding(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFraming.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFraming.java new file mode 100644 index 00000000000..c627b278584 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFraming.java @@ -0,0 +1,453 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.AbstractOpenApiSchema; +import com.datadog.api.client.JSON; +import com.datadog.api.client.UnparsedObject; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import jakarta.ws.rs.core.GenericType; +import java.io.IOException; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +@JsonDeserialize( + using = + ObservabilityPipelineSocketDestinationFraming + .ObservabilityPipelineSocketDestinationFramingDeserializer.class) +@JsonSerialize( + using = + ObservabilityPipelineSocketDestinationFraming + .ObservabilityPipelineSocketDestinationFramingSerializer.class) +public class ObservabilityPipelineSocketDestinationFraming extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(ObservabilityPipelineSocketDestinationFraming.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class ObservabilityPipelineSocketDestinationFramingSerializer + extends StdSerializer { + public ObservabilityPipelineSocketDestinationFramingSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketDestinationFramingSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketDestinationFraming value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class ObservabilityPipelineSocketDestinationFramingDeserializer + extends StdDeserializer { + public ObservabilityPipelineSocketDestinationFramingDeserializer() { + this(ObservabilityPipelineSocketDestinationFraming.class); + } + + public ObservabilityPipelineSocketDestinationFramingDeserializer(Class vc) { + super(vc); + } + + @Override + public ObservabilityPipelineSocketDestinationFraming deserialize( + JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + Object tmp = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize ObservabilityPipelineSocketDestinationFramingNewlineDelimited + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + Integer.class) + || ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + Long.class) + || ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + Float.class) + || ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + Double.class) + || ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + Boolean.class) + || ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + Integer.class) + || ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class + .equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + Float.class) + || ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class + .equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketDestinationFramingNewlineDelimited) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineSocketDestinationFramingNewlineDelimited'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineSocketDestinationFramingNewlineDelimited'", + e); + } + + // deserialize ObservabilityPipelineSocketDestinationFramingBytes + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketDestinationFramingBytes.class.equals(Integer.class) + || ObservabilityPipelineSocketDestinationFramingBytes.class.equals(Long.class) + || ObservabilityPipelineSocketDestinationFramingBytes.class.equals(Float.class) + || ObservabilityPipelineSocketDestinationFramingBytes.class.equals(Double.class) + || ObservabilityPipelineSocketDestinationFramingBytes.class.equals(Boolean.class) + || ObservabilityPipelineSocketDestinationFramingBytes.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketDestinationFramingBytes.class.equals(Integer.class) + || ObservabilityPipelineSocketDestinationFramingBytes.class.equals( + Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketDestinationFramingBytes.class.equals(Float.class) + || ObservabilityPipelineSocketDestinationFramingBytes.class.equals( + Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketDestinationFramingBytes.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketDestinationFramingBytes.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineSocketDestinationFramingBytes.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketDestinationFramingBytes) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema 'ObservabilityPipelineSocketDestinationFramingBytes'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'ObservabilityPipelineSocketDestinationFramingBytes'", + e); + } + + // deserialize ObservabilityPipelineSocketDestinationFramingCharacterDelimited + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + Integer.class) + || ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + Long.class) + || ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + Float.class) + || ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + Double.class) + || ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + Boolean.class) + || ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + Integer.class) + || ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class + .equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + Float.class) + || ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class + .equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs( + ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketDestinationFramingCharacterDelimited) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineSocketDestinationFramingCharacterDelimited'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineSocketDestinationFramingCharacterDelimited'", + e); + } + + ObservabilityPipelineSocketDestinationFraming ret = + new ObservabilityPipelineSocketDestinationFraming(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public ObservabilityPipelineSocketDestinationFraming getNullValue(DeserializationContext ctxt) + throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "ObservabilityPipelineSocketDestinationFraming cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public ObservabilityPipelineSocketDestinationFraming() { + super("oneOf", Boolean.FALSE); + } + + public ObservabilityPipelineSocketDestinationFraming( + ObservabilityPipelineSocketDestinationFramingNewlineDelimited o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineSocketDestinationFraming( + ObservabilityPipelineSocketDestinationFramingBytes o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineSocketDestinationFraming( + ObservabilityPipelineSocketDestinationFramingCharacterDelimited o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "ObservabilityPipelineSocketDestinationFramingNewlineDelimited", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineSocketDestinationFramingBytes", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineSocketDestinationFramingCharacterDelimited", + new GenericType() {}); + JSON.registerDescendants( + ObservabilityPipelineSocketDestinationFraming.class, Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return ObservabilityPipelineSocketDestinationFraming.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: ObservabilityPipelineSocketDestinationFramingNewlineDelimited, + * ObservabilityPipelineSocketDestinationFramingBytes, + * ObservabilityPipelineSocketDestinationFramingCharacterDelimited + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + ObservabilityPipelineSocketDestinationFramingNewlineDelimited.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineSocketDestinationFramingBytes.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineSocketDestinationFramingCharacterDelimited.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException( + "Invalid instance type. Must be" + + " ObservabilityPipelineSocketDestinationFramingNewlineDelimited," + + " ObservabilityPipelineSocketDestinationFramingBytes," + + " ObservabilityPipelineSocketDestinationFramingCharacterDelimited"); + } + + /** + * Get the actual instance, which can be the following: + * ObservabilityPipelineSocketDestinationFramingNewlineDelimited, + * ObservabilityPipelineSocketDestinationFramingBytes, + * ObservabilityPipelineSocketDestinationFramingCharacterDelimited + * + * @return The actual instance (ObservabilityPipelineSocketDestinationFramingNewlineDelimited, + * ObservabilityPipelineSocketDestinationFramingBytes, + * ObservabilityPipelineSocketDestinationFramingCharacterDelimited) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineSocketDestinationFramingNewlineDelimited`. If + * the actual instance is not `ObservabilityPipelineSocketDestinationFramingNewlineDelimited`, the + * ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineSocketDestinationFramingNewlineDelimited` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineSocketDestinationFramingNewlineDelimited` + */ + public ObservabilityPipelineSocketDestinationFramingNewlineDelimited + getObservabilityPipelineSocketDestinationFramingNewlineDelimited() throws ClassCastException { + return (ObservabilityPipelineSocketDestinationFramingNewlineDelimited) + super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineSocketDestinationFramingBytes`. If the actual + * instance is not `ObservabilityPipelineSocketDestinationFramingBytes`, the ClassCastException + * will be thrown. + * + * @return The actual instance of `ObservabilityPipelineSocketDestinationFramingBytes` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineSocketDestinationFramingBytes` + */ + public ObservabilityPipelineSocketDestinationFramingBytes + getObservabilityPipelineSocketDestinationFramingBytes() throws ClassCastException { + return (ObservabilityPipelineSocketDestinationFramingBytes) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineSocketDestinationFramingCharacterDelimited`. + * If the actual instance is not + * `ObservabilityPipelineSocketDestinationFramingCharacterDelimited`, the ClassCastException will + * be thrown. + * + * @return The actual instance of + * `ObservabilityPipelineSocketDestinationFramingCharacterDelimited` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineSocketDestinationFramingCharacterDelimited` + */ + public ObservabilityPipelineSocketDestinationFramingCharacterDelimited + getObservabilityPipelineSocketDestinationFramingCharacterDelimited() + throws ClassCastException { + return (ObservabilityPipelineSocketDestinationFramingCharacterDelimited) + super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingBytes.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingBytes.java new file mode 100644 index 00000000000..570306ec97a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingBytes.java @@ -0,0 +1,157 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Event data is not delimited at all. */ +@JsonPropertyOrder({ObservabilityPipelineSocketDestinationFramingBytes.JSON_PROPERTY_METHOD}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketDestinationFramingBytes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_METHOD = "method"; + private ObservabilityPipelineSocketDestinationFramingBytesMethod method; + + public ObservabilityPipelineSocketDestinationFramingBytes() {} + + @JsonCreator + public ObservabilityPipelineSocketDestinationFramingBytes( + @JsonProperty(required = true, value = JSON_PROPERTY_METHOD) + ObservabilityPipelineSocketDestinationFramingBytesMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + } + + public ObservabilityPipelineSocketDestinationFramingBytes method( + ObservabilityPipelineSocketDestinationFramingBytesMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + return this; + } + + /** + * The definition of ObservabilityPipelineSocketDestinationFramingBytesMethod object. + * + * @return method + */ + @JsonProperty(JSON_PROPERTY_METHOD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketDestinationFramingBytesMethod getMethod() { + return method; + } + + public void setMethod(ObservabilityPipelineSocketDestinationFramingBytesMethod method) { + if (!method.isValid()) { + this.unparsed = true; + } + this.method = method; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketDestinationFramingBytes + */ + @JsonAnySetter + public ObservabilityPipelineSocketDestinationFramingBytes putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this ObservabilityPipelineSocketDestinationFramingBytes object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketDestinationFramingBytes + observabilityPipelineSocketDestinationFramingBytes = + (ObservabilityPipelineSocketDestinationFramingBytes) o; + return Objects.equals(this.method, observabilityPipelineSocketDestinationFramingBytes.method) + && Objects.equals( + this.additionalProperties, + observabilityPipelineSocketDestinationFramingBytes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(method, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketDestinationFramingBytes {\n"); + sb.append(" method: ").append(toIndentedString(method)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingBytesMethod.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingBytesMethod.java new file mode 100644 index 00000000000..3adc74eb81b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingBytesMethod.java @@ -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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** + * The definition of ObservabilityPipelineSocketDestinationFramingBytesMethod object. + */ +@JsonSerialize( + using = + ObservabilityPipelineSocketDestinationFramingBytesMethod + .ObservabilityPipelineSocketDestinationFramingBytesMethodSerializer.class) +public class ObservabilityPipelineSocketDestinationFramingBytesMethod extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("bytes")); + + public static final ObservabilityPipelineSocketDestinationFramingBytesMethod BYTES = + new ObservabilityPipelineSocketDestinationFramingBytesMethod("bytes"); + + ObservabilityPipelineSocketDestinationFramingBytesMethod(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketDestinationFramingBytesMethodSerializer + extends StdSerializer { + public ObservabilityPipelineSocketDestinationFramingBytesMethodSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketDestinationFramingBytesMethodSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketDestinationFramingBytesMethod value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketDestinationFramingBytesMethod fromValue(String value) { + return new ObservabilityPipelineSocketDestinationFramingBytesMethod(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingCharacterDelimited.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingCharacterDelimited.java new file mode 100644 index 00000000000..ea72a110660 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingCharacterDelimited.java @@ -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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Each log event is separated using the specified delimiter character. */ +@JsonPropertyOrder({ + ObservabilityPipelineSocketDestinationFramingCharacterDelimited.JSON_PROPERTY_DELIMITER, + ObservabilityPipelineSocketDestinationFramingCharacterDelimited.JSON_PROPERTY_METHOD +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketDestinationFramingCharacterDelimited { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DELIMITER = "delimiter"; + private String delimiter; + + public static final String JSON_PROPERTY_METHOD = "method"; + private ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod method; + + public ObservabilityPipelineSocketDestinationFramingCharacterDelimited() {} + + @JsonCreator + public ObservabilityPipelineSocketDestinationFramingCharacterDelimited( + @JsonProperty(required = true, value = JSON_PROPERTY_DELIMITER) String delimiter, + @JsonProperty(required = true, value = JSON_PROPERTY_METHOD) + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod method) { + this.delimiter = delimiter; + this.method = method; + this.unparsed |= !method.isValid(); + } + + public ObservabilityPipelineSocketDestinationFramingCharacterDelimited delimiter( + String delimiter) { + this.delimiter = delimiter; + return this; + } + + /** + * A single ASCII character used as a delimiter. + * + * @return delimiter + */ + @JsonProperty(JSON_PROPERTY_DELIMITER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getDelimiter() { + return delimiter; + } + + public void setDelimiter(String delimiter) { + this.delimiter = delimiter; + } + + public ObservabilityPipelineSocketDestinationFramingCharacterDelimited method( + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + return this; + } + + /** + * The definition of ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod + * object. + * + * @return method + */ + @JsonProperty(JSON_PROPERTY_METHOD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod getMethod() { + return method; + } + + public void setMethod( + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod method) { + if (!method.isValid()) { + this.unparsed = true; + } + this.method = method; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketDestinationFramingCharacterDelimited + */ + @JsonAnySetter + public ObservabilityPipelineSocketDestinationFramingCharacterDelimited putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this ObservabilityPipelineSocketDestinationFramingCharacterDelimited object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketDestinationFramingCharacterDelimited + observabilityPipelineSocketDestinationFramingCharacterDelimited = + (ObservabilityPipelineSocketDestinationFramingCharacterDelimited) o; + return Objects.equals( + this.delimiter, + observabilityPipelineSocketDestinationFramingCharacterDelimited.delimiter) + && Objects.equals( + this.method, observabilityPipelineSocketDestinationFramingCharacterDelimited.method) + && Objects.equals( + this.additionalProperties, + observabilityPipelineSocketDestinationFramingCharacterDelimited.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(delimiter, method, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketDestinationFramingCharacterDelimited {\n"); + sb.append(" delimiter: ").append(toIndentedString(delimiter)).append("\n"); + sb.append(" method: ").append(toIndentedString(method)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod.java new file mode 100644 index 00000000000..c08e20dec74 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod.java @@ -0,0 +1,71 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** + * The definition of ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod + * object. + */ +@JsonSerialize( + using = + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod + .ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethodSerializer.class) +public class ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod + extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("character_delimited")); + + public static final ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod + CHARACTER_DELIMITED = + new ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod( + "character_delimited"); + + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod(String value) { + super(value, allowedValues); + } + + public static + class ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethodSerializer + extends StdSerializer { + public ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethodSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethodSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod fromValue( + String value) { + return new ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingNewlineDelimited.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingNewlineDelimited.java new file mode 100644 index 00000000000..8522a9cce3e --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingNewlineDelimited.java @@ -0,0 +1,163 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Each log event is delimited by a newline character. */ +@JsonPropertyOrder({ + ObservabilityPipelineSocketDestinationFramingNewlineDelimited.JSON_PROPERTY_METHOD +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketDestinationFramingNewlineDelimited { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_METHOD = "method"; + private ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod method; + + public ObservabilityPipelineSocketDestinationFramingNewlineDelimited() {} + + @JsonCreator + public ObservabilityPipelineSocketDestinationFramingNewlineDelimited( + @JsonProperty(required = true, value = JSON_PROPERTY_METHOD) + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + } + + public ObservabilityPipelineSocketDestinationFramingNewlineDelimited method( + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + return this; + } + + /** + * The definition of ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod + * object. + * + * @return method + */ + @JsonProperty(JSON_PROPERTY_METHOD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod getMethod() { + return method; + } + + public void setMethod( + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod method) { + if (!method.isValid()) { + this.unparsed = true; + } + this.method = method; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketDestinationFramingNewlineDelimited + */ + @JsonAnySetter + public ObservabilityPipelineSocketDestinationFramingNewlineDelimited putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this ObservabilityPipelineSocketDestinationFramingNewlineDelimited object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketDestinationFramingNewlineDelimited + observabilityPipelineSocketDestinationFramingNewlineDelimited = + (ObservabilityPipelineSocketDestinationFramingNewlineDelimited) o; + return Objects.equals( + this.method, observabilityPipelineSocketDestinationFramingNewlineDelimited.method) + && Objects.equals( + this.additionalProperties, + observabilityPipelineSocketDestinationFramingNewlineDelimited.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(method, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketDestinationFramingNewlineDelimited {\n"); + sb.append(" method: ").append(toIndentedString(method)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod.java new file mode 100644 index 00000000000..d4f4165cf3a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod.java @@ -0,0 +1,70 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** + * The definition of ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod + * object. + */ +@JsonSerialize( + using = + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod + .ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethodSerializer.class) +public class ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod + extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("newline_delimited")); + + public static final ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod + NEWLINE_DELIMITED = + new ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod( + "newline_delimited"); + + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethodSerializer + extends StdSerializer { + public ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethodSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethodSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod fromValue( + String value) { + return new ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationMode.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationMode.java new file mode 100644 index 00000000000..eeae3696c4d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationMode.java @@ -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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Protocol used to send logs. */ +@JsonSerialize( + using = + ObservabilityPipelineSocketDestinationMode + .ObservabilityPipelineSocketDestinationModeSerializer.class) +public class ObservabilityPipelineSocketDestinationMode extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("tcp", "udp")); + + public static final ObservabilityPipelineSocketDestinationMode TCP = + new ObservabilityPipelineSocketDestinationMode("tcp"); + public static final ObservabilityPipelineSocketDestinationMode UDP = + new ObservabilityPipelineSocketDestinationMode("udp"); + + ObservabilityPipelineSocketDestinationMode(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketDestinationModeSerializer + extends StdSerializer { + public ObservabilityPipelineSocketDestinationModeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketDestinationModeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketDestinationMode value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketDestinationMode fromValue(String value) { + return new ObservabilityPipelineSocketDestinationMode(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationType.java new file mode 100644 index 00000000000..6b669ce7006 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketDestinationType.java @@ -0,0 +1,62 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The destination type. The value should always be socket. */ +@JsonSerialize( + using = + ObservabilityPipelineSocketDestinationType + .ObservabilityPipelineSocketDestinationTypeSerializer.class) +public class ObservabilityPipelineSocketDestinationType extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("socket")); + + public static final ObservabilityPipelineSocketDestinationType SOCKET = + new ObservabilityPipelineSocketDestinationType("socket"); + + ObservabilityPipelineSocketDestinationType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketDestinationTypeSerializer + extends StdSerializer { + public ObservabilityPipelineSocketDestinationTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketDestinationTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketDestinationType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketDestinationType fromValue(String value) { + return new ObservabilityPipelineSocketDestinationType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSource.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSource.java new file mode 100644 index 00000000000..540d3d87e1b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSource.java @@ -0,0 +1,276 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** The socket source ingests logs over TCP or UDP. */ +@JsonPropertyOrder({ + ObservabilityPipelineSocketSource.JSON_PROPERTY_FRAMING, + ObservabilityPipelineSocketSource.JSON_PROPERTY_ID, + ObservabilityPipelineSocketSource.JSON_PROPERTY_MODE, + ObservabilityPipelineSocketSource.JSON_PROPERTY_TLS, + ObservabilityPipelineSocketSource.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketSource { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_FRAMING = "framing"; + private ObservabilityPipelineSocketSourceFraming framing; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_MODE = "mode"; + private ObservabilityPipelineSocketSourceMode mode; + + public static final String JSON_PROPERTY_TLS = "tls"; + private ObservabilityPipelineTls tls; + + public static final String JSON_PROPERTY_TYPE = "type"; + private ObservabilityPipelineSocketSourceType type = ObservabilityPipelineSocketSourceType.SOCKET; + + public ObservabilityPipelineSocketSource() {} + + @JsonCreator + public ObservabilityPipelineSocketSource( + @JsonProperty(required = true, value = JSON_PROPERTY_FRAMING) + ObservabilityPipelineSocketSourceFraming framing, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_MODE) + ObservabilityPipelineSocketSourceMode mode, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + ObservabilityPipelineSocketSourceType type) { + this.framing = framing; + this.unparsed |= framing.unparsed; + this.id = id; + this.mode = mode; + this.unparsed |= !mode.isValid(); + this.type = type; + this.unparsed |= !type.isValid(); + } + + public ObservabilityPipelineSocketSource framing( + ObservabilityPipelineSocketSourceFraming framing) { + this.framing = framing; + this.unparsed |= framing.unparsed; + return this; + } + + /** + * Framing method configuration for the socket source. + * + * @return framing + */ + @JsonProperty(JSON_PROPERTY_FRAMING) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketSourceFraming getFraming() { + return framing; + } + + public void setFraming(ObservabilityPipelineSocketSourceFraming framing) { + this.framing = framing; + } + + public ObservabilityPipelineSocketSource id(String id) { + this.id = id; + return this; + } + + /** + * The unique identifier for this component. Used to reference this component in other parts of + * the pipeline (e.g., as input to downstream components). + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public ObservabilityPipelineSocketSource mode(ObservabilityPipelineSocketSourceMode mode) { + this.mode = mode; + this.unparsed |= !mode.isValid(); + return this; + } + + /** + * Protocol used to receive logs. + * + * @return mode + */ + @JsonProperty(JSON_PROPERTY_MODE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketSourceMode getMode() { + return mode; + } + + public void setMode(ObservabilityPipelineSocketSourceMode mode) { + if (!mode.isValid()) { + this.unparsed = true; + } + this.mode = mode; + } + + public ObservabilityPipelineSocketSource tls(ObservabilityPipelineTls tls) { + this.tls = tls; + this.unparsed |= tls.unparsed; + return this; + } + + /** + * Configuration for enabling TLS encryption between the pipeline component and external services. + * + * @return tls + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TLS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineTls getTls() { + return tls; + } + + public void setTls(ObservabilityPipelineTls tls) { + this.tls = tls; + } + + public ObservabilityPipelineSocketSource type(ObservabilityPipelineSocketSourceType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The source type. The value should always be socket. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketSourceType getType() { + return type; + } + + public void setType(ObservabilityPipelineSocketSourceType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketSource + */ + @JsonAnySetter + public ObservabilityPipelineSocketSource putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ObservabilityPipelineSocketSource object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketSource observabilityPipelineSocketSource = + (ObservabilityPipelineSocketSource) o; + return Objects.equals(this.framing, observabilityPipelineSocketSource.framing) + && Objects.equals(this.id, observabilityPipelineSocketSource.id) + && Objects.equals(this.mode, observabilityPipelineSocketSource.mode) + && Objects.equals(this.tls, observabilityPipelineSocketSource.tls) + && Objects.equals(this.type, observabilityPipelineSocketSource.type) + && Objects.equals( + this.additionalProperties, observabilityPipelineSocketSource.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(framing, id, mode, tls, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketSource {\n"); + sb.append(" framing: ").append(toIndentedString(framing)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" mode: ").append(toIndentedString(mode)).append("\n"); + sb.append(" tls: ").append(toIndentedString(tls)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFraming.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFraming.java new file mode 100644 index 00000000000..78bd863909c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFraming.java @@ -0,0 +1,607 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.AbstractOpenApiSchema; +import com.datadog.api.client.JSON; +import com.datadog.api.client.UnparsedObject; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import jakarta.ws.rs.core.GenericType; +import java.io.IOException; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +@JsonDeserialize( + using = + ObservabilityPipelineSocketSourceFraming + .ObservabilityPipelineSocketSourceFramingDeserializer.class) +@JsonSerialize( + using = + ObservabilityPipelineSocketSourceFraming.ObservabilityPipelineSocketSourceFramingSerializer + .class) +public class ObservabilityPipelineSocketSourceFraming extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(ObservabilityPipelineSocketSourceFraming.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class ObservabilityPipelineSocketSourceFramingSerializer + extends StdSerializer { + public ObservabilityPipelineSocketSourceFramingSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketSourceFramingSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketSourceFraming value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class ObservabilityPipelineSocketSourceFramingDeserializer + extends StdDeserializer { + public ObservabilityPipelineSocketSourceFramingDeserializer() { + this(ObservabilityPipelineSocketSourceFraming.class); + } + + public ObservabilityPipelineSocketSourceFramingDeserializer(Class vc) { + super(vc); + } + + @Override + public ObservabilityPipelineSocketSourceFraming deserialize( + JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + Object tmp = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize ObservabilityPipelineSocketSourceFramingNewlineDelimited + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals(Integer.class) + || ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals(Long.class) + || ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals(Float.class) + || ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals(Double.class) + || ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals(Boolean.class) + || ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals( + Integer.class) + || ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals( + Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals(Float.class) + || ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals( + Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingNewlineDelimited.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineSocketSourceFramingNewlineDelimited.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketSourceFramingNewlineDelimited) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineSocketSourceFramingNewlineDelimited'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineSocketSourceFramingNewlineDelimited'", + e); + } + + // deserialize ObservabilityPipelineSocketSourceFramingBytes + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketSourceFramingBytes.class.equals(Integer.class) + || ObservabilityPipelineSocketSourceFramingBytes.class.equals(Long.class) + || ObservabilityPipelineSocketSourceFramingBytes.class.equals(Float.class) + || ObservabilityPipelineSocketSourceFramingBytes.class.equals(Double.class) + || ObservabilityPipelineSocketSourceFramingBytes.class.equals(Boolean.class) + || ObservabilityPipelineSocketSourceFramingBytes.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingBytes.class.equals(Integer.class) + || ObservabilityPipelineSocketSourceFramingBytes.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingBytes.class.equals(Float.class) + || ObservabilityPipelineSocketSourceFramingBytes.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingBytes.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingBytes.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineSocketSourceFramingBytes.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketSourceFramingBytes) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema 'ObservabilityPipelineSocketSourceFramingBytes'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'ObservabilityPipelineSocketSourceFramingBytes'", + e); + } + + // deserialize ObservabilityPipelineSocketSourceFramingCharacterDelimited + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals(Integer.class) + || ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals(Long.class) + || ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals(Float.class) + || ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals(Double.class) + || ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals( + Boolean.class) + || ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals( + Integer.class) + || ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals( + Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals( + Float.class) + || ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals( + Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingCharacterDelimited.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineSocketSourceFramingCharacterDelimited.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketSourceFramingCharacterDelimited) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineSocketSourceFramingCharacterDelimited'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineSocketSourceFramingCharacterDelimited'", + e); + } + + // deserialize ObservabilityPipelineSocketSourceFramingOctetCounting + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(Integer.class) + || ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(Long.class) + || ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(Float.class) + || ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(Double.class) + || ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(Boolean.class) + || ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(Integer.class) + || ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals( + Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(Float.class) + || ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals( + Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingOctetCounting.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineSocketSourceFramingOctetCounting.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketSourceFramingOctetCounting) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema 'ObservabilityPipelineSocketSourceFramingOctetCounting'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineSocketSourceFramingOctetCounting'", + e); + } + + // deserialize ObservabilityPipelineSocketSourceFramingChunkedGelf + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(Integer.class) + || ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(Long.class) + || ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(Float.class) + || ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(Double.class) + || ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(Boolean.class) + || ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(Integer.class) + || ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals( + Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(Float.class) + || ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals( + Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineSocketSourceFramingChunkedGelf.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineSocketSourceFramingChunkedGelf.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ObservabilityPipelineSocketSourceFramingChunkedGelf) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema 'ObservabilityPipelineSocketSourceFramingChunkedGelf'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineSocketSourceFramingChunkedGelf'", + e); + } + + ObservabilityPipelineSocketSourceFraming ret = new ObservabilityPipelineSocketSourceFraming(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public ObservabilityPipelineSocketSourceFraming getNullValue(DeserializationContext ctxt) + throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "ObservabilityPipelineSocketSourceFraming cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public ObservabilityPipelineSocketSourceFraming() { + super("oneOf", Boolean.FALSE); + } + + public ObservabilityPipelineSocketSourceFraming( + ObservabilityPipelineSocketSourceFramingNewlineDelimited o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineSocketSourceFraming(ObservabilityPipelineSocketSourceFramingBytes o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineSocketSourceFraming( + ObservabilityPipelineSocketSourceFramingCharacterDelimited o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineSocketSourceFraming( + ObservabilityPipelineSocketSourceFramingOctetCounting o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineSocketSourceFraming( + ObservabilityPipelineSocketSourceFramingChunkedGelf o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "ObservabilityPipelineSocketSourceFramingNewlineDelimited", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineSocketSourceFramingBytes", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineSocketSourceFramingCharacterDelimited", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineSocketSourceFramingOctetCounting", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineSocketSourceFramingChunkedGelf", + new GenericType() {}); + JSON.registerDescendants( + ObservabilityPipelineSocketSourceFraming.class, Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return ObservabilityPipelineSocketSourceFraming.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: ObservabilityPipelineSocketSourceFramingNewlineDelimited, + * ObservabilityPipelineSocketSourceFramingBytes, + * ObservabilityPipelineSocketSourceFramingCharacterDelimited, + * ObservabilityPipelineSocketSourceFramingOctetCounting, + * ObservabilityPipelineSocketSourceFramingChunkedGelf + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + ObservabilityPipelineSocketSourceFramingNewlineDelimited.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineSocketSourceFramingBytes.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineSocketSourceFramingCharacterDelimited.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineSocketSourceFramingOctetCounting.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineSocketSourceFramingChunkedGelf.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException( + "Invalid instance type. Must be ObservabilityPipelineSocketSourceFramingNewlineDelimited," + + " ObservabilityPipelineSocketSourceFramingBytes," + + " ObservabilityPipelineSocketSourceFramingCharacterDelimited," + + " ObservabilityPipelineSocketSourceFramingOctetCounting," + + " ObservabilityPipelineSocketSourceFramingChunkedGelf"); + } + + /** + * Get the actual instance, which can be the following: + * ObservabilityPipelineSocketSourceFramingNewlineDelimited, + * ObservabilityPipelineSocketSourceFramingBytes, + * ObservabilityPipelineSocketSourceFramingCharacterDelimited, + * ObservabilityPipelineSocketSourceFramingOctetCounting, + * ObservabilityPipelineSocketSourceFramingChunkedGelf + * + * @return The actual instance (ObservabilityPipelineSocketSourceFramingNewlineDelimited, + * ObservabilityPipelineSocketSourceFramingBytes, + * ObservabilityPipelineSocketSourceFramingCharacterDelimited, + * ObservabilityPipelineSocketSourceFramingOctetCounting, + * ObservabilityPipelineSocketSourceFramingChunkedGelf) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineSocketSourceFramingNewlineDelimited`. If the + * actual instance is not `ObservabilityPipelineSocketSourceFramingNewlineDelimited`, the + * ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineSocketSourceFramingNewlineDelimited` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineSocketSourceFramingNewlineDelimited` + */ + public ObservabilityPipelineSocketSourceFramingNewlineDelimited + getObservabilityPipelineSocketSourceFramingNewlineDelimited() throws ClassCastException { + return (ObservabilityPipelineSocketSourceFramingNewlineDelimited) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineSocketSourceFramingBytes`. If the actual + * instance is not `ObservabilityPipelineSocketSourceFramingBytes`, the ClassCastException will be + * thrown. + * + * @return The actual instance of `ObservabilityPipelineSocketSourceFramingBytes` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineSocketSourceFramingBytes` + */ + public ObservabilityPipelineSocketSourceFramingBytes + getObservabilityPipelineSocketSourceFramingBytes() throws ClassCastException { + return (ObservabilityPipelineSocketSourceFramingBytes) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineSocketSourceFramingCharacterDelimited`. If the + * actual instance is not `ObservabilityPipelineSocketSourceFramingCharacterDelimited`, the + * ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineSocketSourceFramingCharacterDelimited` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineSocketSourceFramingCharacterDelimited` + */ + public ObservabilityPipelineSocketSourceFramingCharacterDelimited + getObservabilityPipelineSocketSourceFramingCharacterDelimited() throws ClassCastException { + return (ObservabilityPipelineSocketSourceFramingCharacterDelimited) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineSocketSourceFramingOctetCounting`. If the + * actual instance is not `ObservabilityPipelineSocketSourceFramingOctetCounting`, the + * ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineSocketSourceFramingOctetCounting` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineSocketSourceFramingOctetCounting` + */ + public ObservabilityPipelineSocketSourceFramingOctetCounting + getObservabilityPipelineSocketSourceFramingOctetCounting() throws ClassCastException { + return (ObservabilityPipelineSocketSourceFramingOctetCounting) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineSocketSourceFramingChunkedGelf`. If the actual + * instance is not `ObservabilityPipelineSocketSourceFramingChunkedGelf`, the ClassCastException + * will be thrown. + * + * @return The actual instance of `ObservabilityPipelineSocketSourceFramingChunkedGelf` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineSocketSourceFramingChunkedGelf` + */ + public ObservabilityPipelineSocketSourceFramingChunkedGelf + getObservabilityPipelineSocketSourceFramingChunkedGelf() throws ClassCastException { + return (ObservabilityPipelineSocketSourceFramingChunkedGelf) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingBytes.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingBytes.java new file mode 100644 index 00000000000..87868c96336 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingBytes.java @@ -0,0 +1,158 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** + * Byte frames are passed through as-is according to the underlying I/O boundaries (for example, + * split between messages or stream segments). + */ +@JsonPropertyOrder({ObservabilityPipelineSocketSourceFramingBytes.JSON_PROPERTY_METHOD}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketSourceFramingBytes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_METHOD = "method"; + private ObservabilityPipelineSocketSourceFramingBytesMethod method; + + public ObservabilityPipelineSocketSourceFramingBytes() {} + + @JsonCreator + public ObservabilityPipelineSocketSourceFramingBytes( + @JsonProperty(required = true, value = JSON_PROPERTY_METHOD) + ObservabilityPipelineSocketSourceFramingBytesMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + } + + public ObservabilityPipelineSocketSourceFramingBytes method( + ObservabilityPipelineSocketSourceFramingBytesMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + return this; + } + + /** + * Byte frames are passed through as-is according to the underlying I/O boundaries (for example, + * split between messages or stream segments). + * + * @return method + */ + @JsonProperty(JSON_PROPERTY_METHOD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketSourceFramingBytesMethod getMethod() { + return method; + } + + public void setMethod(ObservabilityPipelineSocketSourceFramingBytesMethod method) { + if (!method.isValid()) { + this.unparsed = true; + } + this.method = method; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketSourceFramingBytes + */ + @JsonAnySetter + public ObservabilityPipelineSocketSourceFramingBytes putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ObservabilityPipelineSocketSourceFramingBytes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketSourceFramingBytes observabilityPipelineSocketSourceFramingBytes = + (ObservabilityPipelineSocketSourceFramingBytes) o; + return Objects.equals(this.method, observabilityPipelineSocketSourceFramingBytes.method) + && Objects.equals( + this.additionalProperties, + observabilityPipelineSocketSourceFramingBytes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(method, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketSourceFramingBytes {\n"); + sb.append(" method: ").append(toIndentedString(method)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingBytesMethod.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingBytesMethod.java new file mode 100644 index 00000000000..a8ef2e5a14f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingBytesMethod.java @@ -0,0 +1,65 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** + * Byte frames are passed through as-is according to the underlying I/O boundaries (for example, + * split between messages or stream segments). + */ +@JsonSerialize( + using = + ObservabilityPipelineSocketSourceFramingBytesMethod + .ObservabilityPipelineSocketSourceFramingBytesMethodSerializer.class) +public class ObservabilityPipelineSocketSourceFramingBytesMethod extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("bytes")); + + public static final ObservabilityPipelineSocketSourceFramingBytesMethod BYTES = + new ObservabilityPipelineSocketSourceFramingBytesMethod("bytes"); + + ObservabilityPipelineSocketSourceFramingBytesMethod(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketSourceFramingBytesMethodSerializer + extends StdSerializer { + public ObservabilityPipelineSocketSourceFramingBytesMethodSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketSourceFramingBytesMethodSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketSourceFramingBytesMethod value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketSourceFramingBytesMethod fromValue(String value) { + return new ObservabilityPipelineSocketSourceFramingBytesMethod(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingCharacterDelimited.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingCharacterDelimited.java new file mode 100644 index 00000000000..babb53e5617 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingCharacterDelimited.java @@ -0,0 +1,190 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Byte frames which are delimited by a chosen character. */ +@JsonPropertyOrder({ + ObservabilityPipelineSocketSourceFramingCharacterDelimited.JSON_PROPERTY_DELIMITER, + ObservabilityPipelineSocketSourceFramingCharacterDelimited.JSON_PROPERTY_METHOD +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketSourceFramingCharacterDelimited { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DELIMITER = "delimiter"; + private String delimiter; + + public static final String JSON_PROPERTY_METHOD = "method"; + private ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod method; + + public ObservabilityPipelineSocketSourceFramingCharacterDelimited() {} + + @JsonCreator + public ObservabilityPipelineSocketSourceFramingCharacterDelimited( + @JsonProperty(required = true, value = JSON_PROPERTY_DELIMITER) String delimiter, + @JsonProperty(required = true, value = JSON_PROPERTY_METHOD) + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod method) { + this.delimiter = delimiter; + this.method = method; + this.unparsed |= !method.isValid(); + } + + public ObservabilityPipelineSocketSourceFramingCharacterDelimited delimiter(String delimiter) { + this.delimiter = delimiter; + return this; + } + + /** + * A single ASCII character used to delimit events. + * + * @return delimiter + */ + @JsonProperty(JSON_PROPERTY_DELIMITER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getDelimiter() { + return delimiter; + } + + public void setDelimiter(String delimiter) { + this.delimiter = delimiter; + } + + public ObservabilityPipelineSocketSourceFramingCharacterDelimited method( + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + return this; + } + + /** + * Byte frames which are delimited by a chosen character. + * + * @return method + */ + @JsonProperty(JSON_PROPERTY_METHOD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod getMethod() { + return method; + } + + public void setMethod(ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod method) { + if (!method.isValid()) { + this.unparsed = true; + } + this.method = method; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketSourceFramingCharacterDelimited + */ + @JsonAnySetter + public ObservabilityPipelineSocketSourceFramingCharacterDelimited putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this ObservabilityPipelineSocketSourceFramingCharacterDelimited object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketSourceFramingCharacterDelimited + observabilityPipelineSocketSourceFramingCharacterDelimited = + (ObservabilityPipelineSocketSourceFramingCharacterDelimited) o; + return Objects.equals( + this.delimiter, observabilityPipelineSocketSourceFramingCharacterDelimited.delimiter) + && Objects.equals( + this.method, observabilityPipelineSocketSourceFramingCharacterDelimited.method) + && Objects.equals( + this.additionalProperties, + observabilityPipelineSocketSourceFramingCharacterDelimited.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(delimiter, method, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketSourceFramingCharacterDelimited {\n"); + sb.append(" delimiter: ").append(toIndentedString(delimiter)).append("\n"); + sb.append(" method: ").append(toIndentedString(method)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod.java new file mode 100644 index 00000000000..54d25090753 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod.java @@ -0,0 +1,67 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Byte frames which are delimited by a chosen character. */ +@JsonSerialize( + using = + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod + .ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethodSerializer.class) +public class ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod + extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("character_delimited")); + + public static final ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod + CHARACTER_DELIMITED = + new ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod( + "character_delimited"); + + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethodSerializer + extends StdSerializer { + public ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethodSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethodSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod fromValue( + String value) { + return new ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingChunkedGelf.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingChunkedGelf.java new file mode 100644 index 00000000000..a6e4aaa214c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingChunkedGelf.java @@ -0,0 +1,157 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Byte frames which are chunked GELF messages. */ +@JsonPropertyOrder({ObservabilityPipelineSocketSourceFramingChunkedGelf.JSON_PROPERTY_METHOD}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketSourceFramingChunkedGelf { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_METHOD = "method"; + private ObservabilityPipelineSocketSourceFramingChunkedGelfMethod method; + + public ObservabilityPipelineSocketSourceFramingChunkedGelf() {} + + @JsonCreator + public ObservabilityPipelineSocketSourceFramingChunkedGelf( + @JsonProperty(required = true, value = JSON_PROPERTY_METHOD) + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + } + + public ObservabilityPipelineSocketSourceFramingChunkedGelf method( + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + return this; + } + + /** + * Byte frames which are chunked GELF messages. + * + * @return method + */ + @JsonProperty(JSON_PROPERTY_METHOD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketSourceFramingChunkedGelfMethod getMethod() { + return method; + } + + public void setMethod(ObservabilityPipelineSocketSourceFramingChunkedGelfMethod method) { + if (!method.isValid()) { + this.unparsed = true; + } + this.method = method; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketSourceFramingChunkedGelf + */ + @JsonAnySetter + public ObservabilityPipelineSocketSourceFramingChunkedGelf putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this ObservabilityPipelineSocketSourceFramingChunkedGelf object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketSourceFramingChunkedGelf + observabilityPipelineSocketSourceFramingChunkedGelf = + (ObservabilityPipelineSocketSourceFramingChunkedGelf) o; + return Objects.equals(this.method, observabilityPipelineSocketSourceFramingChunkedGelf.method) + && Objects.equals( + this.additionalProperties, + observabilityPipelineSocketSourceFramingChunkedGelf.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(method, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketSourceFramingChunkedGelf {\n"); + sb.append(" method: ").append(toIndentedString(method)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod.java new file mode 100644 index 00000000000..666625a8e6c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod.java @@ -0,0 +1,63 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Byte frames which are chunked GELF messages. */ +@JsonSerialize( + using = + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod + .ObservabilityPipelineSocketSourceFramingChunkedGelfMethodSerializer.class) +public class ObservabilityPipelineSocketSourceFramingChunkedGelfMethod extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("chunked_gelf")); + + public static final ObservabilityPipelineSocketSourceFramingChunkedGelfMethod CHUNKED_GELF = + new ObservabilityPipelineSocketSourceFramingChunkedGelfMethod("chunked_gelf"); + + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketSourceFramingChunkedGelfMethodSerializer + extends StdSerializer { + public ObservabilityPipelineSocketSourceFramingChunkedGelfMethodSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketSourceFramingChunkedGelfMethodSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketSourceFramingChunkedGelfMethod fromValue(String value) { + return new ObservabilityPipelineSocketSourceFramingChunkedGelfMethod(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingNewlineDelimited.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingNewlineDelimited.java new file mode 100644 index 00000000000..16806094656 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingNewlineDelimited.java @@ -0,0 +1,159 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Byte frames which are delimited by a newline character. */ +@JsonPropertyOrder({ObservabilityPipelineSocketSourceFramingNewlineDelimited.JSON_PROPERTY_METHOD}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketSourceFramingNewlineDelimited { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_METHOD = "method"; + private ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod method; + + public ObservabilityPipelineSocketSourceFramingNewlineDelimited() {} + + @JsonCreator + public ObservabilityPipelineSocketSourceFramingNewlineDelimited( + @JsonProperty(required = true, value = JSON_PROPERTY_METHOD) + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + } + + public ObservabilityPipelineSocketSourceFramingNewlineDelimited method( + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + return this; + } + + /** + * Byte frames which are delimited by a newline character. + * + * @return method + */ + @JsonProperty(JSON_PROPERTY_METHOD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod getMethod() { + return method; + } + + public void setMethod(ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod method) { + if (!method.isValid()) { + this.unparsed = true; + } + this.method = method; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketSourceFramingNewlineDelimited + */ + @JsonAnySetter + public ObservabilityPipelineSocketSourceFramingNewlineDelimited putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this ObservabilityPipelineSocketSourceFramingNewlineDelimited object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketSourceFramingNewlineDelimited + observabilityPipelineSocketSourceFramingNewlineDelimited = + (ObservabilityPipelineSocketSourceFramingNewlineDelimited) o; + return Objects.equals( + this.method, observabilityPipelineSocketSourceFramingNewlineDelimited.method) + && Objects.equals( + this.additionalProperties, + observabilityPipelineSocketSourceFramingNewlineDelimited.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(method, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketSourceFramingNewlineDelimited {\n"); + sb.append(" method: ").append(toIndentedString(method)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod.java new file mode 100644 index 00000000000..182347a5566 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod.java @@ -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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Byte frames which are delimited by a newline character. */ +@JsonSerialize( + using = + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod + .ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethodSerializer.class) +public class ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod + extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("newline_delimited")); + + public static final ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod + NEWLINE_DELIMITED = + new ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod("newline_delimited"); + + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethodSerializer + extends StdSerializer { + public ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethodSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethodSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod fromValue( + String value) { + return new ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingOctetCounting.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingOctetCounting.java new file mode 100644 index 00000000000..f9e6ee5e2c8 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingOctetCounting.java @@ -0,0 +1,157 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Byte frames according to the octet counting format as per RFC6587. */ +@JsonPropertyOrder({ObservabilityPipelineSocketSourceFramingOctetCounting.JSON_PROPERTY_METHOD}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineSocketSourceFramingOctetCounting { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_METHOD = "method"; + private ObservabilityPipelineSocketSourceFramingOctetCountingMethod method; + + public ObservabilityPipelineSocketSourceFramingOctetCounting() {} + + @JsonCreator + public ObservabilityPipelineSocketSourceFramingOctetCounting( + @JsonProperty(required = true, value = JSON_PROPERTY_METHOD) + ObservabilityPipelineSocketSourceFramingOctetCountingMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + } + + public ObservabilityPipelineSocketSourceFramingOctetCounting method( + ObservabilityPipelineSocketSourceFramingOctetCountingMethod method) { + this.method = method; + this.unparsed |= !method.isValid(); + return this; + } + + /** + * Byte frames according to the octet counting format as per RFC6587. + * + * @return method + */ + @JsonProperty(JSON_PROPERTY_METHOD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineSocketSourceFramingOctetCountingMethod getMethod() { + return method; + } + + public void setMethod(ObservabilityPipelineSocketSourceFramingOctetCountingMethod method) { + if (!method.isValid()) { + this.unparsed = true; + } + this.method = method; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineSocketSourceFramingOctetCounting + */ + @JsonAnySetter + public ObservabilityPipelineSocketSourceFramingOctetCounting putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this ObservabilityPipelineSocketSourceFramingOctetCounting object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineSocketSourceFramingOctetCounting + observabilityPipelineSocketSourceFramingOctetCounting = + (ObservabilityPipelineSocketSourceFramingOctetCounting) o; + return Objects.equals(this.method, observabilityPipelineSocketSourceFramingOctetCounting.method) + && Objects.equals( + this.additionalProperties, + observabilityPipelineSocketSourceFramingOctetCounting.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(method, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineSocketSourceFramingOctetCounting {\n"); + sb.append(" method: ").append(toIndentedString(method)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingOctetCountingMethod.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingOctetCountingMethod.java new file mode 100644 index 00000000000..fa88d16a2be --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceFramingOctetCountingMethod.java @@ -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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Byte frames according to the octet counting format as per RFC6587. */ +@JsonSerialize( + using = + ObservabilityPipelineSocketSourceFramingOctetCountingMethod + .ObservabilityPipelineSocketSourceFramingOctetCountingMethodSerializer.class) +public class ObservabilityPipelineSocketSourceFramingOctetCountingMethod extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("octet_counting")); + + public static final ObservabilityPipelineSocketSourceFramingOctetCountingMethod OCTET_COUNTING = + new ObservabilityPipelineSocketSourceFramingOctetCountingMethod("octet_counting"); + + ObservabilityPipelineSocketSourceFramingOctetCountingMethod(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketSourceFramingOctetCountingMethodSerializer + extends StdSerializer { + public ObservabilityPipelineSocketSourceFramingOctetCountingMethodSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketSourceFramingOctetCountingMethodSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketSourceFramingOctetCountingMethod value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketSourceFramingOctetCountingMethod fromValue( + String value) { + return new ObservabilityPipelineSocketSourceFramingOctetCountingMethod(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceMode.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceMode.java new file mode 100644 index 00000000000..c2724cf6479 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceMode.java @@ -0,0 +1,63 @@ +/* + * 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 com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Protocol used to receive logs. */ +@JsonSerialize( + using = + ObservabilityPipelineSocketSourceMode.ObservabilityPipelineSocketSourceModeSerializer.class) +public class ObservabilityPipelineSocketSourceMode extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("tcp", "udp")); + + public static final ObservabilityPipelineSocketSourceMode TCP = + new ObservabilityPipelineSocketSourceMode("tcp"); + public static final ObservabilityPipelineSocketSourceMode UDP = + new ObservabilityPipelineSocketSourceMode("udp"); + + ObservabilityPipelineSocketSourceMode(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketSourceModeSerializer + extends StdSerializer { + public ObservabilityPipelineSocketSourceModeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketSourceModeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketSourceMode value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketSourceMode fromValue(String value) { + return new ObservabilityPipelineSocketSourceMode(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceType.java new file mode 100644 index 00000000000..91ddab98b5f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSocketSourceType.java @@ -0,0 +1,61 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The source type. The value should always be socket. */ +@JsonSerialize( + using = + ObservabilityPipelineSocketSourceType.ObservabilityPipelineSocketSourceTypeSerializer.class) +public class ObservabilityPipelineSocketSourceType extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("socket")); + + public static final ObservabilityPipelineSocketSourceType SOCKET = + new ObservabilityPipelineSocketSourceType("socket"); + + ObservabilityPipelineSocketSourceType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineSocketSourceTypeSerializer + extends StdSerializer { + public ObservabilityPipelineSocketSourceTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineSocketSourceTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineSocketSourceType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineSocketSourceType fromValue(String value) { + return new ObservabilityPipelineSocketSourceType(value); + } +}