@@ -1015,6 +1015,58 @@ public ObservabilityPipelineConfigDestinationItem deserialize(
10151015 e );
10161016 }
10171017
1018+ // deserialize ObservabilityPipelineGooglePubSubDestination
1019+ try {
1020+ boolean attemptParsing = true ;
1021+ // ensure that we respect type coercion as set on the client ObjectMapper
1022+ if (ObservabilityPipelineGooglePubSubDestination .class .equals (Integer .class )
1023+ || ObservabilityPipelineGooglePubSubDestination .class .equals (Long .class )
1024+ || ObservabilityPipelineGooglePubSubDestination .class .equals (Float .class )
1025+ || ObservabilityPipelineGooglePubSubDestination .class .equals (Double .class )
1026+ || ObservabilityPipelineGooglePubSubDestination .class .equals (Boolean .class )
1027+ || ObservabilityPipelineGooglePubSubDestination .class .equals (String .class )) {
1028+ attemptParsing = typeCoercion ;
1029+ if (!attemptParsing ) {
1030+ attemptParsing |=
1031+ ((ObservabilityPipelineGooglePubSubDestination .class .equals (Integer .class )
1032+ || ObservabilityPipelineGooglePubSubDestination .class .equals (Long .class ))
1033+ && token == JsonToken .VALUE_NUMBER_INT );
1034+ attemptParsing |=
1035+ ((ObservabilityPipelineGooglePubSubDestination .class .equals (Float .class )
1036+ || ObservabilityPipelineGooglePubSubDestination .class .equals (Double .class ))
1037+ && (token == JsonToken .VALUE_NUMBER_FLOAT
1038+ || token == JsonToken .VALUE_NUMBER_INT ));
1039+ attemptParsing |=
1040+ (ObservabilityPipelineGooglePubSubDestination .class .equals (Boolean .class )
1041+ && (token == JsonToken .VALUE_FALSE || token == JsonToken .VALUE_TRUE ));
1042+ attemptParsing |=
1043+ (ObservabilityPipelineGooglePubSubDestination .class .equals (String .class )
1044+ && token == JsonToken .VALUE_STRING );
1045+ }
1046+ }
1047+ if (attemptParsing ) {
1048+ tmp =
1049+ tree .traverse (jp .getCodec ())
1050+ .readValueAs (ObservabilityPipelineGooglePubSubDestination .class );
1051+ // TODO: there is no validation against JSON schema constraints
1052+ // (min, max, enum, pattern...), this does not perform a strict JSON
1053+ // validation, which means the 'match' count may be higher than it should be.
1054+ if (!((ObservabilityPipelineGooglePubSubDestination ) tmp ).unparsed ) {
1055+ deserialized = tmp ;
1056+ match ++;
1057+ }
1058+ log .log (
1059+ Level .FINER ,
1060+ "Input data matches schema 'ObservabilityPipelineGooglePubSubDestination'" );
1061+ }
1062+ } catch (Exception e ) {
1063+ // deserialization failed, continue
1064+ log .log (
1065+ Level .FINER ,
1066+ "Input data does not match schema 'ObservabilityPipelineGooglePubSubDestination'" ,
1067+ e );
1068+ }
1069+
10181070 ObservabilityPipelineConfigDestinationItem ret =
10191071 new ObservabilityPipelineConfigDestinationItem ();
10201072 if (match == 1 ) {
@@ -1142,6 +1194,12 @@ public ObservabilityPipelineConfigDestinationItem(
11421194 setActualInstance (o );
11431195 }
11441196
1197+ public ObservabilityPipelineConfigDestinationItem (
1198+ ObservabilityPipelineGooglePubSubDestination o ) {
1199+ super ("oneOf" , Boolean .FALSE );
1200+ setActualInstance (o );
1201+ }
1202+
11451203 static {
11461204 schemas .put (
11471205 "ObservabilityPipelineDatadogLogsDestination" ,
@@ -1193,6 +1251,9 @@ public ObservabilityPipelineConfigDestinationItem(
11931251 schemas .put (
11941252 "ObservabilityPipelineCrowdStrikeNextGenSiemDestination" ,
11951253 new GenericType <ObservabilityPipelineCrowdStrikeNextGenSiemDestination >() {});
1254+ schemas .put (
1255+ "ObservabilityPipelineGooglePubSubDestination" ,
1256+ new GenericType <ObservabilityPipelineGooglePubSubDestination >() {});
11961257 JSON .registerDescendants (
11971258 ObservabilityPipelineConfigDestinationItem .class , Collections .unmodifiableMap (schemas ));
11981259 }
@@ -1213,7 +1274,8 @@ public Map<String, GenericType> getSchemas() {
12131274 * ObservabilityPipelineNewRelicDestination, ObservabilityPipelineSentinelOneDestination,
12141275 * ObservabilityPipelineOpenSearchDestination, ObservabilityPipelineAmazonOpenSearchDestination,
12151276 * ObservabilityPipelineSocketDestination, ObservabilityPipelineAmazonSecurityLakeDestination,
1216- * ObservabilityPipelineCrowdStrikeNextGenSiemDestination
1277+ * ObservabilityPipelineCrowdStrikeNextGenSiemDestination,
1278+ * ObservabilityPipelineGooglePubSubDestination
12171279 *
12181280 * <p>It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
12191281 * composed schema (allOf, anyOf, oneOf).
@@ -1316,6 +1378,11 @@ public void setActualInstance(Object instance) {
13161378 super .setActualInstance (instance );
13171379 return ;
13181380 }
1381+ if (JSON .isInstanceOf (
1382+ ObservabilityPipelineGooglePubSubDestination .class , instance , new HashSet <Class <?>>())) {
1383+ super .setActualInstance (instance );
1384+ return ;
1385+ }
13191386
13201387 if (JSON .isInstanceOf (UnparsedObject .class , instance , new HashSet <Class <?>>())) {
13211388 super .setActualInstance (instance );
@@ -1337,7 +1404,8 @@ public void setActualInstance(Object instance) {
13371404 + " ObservabilityPipelineAmazonOpenSearchDestination,"
13381405 + " ObservabilityPipelineSocketDestination,"
13391406 + " ObservabilityPipelineAmazonSecurityLakeDestination,"
1340- + " ObservabilityPipelineCrowdStrikeNextGenSiemDestination" );
1407+ + " ObservabilityPipelineCrowdStrikeNextGenSiemDestination,"
1408+ + " ObservabilityPipelineGooglePubSubDestination" );
13411409 }
13421410
13431411 /**
@@ -1351,7 +1419,8 @@ public void setActualInstance(Object instance) {
13511419 * ObservabilityPipelineSentinelOneDestination, ObservabilityPipelineOpenSearchDestination,
13521420 * ObservabilityPipelineAmazonOpenSearchDestination, ObservabilityPipelineSocketDestination,
13531421 * ObservabilityPipelineAmazonSecurityLakeDestination,
1354- * ObservabilityPipelineCrowdStrikeNextGenSiemDestination
1422+ * ObservabilityPipelineCrowdStrikeNextGenSiemDestination,
1423+ * ObservabilityPipelineGooglePubSubDestination
13551424 *
13561425 * @return The actual instance (ObservabilityPipelineDatadogLogsDestination,
13571426 * ObservabilityPipelineAmazonS3Destination,
@@ -1364,7 +1433,8 @@ public void setActualInstance(Object instance) {
13641433 * ObservabilityPipelineOpenSearchDestination,
13651434 * ObservabilityPipelineAmazonOpenSearchDestination, ObservabilityPipelineSocketDestination,
13661435 * ObservabilityPipelineAmazonSecurityLakeDestination,
1367- * ObservabilityPipelineCrowdStrikeNextGenSiemDestination)
1436+ * ObservabilityPipelineCrowdStrikeNextGenSiemDestination,
1437+ * ObservabilityPipelineGooglePubSubDestination)
13681438 */
13691439 @ Override
13701440 public Object getActualInstance () {
@@ -1598,4 +1668,18 @@ public ObservabilityPipelineSocketDestination getObservabilityPipelineSocketDest
15981668 getObservabilityPipelineCrowdStrikeNextGenSiemDestination () throws ClassCastException {
15991669 return (ObservabilityPipelineCrowdStrikeNextGenSiemDestination ) super .getActualInstance ();
16001670 }
1671+
1672+ /**
1673+ * Get the actual instance of `ObservabilityPipelineGooglePubSubDestination`. If the actual
1674+ * instance is not `ObservabilityPipelineGooglePubSubDestination`, the ClassCastException will be
1675+ * thrown.
1676+ *
1677+ * @return The actual instance of `ObservabilityPipelineGooglePubSubDestination`
1678+ * @throws ClassCastException if the instance is not
1679+ * `ObservabilityPipelineGooglePubSubDestination`
1680+ */
1681+ public ObservabilityPipelineGooglePubSubDestination
1682+ getObservabilityPipelineGooglePubSubDestination () throws ClassCastException {
1683+ return (ObservabilityPipelineGooglePubSubDestination ) super .getActualInstance ();
1684+ }
16011685}
0 commit comments