getSchemas() {
+ return LogsArchiveIntegrationS3.schemas;
+ }
/**
- * Set the additional (undeclared) property with the specified name and value. If the property
- * does not already exist, create it otherwise replace it.
+ * Set the instance that matches the oneOf child schema, check the instance parameter is valid
+ * against the oneOf child schemas: LogsArchiveIntegrationS3AccessKey,
+ * LogsArchiveIntegrationS3Role
*
- * @param key The arbitrary key to set
- * @param value The associated value
- * @return LogsArchiveIntegrationS3
+ * It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
+ * composed schema (allOf, anyOf, oneOf).
*/
- @JsonAnySetter
- public LogsArchiveIntegrationS3 putAdditionalProperty(String key, Object value) {
- if (this.additionalProperties == null) {
- this.additionalProperties = new HashMap();
+ @Override
+ public void setActualInstance(Object instance) {
+ if (JSON.isInstanceOf(
+ LogsArchiveIntegrationS3AccessKey.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+ if (JSON.isInstanceOf(LogsArchiveIntegrationS3Role.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
}
- this.additionalProperties.put(key, value);
- return this;
+ throw new RuntimeException(
+ "Invalid instance type. Must be LogsArchiveIntegrationS3AccessKey,"
+ + " LogsArchiveIntegrationS3Role");
}
/**
- * Return the additional (undeclared) property.
+ * Get the actual instance, which can be the following: LogsArchiveIntegrationS3AccessKey,
+ * LogsArchiveIntegrationS3Role
*
- * @return The additional properties
+ * @return The actual instance (LogsArchiveIntegrationS3AccessKey, LogsArchiveIntegrationS3Role)
*/
- @JsonAnyGetter
- public Map getAdditionalProperties() {
- return additionalProperties;
+ @Override
+ public Object getActualInstance() {
+ return super.getActualInstance();
}
/**
- * Return the additional (undeclared) property with the specified name.
+ * Get the actual instance of `LogsArchiveIntegrationS3AccessKey`. If the actual instance is not
+ * `LogsArchiveIntegrationS3AccessKey`, the ClassCastException will be thrown.
*
- * @param key The arbitrary key to get
- * @return The specific additional property for the given key
+ * @return The actual instance of `LogsArchiveIntegrationS3AccessKey`
+ * @throws ClassCastException if the instance is not `LogsArchiveIntegrationS3AccessKey`
*/
- public Object getAdditionalProperty(String key) {
- if (this.additionalProperties == null) {
- return null;
- }
- return this.additionalProperties.get(key);
- }
-
- /** Return true if this LogsArchiveIntegrationS3 object is equal to o. */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- LogsArchiveIntegrationS3 logsArchiveIntegrationS3 = (LogsArchiveIntegrationS3) o;
- return Objects.equals(this.accountId, logsArchiveIntegrationS3.accountId)
- && Objects.equals(this.roleName, logsArchiveIntegrationS3.roleName)
- && Objects.equals(this.additionalProperties, logsArchiveIntegrationS3.additionalProperties);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(accountId, roleName, additionalProperties);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class LogsArchiveIntegrationS3 {\n");
- sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n");
- sb.append(" roleName: ").append(toIndentedString(roleName)).append("\n");
- sb.append(" additionalProperties: ")
- .append(toIndentedString(additionalProperties))
- .append("\n");
- sb.append('}');
- return sb.toString();
+ public LogsArchiveIntegrationS3AccessKey getLogsArchiveIntegrationS3AccessKey()
+ throws ClassCastException {
+ return (LogsArchiveIntegrationS3AccessKey) super.getActualInstance();
}
/**
- * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ * Get the actual instance of `LogsArchiveIntegrationS3Role`. If the actual instance is not
+ * `LogsArchiveIntegrationS3Role`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `LogsArchiveIntegrationS3Role`
+ * @throws ClassCastException if the instance is not `LogsArchiveIntegrationS3Role`
*/
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ public LogsArchiveIntegrationS3Role getLogsArchiveIntegrationS3Role() throws ClassCastException {
+ return (LogsArchiveIntegrationS3Role) super.getActualInstance();
}
}
diff --git a/src/main/java/com/datadog/api/client/v2/model/LogsArchiveIntegrationS3AccessKey.java b/src/main/java/com/datadog/api/client/v2/model/LogsArchiveIntegrationS3AccessKey.java
new file mode 100644
index 00000000000..da81d59e699
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/LogsArchiveIntegrationS3AccessKey.java
@@ -0,0 +1,145 @@
+/*
+ * 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 S3 Archive's integration destination using an access key. */
+@JsonPropertyOrder({LogsArchiveIntegrationS3AccessKey.JSON_PROPERTY_ACCESS_KEY_ID})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class LogsArchiveIntegrationS3AccessKey {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ACCESS_KEY_ID = "access_key_id";
+ private String accessKeyId;
+
+ public LogsArchiveIntegrationS3AccessKey() {}
+
+ @JsonCreator
+ public LogsArchiveIntegrationS3AccessKey(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ACCESS_KEY_ID) String accessKeyId) {
+ this.accessKeyId = accessKeyId;
+ }
+
+ public LogsArchiveIntegrationS3AccessKey accessKeyId(String accessKeyId) {
+ this.accessKeyId = accessKeyId;
+ return this;
+ }
+
+ /**
+ * The access key ID for the integration.
+ *
+ * @return accessKeyId
+ */
+ @JsonProperty(JSON_PROPERTY_ACCESS_KEY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAccessKeyId() {
+ return accessKeyId;
+ }
+
+ public void setAccessKeyId(String accessKeyId) {
+ this.accessKeyId = accessKeyId;
+ }
+
+ /**
+ * 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 LogsArchiveIntegrationS3AccessKey
+ */
+ @JsonAnySetter
+ public LogsArchiveIntegrationS3AccessKey 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 LogsArchiveIntegrationS3AccessKey object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ LogsArchiveIntegrationS3AccessKey logsArchiveIntegrationS3AccessKey =
+ (LogsArchiveIntegrationS3AccessKey) o;
+ return Objects.equals(this.accessKeyId, logsArchiveIntegrationS3AccessKey.accessKeyId)
+ && Objects.equals(
+ this.additionalProperties, logsArchiveIntegrationS3AccessKey.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(accessKeyId, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class LogsArchiveIntegrationS3AccessKey {\n");
+ sb.append(" accessKeyId: ").append(toIndentedString(accessKeyId)).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/LogsArchiveIntegrationS3Role.java b/src/main/java/com/datadog/api/client/v2/model/LogsArchiveIntegrationS3Role.java
new file mode 100644
index 00000000000..6cf709a2e1b
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/LogsArchiveIntegrationS3Role.java
@@ -0,0 +1,174 @@
+/*
+ * 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 S3 Archive's integration destination using an IAM role. */
+@JsonPropertyOrder({
+ LogsArchiveIntegrationS3Role.JSON_PROPERTY_ACCOUNT_ID,
+ LogsArchiveIntegrationS3Role.JSON_PROPERTY_ROLE_NAME
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class LogsArchiveIntegrationS3Role {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ACCOUNT_ID = "account_id";
+ private String accountId;
+
+ public static final String JSON_PROPERTY_ROLE_NAME = "role_name";
+ private String roleName;
+
+ public LogsArchiveIntegrationS3Role() {}
+
+ @JsonCreator
+ public LogsArchiveIntegrationS3Role(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ACCOUNT_ID) String accountId,
+ @JsonProperty(required = true, value = JSON_PROPERTY_ROLE_NAME) String roleName) {
+ this.accountId = accountId;
+ this.roleName = roleName;
+ }
+
+ public LogsArchiveIntegrationS3Role accountId(String accountId) {
+ this.accountId = accountId;
+ return this;
+ }
+
+ /**
+ * The account ID for the integration.
+ *
+ * @return accountId
+ */
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAccountId() {
+ return accountId;
+ }
+
+ public void setAccountId(String accountId) {
+ this.accountId = accountId;
+ }
+
+ public LogsArchiveIntegrationS3Role roleName(String roleName) {
+ this.roleName = roleName;
+ return this;
+ }
+
+ /**
+ * The name of the role to assume for the integration.
+ *
+ * @return roleName
+ */
+ @JsonProperty(JSON_PROPERTY_ROLE_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getRoleName() {
+ return roleName;
+ }
+
+ public void setRoleName(String roleName) {
+ this.roleName = roleName;
+ }
+
+ /**
+ * 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 LogsArchiveIntegrationS3Role
+ */
+ @JsonAnySetter
+ public LogsArchiveIntegrationS3Role 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 LogsArchiveIntegrationS3Role object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ LogsArchiveIntegrationS3Role logsArchiveIntegrationS3Role = (LogsArchiveIntegrationS3Role) o;
+ return Objects.equals(this.accountId, logsArchiveIntegrationS3Role.accountId)
+ && Objects.equals(this.roleName, logsArchiveIntegrationS3Role.roleName)
+ && Objects.equals(
+ this.additionalProperties, logsArchiveIntegrationS3Role.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(accountId, roleName, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class LogsArchiveIntegrationS3Role {\n");
+ sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n");
+ sb.append(" roleName: ").append(toIndentedString(roleName)).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 ");
+ }
+}