diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml
index 560b3188e9f..949387d37f0 100644
--- a/.generator/schemas/v2/openapi.yaml
+++ b/.generator/schemas/v2/openapi.yaml
@@ -949,6 +949,13 @@ components:
required: true
schema:
type: string
+ IntegrationAccountIdParameter:
+ description: Unique identifier of the integration account.
+ in: path
+ name: account_id
+ required: true
+ schema:
+ type: string
IssueIDPathParameter:
description: The identifier of the issue.
example: "c1726a66-1f64-11ee-b338-da7ad0900002"
@@ -34896,6 +34903,364 @@ components:
- score
- severity
type: object
+ ElasticCloudDetailedIndexStatsIntegrationDataflowRequest:
+ description: The Elastic Cloud detailed index stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ ElasticCloudDetailedIndexStatsIntegrationDataflowResponse:
+ description: The Elastic Cloud detailed index stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ ElasticCloudIndexStatsIntegrationDataflowRequest:
+ description: The Elastic Cloud index stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ ElasticCloudIndexStatsIntegrationDataflowResponse:
+ description: The Elastic Cloud index stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ ElasticCloudIntegrationAccountAuthenticationRequest:
+ description: Authentication for creating the Elastic Cloud integration account. Exactly one method is set.
+ oneOf:
+ - $ref: "#/components/schemas/IntegrationAccountBasicAuthRequest"
+ ElasticCloudIntegrationAccountAuthenticationResponse:
+ description: Authentication configured on the Elastic Cloud integration account.
+ oneOf:
+ - $ref: "#/components/schemas/IntegrationAccountBasicAuthResponse"
+ ElasticCloudIntegrationAccountAuthenticationUpdate:
+ description: Authentication for updating the Elastic Cloud integration account. Exactly one method is set.
+ oneOf:
+ - $ref: "#/components/schemas/IntegrationAccountBasicAuthUpdate"
+ ElasticCloudIntegrationAccountCreateAttributes:
+ description: Writable attributes used to create an Elastic Cloud integration account.
+ properties:
+ authentication:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountAuthenticationRequest"
+ dataflows:
+ $ref: "#/components/schemas/ElasticCloudIntegrationDataflowsRequest"
+ name:
+ description: Human-readable name of the Elastic Cloud integration account.
+ example: elastic-cloud-prod
+ type: string
+ settings:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountSettingsRequest"
+ required:
+ - name
+ - authentication
+ - settings
+ type: object
+ ElasticCloudIntegrationAccountCreateData:
+ description: Data envelope for creating an Elastic Cloud integration account.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountCreateAttributes"
+ type:
+ $ref: "#/components/schemas/IntegrationAccountType"
+ required:
+ - type
+ - attributes
+ type: object
+ ElasticCloudIntegrationAccountCreateRequest:
+ description: Request payload to create an Elastic Cloud integration account.
+ properties:
+ data:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountCreateData"
+ required:
+ - data
+ type: object
+ ElasticCloudIntegrationAccountResponse:
+ description: Response payload for a single Elastic Cloud integration account.
+ properties:
+ data:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountResponseData"
+ required:
+ - data
+ type: object
+ ElasticCloudIntegrationAccountResponseAttributes:
+ description: Attributes of an Elastic Cloud integration account returned in responses.
+ properties:
+ authentication:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountAuthenticationResponse"
+ dataflows:
+ $ref: "#/components/schemas/ElasticCloudIntegrationDataflowsResponse"
+ name:
+ description: Human-readable name of the Elastic Cloud integration account.
+ example: elastic-cloud-prod
+ type: string
+ settings:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountSettingsResponse"
+ required:
+ - name
+ - settings
+ type: object
+ ElasticCloudIntegrationAccountResponseData:
+ description: Data envelope of an Elastic Cloud integration account, including server-assigned identity.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountResponseAttributes"
+ id:
+ description: Server-generated unique identifier of the Elastic Cloud integration account.
+ example: 953a0060-81ec-4221-aed4-d4733b59cd96
+ readOnly: true
+ type: string
+ type:
+ $ref: "#/components/schemas/IntegrationAccountType"
+ required:
+ - id
+ - attributes
+ - type
+ type: object
+ ElasticCloudIntegrationAccountSettingsRequest:
+ description: Settings for creating the Elastic Cloud integration account.
+ properties:
+ tags:
+ description: Comma-separated list of custom tags for this Elastic Cloud deployment.
+ example: "env:prod,team:saasint"
+ type: string
+ url:
+ description: Elastic Cloud deployment URL.
+ example: "https://example.es.us-central1.gcp.cloud.es.io:9243"
+ type: string
+ required:
+ - url
+ type: object
+ ElasticCloudIntegrationAccountSettingsResponse:
+ description: Settings configured on the Elastic Cloud integration account.
+ properties:
+ tags:
+ description: Comma-separated list of custom tags for this Elastic Cloud deployment.
+ example: "env:prod,team:saasint"
+ type: string
+ url:
+ description: Elastic Cloud deployment URL.
+ example: "https://example.es.us-central1.gcp.cloud.es.io:9243"
+ type: string
+ required:
+ - url
+ type: object
+ ElasticCloudIntegrationAccountSettingsUpdate:
+ description: Settings for updating the Elastic Cloud integration account. Only the fields provided are changed.
+ properties:
+ tags:
+ description: Comma-separated list of custom tags for this Elastic Cloud deployment.
+ example: "env:prod,team:saasint"
+ type: string
+ url:
+ description: Elastic Cloud deployment URL.
+ example: "https://example.es.us-central1.gcp.cloud.es.io:9243"
+ type: string
+ type: object
+ ElasticCloudIntegrationAccountUpdateAttributes:
+ description: >-
+ Writable attributes used to update an Elastic Cloud integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration.
+ properties:
+ authentication:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountAuthenticationUpdate"
+ dataflows:
+ $ref: "#/components/schemas/ElasticCloudIntegrationDataflowsRequest"
+ name:
+ description: Human-readable name of the Elastic Cloud integration account.
+ example: elastic-cloud-prod
+ type: string
+ settings:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountSettingsUpdate"
+ type: object
+ ElasticCloudIntegrationAccountUpdateData:
+ description: Data envelope for updating an Elastic Cloud integration account.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountUpdateAttributes"
+ id:
+ description: Unique identifier of the Elastic Cloud integration account to update.
+ example: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: string
+ type:
+ $ref: "#/components/schemas/IntegrationAccountType"
+ required:
+ - id
+ - type
+ - attributes
+ type: object
+ ElasticCloudIntegrationAccountUpdateRequest:
+ description: Request payload to update an Elastic Cloud integration account.
+ properties:
+ data:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountUpdateData"
+ required:
+ - data
+ type: object
+ ElasticCloudIntegrationAccountsResponse:
+ description: Response payload for a list of Elastic Cloud integration accounts.
+ properties:
+ data:
+ description: List of Elastic Cloud integration accounts.
+ items:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountResponseData"
+ type: array
+ required:
+ - data
+ type: object
+ ElasticCloudIntegrationDataflowsRequest:
+ additionalProperties: false
+ description: Dataflows to configure on the Elastic Cloud integration account, keyed by dataflow id.
+ properties:
+ elastic-cloud-detailed-index-stats:
+ $ref: "#/components/schemas/ElasticCloudDetailedIndexStatsIntegrationDataflowRequest"
+ elastic-cloud-index-stats:
+ $ref: "#/components/schemas/ElasticCloudIndexStatsIntegrationDataflowRequest"
+ elastic-cloud-pending-task-stats:
+ $ref: "#/components/schemas/ElasticCloudPendingTaskStatsIntegrationDataflowRequest"
+ elastic-cloud-primary-shard-graceful-timeout:
+ $ref: "#/components/schemas/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest"
+ elastic-cloud-primary-shard-stats:
+ $ref: "#/components/schemas/ElasticCloudPrimaryShardStatsIntegrationDataflowRequest"
+ elastic-cloud-shard-allocation-stats:
+ $ref: "#/components/schemas/ElasticCloudShardAllocationStatsIntegrationDataflowRequest"
+ elastic-cloud-slm-stats:
+ $ref: "#/components/schemas/ElasticCloudSlmStatsIntegrationDataflowRequest"
+ type: object
+ ElasticCloudIntegrationDataflowsResponse:
+ additionalProperties: false
+ description: Dataflows configured on the Elastic Cloud integration account, keyed by dataflow id.
+ properties:
+ elastic-cloud-detailed-index-stats:
+ $ref: "#/components/schemas/ElasticCloudDetailedIndexStatsIntegrationDataflowResponse"
+ elastic-cloud-index-stats:
+ $ref: "#/components/schemas/ElasticCloudIndexStatsIntegrationDataflowResponse"
+ elastic-cloud-metrics:
+ $ref: "#/components/schemas/ElasticCloudMetricsIntegrationDataflowResponse"
+ elastic-cloud-pending-task-stats:
+ $ref: "#/components/schemas/ElasticCloudPendingTaskStatsIntegrationDataflowResponse"
+ elastic-cloud-primary-shard-graceful-timeout:
+ $ref: "#/components/schemas/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse"
+ elastic-cloud-primary-shard-stats:
+ $ref: "#/components/schemas/ElasticCloudPrimaryShardStatsIntegrationDataflowResponse"
+ elastic-cloud-shard-allocation-stats:
+ $ref: "#/components/schemas/ElasticCloudShardAllocationStatsIntegrationDataflowResponse"
+ elastic-cloud-slm-stats:
+ $ref: "#/components/schemas/ElasticCloudSlmStatsIntegrationDataflowResponse"
+ type: object
+ ElasticCloudMetricsIntegrationDataflowResponse:
+ description: The Elastic Cloud metrics dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ readOnly: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ ElasticCloudPendingTaskStatsIntegrationDataflowRequest:
+ description: The Elastic Cloud pending task stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ ElasticCloudPendingTaskStatsIntegrationDataflowResponse:
+ description: The Elastic Cloud pending task stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest:
+ description: The Elastic Cloud primary shard graceful timeout dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse:
+ description: The Elastic Cloud primary shard graceful timeout dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ ElasticCloudPrimaryShardStatsIntegrationDataflowRequest:
+ description: The Elastic Cloud primary shard stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ ElasticCloudPrimaryShardStatsIntegrationDataflowResponse:
+ description: The Elastic Cloud primary shard stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ ElasticCloudShardAllocationStatsIntegrationDataflowRequest:
+ description: The Elastic Cloud shard allocation stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ ElasticCloudShardAllocationStatsIntegrationDataflowResponse:
+ description: The Elastic Cloud shard allocation stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ ElasticCloudSlmStatsIntegrationDataflowRequest:
+ description: The Elastic Cloud snapshot lifecycle management stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ ElasticCloudSlmStatsIntegrationDataflowResponse:
+ description: The Elastic Cloud snapshot lifecycle management stats dataflow.
+ properties:
+ enabled:
+ description: Whether the Elastic Cloud dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
Enabled:
description: Field used to enable or disable the rule.
example: true
@@ -52685,6 +53050,101 @@ components:
- id
- attributes
type: object
+ IntegrationAccountBasicAuthRequest:
+ description: Username and password authentication.
+ properties:
+ auth_type:
+ $ref: "#/components/schemas/IntegrationAccountBasicAuthType"
+ password:
+ description: Secret password or private key.
+ example: your-password
+ type: string
+ writeOnly: true
+ username:
+ description: Non-secret username or public identifier for the credential pair.
+ example: datadog
+ type: string
+ required:
+ - auth_type
+ - username
+ - password
+ type: object
+ IntegrationAccountBasicAuthResponse:
+ description: The basic authentication method and username configured on the account.
+ properties:
+ auth_type:
+ $ref: "#/components/schemas/IntegrationAccountBasicAuthType"
+ username:
+ description: Non-secret username or public identifier for the credential pair.
+ example: datadog
+ type: string
+ required:
+ - auth_type
+ - username
+ type: object
+ IntegrationAccountBasicAuthType:
+ default: basic
+ description: The authentication method type.
+ enum:
+ - basic
+ example: basic
+ type: string
+ x-enum-varnames:
+ - BASIC
+ IntegrationAccountBasicAuthUpdate:
+ description: Username and password authentication. Only the fields provided are changed; omit `password` to keep the stored one.
+ properties:
+ auth_type:
+ $ref: "#/components/schemas/IntegrationAccountBasicAuthType"
+ password:
+ description: Secret password or private key.
+ example: your-password
+ type: string
+ writeOnly: true
+ username:
+ description: Non-secret username or public identifier for the credential pair.
+ example: datadog
+ type: string
+ required:
+ - auth_type
+ type: object
+ IntegrationAccountDataflowHealth:
+ description: Collection health of a single dataflow.
+ enum:
+ - DATAFLOW_HEALTH_OK
+ - DATAFLOW_HEALTH_BROKEN
+ - DATAFLOW_HEALTH_UNKNOWN
+ example: DATAFLOW_HEALTH_OK
+ type: string
+ x-enum-varnames:
+ - OK
+ - BROKEN
+ - UNKNOWN
+ IntegrationAccountDataflowStatus:
+ description: Read-only collection status of a dataflow.
+ properties:
+ health:
+ $ref: "#/components/schemas/IntegrationAccountDataflowHealth"
+ message:
+ description: Human-readable detail, populated when the dataflow is not healthy.
+ example: ""
+ type: string
+ updated_at:
+ description: Time the status was last computed.
+ example: "2026-06-25T08:30:50Z"
+ format: date-time
+ type: string
+ readOnly: true
+ type: object
+ IntegrationAccountType:
+ default: integration-account
+ description: The type of the integration account resource. Always `integration-account`.
+ enum:
+ - integration-account
+ example: integration-account
+ type: string
+ x-enum-varnames:
+ - INTEGRATION_ACCOUNT
IntegrationAttributes:
description: Attributes for an integration.
properties:
@@ -115314,6 +115774,307 @@ components:
type: string
x-enum-varnames:
- TRIGGER_WORKFLOW_AUTOMATION
+ TwilioAlertsLogsIntegrationDataflowRequest:
+ description: The Twilio alerts logs dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ TwilioAlertsLogsIntegrationDataflowResponse:
+ description: The Twilio alerts logs dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ TwilioCallSummariesLogsIntegrationDataflowRequest:
+ description: The Twilio call summaries logs dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ TwilioCallSummariesLogsIntegrationDataflowResponse:
+ description: The Twilio call summaries logs dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ TwilioCloudCostMetricsIntegrationDataflowRequest:
+ description: The Twilio cloud cost metrics dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ TwilioCloudCostMetricsIntegrationDataflowResponse:
+ description: The Twilio cloud cost metrics dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ TwilioEventsLogsIntegrationDataflowRequest:
+ description: The Twilio events logs dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ TwilioEventsLogsIntegrationDataflowResponse:
+ description: The Twilio events logs dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
+ TwilioIntegrationAccountAuthenticationRequest:
+ description: Authentication for creating the Twilio integration account. Exactly one method is set.
+ oneOf:
+ - $ref: "#/components/schemas/IntegrationAccountBasicAuthRequest"
+ TwilioIntegrationAccountAuthenticationResponse:
+ description: Authentication configured on the Twilio integration account.
+ oneOf:
+ - $ref: "#/components/schemas/IntegrationAccountBasicAuthResponse"
+ TwilioIntegrationAccountAuthenticationUpdate:
+ description: Authentication for updating the Twilio integration account. Exactly one method is set.
+ oneOf:
+ - $ref: "#/components/schemas/IntegrationAccountBasicAuthUpdate"
+ TwilioIntegrationAccountCreateAttributes:
+ description: Writable attributes used to create a Twilio integration account.
+ properties:
+ authentication:
+ $ref: "#/components/schemas/TwilioIntegrationAccountAuthenticationRequest"
+ dataflows:
+ $ref: "#/components/schemas/TwilioIntegrationDataflowsRequest"
+ name:
+ description: Human-readable name of the Twilio integration account.
+ example: twilio-prod
+ type: string
+ settings:
+ $ref: "#/components/schemas/TwilioIntegrationAccountSettingsRequest"
+ required:
+ - name
+ - authentication
+ - settings
+ type: object
+ TwilioIntegrationAccountCreateData:
+ description: Data envelope for creating a Twilio integration account.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/TwilioIntegrationAccountCreateAttributes"
+ type:
+ $ref: "#/components/schemas/IntegrationAccountType"
+ required:
+ - type
+ - attributes
+ type: object
+ TwilioIntegrationAccountCreateRequest:
+ description: Request payload to create a Twilio integration account.
+ properties:
+ data:
+ $ref: "#/components/schemas/TwilioIntegrationAccountCreateData"
+ required:
+ - data
+ type: object
+ TwilioIntegrationAccountResponse:
+ description: Response payload for a single Twilio integration account.
+ properties:
+ data:
+ $ref: "#/components/schemas/TwilioIntegrationAccountResponseData"
+ required:
+ - data
+ type: object
+ TwilioIntegrationAccountResponseAttributes:
+ description: Attributes of a Twilio integration account returned in responses.
+ properties:
+ authentication:
+ $ref: "#/components/schemas/TwilioIntegrationAccountAuthenticationResponse"
+ dataflows:
+ $ref: "#/components/schemas/TwilioIntegrationDataflowsResponse"
+ name:
+ description: Human-readable name of the Twilio integration account.
+ example: twilio-prod
+ type: string
+ settings:
+ $ref: "#/components/schemas/TwilioIntegrationAccountSettingsResponse"
+ required:
+ - name
+ - settings
+ type: object
+ TwilioIntegrationAccountResponseData:
+ description: Data envelope of a Twilio integration account, including server-assigned identity.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/TwilioIntegrationAccountResponseAttributes"
+ id:
+ description: Server-generated unique identifier of the Twilio integration account.
+ example: 953a0060-81ec-4221-aed4-d4733b59cd96
+ readOnly: true
+ type: string
+ type:
+ $ref: "#/components/schemas/IntegrationAccountType"
+ required:
+ - id
+ - attributes
+ - type
+ type: object
+ TwilioIntegrationAccountSettingsRequest:
+ description: Settings for creating the Twilio integration account.
+ properties:
+ account_sid:
+ description: Twilio Account SID that uniquely identifies your Twilio account.
+ example: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ type: string
+ censor_logs:
+ description: When enabled, Twilio phone numbers in the `to` field and SMS message bodies are censored for privacy.
+ example: true
+ type: boolean
+ required:
+ - account_sid
+ type: object
+ TwilioIntegrationAccountSettingsResponse:
+ description: Settings configured on the Twilio integration account.
+ properties:
+ account_sid:
+ description: Twilio Account SID that uniquely identifies your Twilio account.
+ example: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ type: string
+ censor_logs:
+ description: When enabled, Twilio phone numbers in the `to` field and SMS message bodies are censored for privacy.
+ example: true
+ type: boolean
+ required:
+ - account_sid
+ type: object
+ TwilioIntegrationAccountSettingsUpdate:
+ description: Settings for updating the Twilio integration account. Only the fields provided are changed.
+ properties:
+ account_sid:
+ description: Twilio Account SID that uniquely identifies your Twilio account.
+ example: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ type: string
+ censor_logs:
+ description: When enabled, Twilio phone numbers in the `to` field and SMS message bodies are censored for privacy.
+ example: true
+ type: boolean
+ type: object
+ TwilioIntegrationAccountUpdateAttributes:
+ description: >-
+ Writable attributes used to update a Twilio integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration.
+ properties:
+ authentication:
+ $ref: "#/components/schemas/TwilioIntegrationAccountAuthenticationUpdate"
+ dataflows:
+ $ref: "#/components/schemas/TwilioIntegrationDataflowsRequest"
+ name:
+ description: Human-readable name of the Twilio integration account.
+ example: twilio-prod
+ type: string
+ settings:
+ $ref: "#/components/schemas/TwilioIntegrationAccountSettingsUpdate"
+ type: object
+ TwilioIntegrationAccountUpdateData:
+ description: Data envelope for updating a Twilio integration account.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/TwilioIntegrationAccountUpdateAttributes"
+ id:
+ description: Unique identifier of the Twilio integration account to update.
+ example: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: string
+ type:
+ $ref: "#/components/schemas/IntegrationAccountType"
+ required:
+ - id
+ - type
+ - attributes
+ type: object
+ TwilioIntegrationAccountUpdateRequest:
+ description: Request payload to update a Twilio integration account.
+ properties:
+ data:
+ $ref: "#/components/schemas/TwilioIntegrationAccountUpdateData"
+ required:
+ - data
+ type: object
+ TwilioIntegrationAccountsResponse:
+ description: Response payload for a list of Twilio integration accounts.
+ properties:
+ data:
+ description: List of Twilio integration accounts.
+ items:
+ $ref: "#/components/schemas/TwilioIntegrationAccountResponseData"
+ type: array
+ required:
+ - data
+ type: object
+ TwilioIntegrationDataflowsRequest:
+ additionalProperties: false
+ description: Dataflows to configure on the Twilio integration account, keyed by dataflow id.
+ properties:
+ twilio-alerts-logs:
+ $ref: "#/components/schemas/TwilioAlertsLogsIntegrationDataflowRequest"
+ twilio-call-summaries-logs:
+ $ref: "#/components/schemas/TwilioCallSummariesLogsIntegrationDataflowRequest"
+ twilio-cloud-cost-metrics:
+ $ref: "#/components/schemas/TwilioCloudCostMetricsIntegrationDataflowRequest"
+ twilio-events-logs:
+ $ref: "#/components/schemas/TwilioEventsLogsIntegrationDataflowRequest"
+ twilio-messages-logs:
+ $ref: "#/components/schemas/TwilioMessagesLogsIntegrationDataflowRequest"
+ type: object
+ TwilioIntegrationDataflowsResponse:
+ additionalProperties: false
+ description: Dataflows configured on the Twilio integration account, keyed by dataflow id.
+ properties:
+ twilio-alerts-logs:
+ $ref: "#/components/schemas/TwilioAlertsLogsIntegrationDataflowResponse"
+ twilio-call-summaries-logs:
+ $ref: "#/components/schemas/TwilioCallSummariesLogsIntegrationDataflowResponse"
+ twilio-cloud-cost-metrics:
+ $ref: "#/components/schemas/TwilioCloudCostMetricsIntegrationDataflowResponse"
+ twilio-events-logs:
+ $ref: "#/components/schemas/TwilioEventsLogsIntegrationDataflowResponse"
+ twilio-messages-logs:
+ $ref: "#/components/schemas/TwilioMessagesLogsIntegrationDataflowResponse"
+ type: object
+ TwilioMessagesLogsIntegrationDataflowRequest:
+ description: The Twilio messages logs dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ TwilioMessagesLogsIntegrationDataflowResponse:
+ description: The Twilio messages logs dataflow.
+ properties:
+ enabled:
+ description: Whether the Twilio dataflow is enabled.
+ example: true
+ type: boolean
+ status:
+ $ref: "#/components/schemas/IntegrationAccountDataflowStatus"
+ type: object
UCConfigPair:
description: The definition of `UCConfigPair` object.
example:
@@ -153883,6 +154644,458 @@ paths:
x-unstable: |-
**Note**: This endpoint is in preview and is subject to change.
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ /api/v2/integration-interfaces/elastic-cloud/accounts:
+ get:
+ description: List Elastic Cloud integration accounts.
+ operationId: ListElasticCloudIntegrationAccounts
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ - attributes:
+ authentication:
+ auth_type: basic
+ username: datadog
+ dataflows:
+ elastic-cloud-metrics:
+ enabled: true
+ status:
+ health: DATAFLOW_HEALTH_OK
+ updated_at: "2026-06-25T08:30:50Z"
+ elastic-cloud-primary-shard-stats:
+ enabled: false
+ name: elastic-cloud-prod
+ settings:
+ tags: "env:prod,team:saasint"
+ url: "https://example.es.us-central1.gcp.cloud.es.io:9243"
+ id: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: integration-account
+ schema:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountsResponse"
+ description: OK
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: List Elastic Cloud integration accounts
+ tags:
+ - Elastic Cloud Integration Accounts
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ post:
+ description: Create an Elastic Cloud integration account.
+ operationId: CreateElasticCloudIntegrationAccount
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountCreateRequest"
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ authentication:
+ auth_type: basic
+ username: datadog
+ dataflows:
+ elastic-cloud-metrics:
+ enabled: true
+ status:
+ health: DATAFLOW_HEALTH_OK
+ updated_at: "2026-06-25T08:30:50Z"
+ elastic-cloud-primary-shard-stats:
+ enabled: false
+ name: elastic-cloud-prod
+ settings:
+ tags: "env:prod,team:saasint"
+ url: "https://example.es.us-central1.gcp.cloud.es.io:9243"
+ id: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: integration-account
+ schema:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountResponse"
+ description: Created
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "422":
+ $ref: "#/components/responses/UnprocessableEntityResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Create an Elastic Cloud integration account
+ tags:
+ - Elastic Cloud Integration Accounts
+ x-codegen-request-body-name: body
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ /api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}:
+ delete:
+ description: Delete an Elastic Cloud integration account.
+ operationId: DeleteElasticCloudIntegrationAccount
+ parameters:
+ - $ref: "#/components/parameters/IntegrationAccountIdParameter"
+ responses:
+ "200":
+ description: OK
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Delete an Elastic Cloud integration account
+ tags:
+ - Elastic Cloud Integration Accounts
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ get:
+ description: Get an Elastic Cloud integration account.
+ operationId: GetElasticCloudIntegrationAccount
+ parameters:
+ - $ref: "#/components/parameters/IntegrationAccountIdParameter"
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ authentication:
+ auth_type: basic
+ username: datadog
+ dataflows:
+ elastic-cloud-metrics:
+ enabled: true
+ status:
+ health: DATAFLOW_HEALTH_OK
+ updated_at: "2026-06-25T08:30:50Z"
+ elastic-cloud-primary-shard-stats:
+ enabled: false
+ name: elastic-cloud-prod
+ settings:
+ tags: "env:prod,team:saasint"
+ url: "https://example.es.us-central1.gcp.cloud.es.io:9243"
+ id: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: integration-account
+ schema:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountResponse"
+ description: OK
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Get an Elastic Cloud integration account
+ tags:
+ - Elastic Cloud Integration Accounts
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ patch:
+ description: Update an Elastic Cloud integration account. Only the fields provided are changed.
+ operationId: UpdateElasticCloudIntegrationAccount
+ parameters:
+ - $ref: "#/components/parameters/IntegrationAccountIdParameter"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountUpdateRequest"
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ authentication:
+ auth_type: basic
+ username: datadog
+ dataflows:
+ elastic-cloud-metrics:
+ enabled: true
+ status:
+ health: DATAFLOW_HEALTH_OK
+ updated_at: "2026-06-25T08:30:50Z"
+ elastic-cloud-primary-shard-stats:
+ enabled: false
+ name: elastic-cloud-prod
+ settings:
+ tags: "env:prod,team:saasint"
+ url: "https://example.es.us-central1.gcp.cloud.es.io:9243"
+ id: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: integration-account
+ schema:
+ $ref: "#/components/schemas/ElasticCloudIntegrationAccountResponse"
+ description: OK
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "422":
+ $ref: "#/components/responses/UnprocessableEntityResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Update an Elastic Cloud integration account
+ tags:
+ - Elastic Cloud Integration Accounts
+ x-codegen-request-body-name: body
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ /api/v2/integration-interfaces/twilio/accounts:
+ get:
+ description: List Twilio integration accounts.
+ operationId: ListTwilioIntegrationAccounts
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ - attributes:
+ authentication:
+ auth_type: basic
+ username: SKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ dataflows:
+ twilio-messages-logs:
+ enabled: true
+ status:
+ health: DATAFLOW_HEALTH_OK
+ updated_at: "2026-06-25T08:30:50Z"
+ name: twilio-prod
+ settings:
+ account_sid: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ censor_logs: true
+ id: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: integration-account
+ schema:
+ $ref: "#/components/schemas/TwilioIntegrationAccountsResponse"
+ description: OK
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: List Twilio integration accounts
+ tags:
+ - Twilio Integration Accounts
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ post:
+ description: Create a Twilio integration account.
+ operationId: CreateTwilioIntegrationAccount
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TwilioIntegrationAccountCreateRequest"
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ authentication:
+ auth_type: basic
+ username: SKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ dataflows:
+ twilio-messages-logs:
+ enabled: true
+ status:
+ health: DATAFLOW_HEALTH_OK
+ updated_at: "2026-06-25T08:30:50Z"
+ name: twilio-prod
+ settings:
+ account_sid: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ censor_logs: true
+ id: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: integration-account
+ schema:
+ $ref: "#/components/schemas/TwilioIntegrationAccountResponse"
+ description: Created
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "422":
+ $ref: "#/components/responses/UnprocessableEntityResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Create a Twilio integration account
+ tags:
+ - Twilio Integration Accounts
+ x-codegen-request-body-name: body
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ /api/v2/integration-interfaces/twilio/accounts/{account_id}:
+ delete:
+ description: Delete a Twilio integration account.
+ operationId: DeleteTwilioIntegrationAccount
+ parameters:
+ - $ref: "#/components/parameters/IntegrationAccountIdParameter"
+ responses:
+ "200":
+ description: OK
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Delete a Twilio integration account
+ tags:
+ - Twilio Integration Accounts
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ get:
+ description: Get a Twilio integration account.
+ operationId: GetTwilioIntegrationAccount
+ parameters:
+ - $ref: "#/components/parameters/IntegrationAccountIdParameter"
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ authentication:
+ auth_type: basic
+ username: SKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ dataflows:
+ twilio-messages-logs:
+ enabled: true
+ status:
+ health: DATAFLOW_HEALTH_OK
+ updated_at: "2026-06-25T08:30:50Z"
+ name: twilio-prod
+ settings:
+ account_sid: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ censor_logs: true
+ id: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: integration-account
+ schema:
+ $ref: "#/components/schemas/TwilioIntegrationAccountResponse"
+ description: OK
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Get a Twilio integration account
+ tags:
+ - Twilio Integration Accounts
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ patch:
+ description: Update a Twilio integration account. Only the fields provided are changed.
+ operationId: UpdateTwilioIntegrationAccount
+ parameters:
+ - $ref: "#/components/parameters/IntegrationAccountIdParameter"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TwilioIntegrationAccountUpdateRequest"
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ authentication:
+ auth_type: basic
+ username: SKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ dataflows:
+ twilio-messages-logs:
+ enabled: true
+ status:
+ health: DATAFLOW_HEALTH_OK
+ updated_at: "2026-06-25T08:30:50Z"
+ name: twilio-prod
+ settings:
+ account_sid: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ censor_logs: true
+ id: 953a0060-81ec-4221-aed4-d4733b59cd96
+ type: integration-account
+ schema:
+ $ref: "#/components/schemas/TwilioIntegrationAccountResponse"
+ description: OK
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "404":
+ $ref: "#/components/responses/NotFoundResponse"
+ "422":
+ $ref: "#/components/responses/UnprocessableEntityResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Update a Twilio integration account
+ tags:
+ - Twilio Integration Accounts
+ x-codegen-request-body-name: body
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
/api/v2/integration/aws/accounts:
get:
description: Get a list of AWS Account Integration Configs.
@@ -215309,6 +216522,17 @@ tags:
scopes from alerting. Downtime settings, which can be scheduled with start and
end times, prevent all alerting related to specified Datadog tags.
name: Downtimes
+ - description: |-
+ Manage your Datadog Elastic Cloud integration accounts directly through the Datadog API.
+ Create, update, and delete accounts, configure authentication and settings, and
+ enable or disable dataflows such as cluster metrics, index stats, shard stats,
+ pending tasks, and snapshot lifecycle management stats. See the
+ [Elastic Cloud integration page](https://docs.datadoghq.com/integrations/elastic-cloud/) for
+ more information.
+ externalDocs:
+ description: Elastic Cloud integration.
+ url: https://docs.datadoghq.com/integrations/elastic-cloud/
+ name: Elastic Cloud Integration Accounts
- description: Manage per-integration configurations for the Internal Developer Portal (IDP). These configurations control which external resources (for example, GitHub repositories, Jira projects, or PagerDuty services) are synced as entities into the Software Catalog.
name: Entity Integration Configs
- description: Retrieves security risk scores for entities in your organization.
@@ -215742,6 +216966,17 @@ tags:
- description: |-
Search and manage flaky tests through Test Optimization. See the [Test Optimization page](https://docs.datadoghq.com/tests/) for more information.
name: Test Optimization
+ - description: |-
+ Manage your Datadog Twilio integration accounts directly through the Datadog API.
+ Create, update, and delete accounts, configure authentication and settings, and
+ enable or disable dataflows such as message logs, event logs, alerts, call
+ summaries, and Cloud Cost Management metrics. See the
+ [Twilio integration page](https://docs.datadoghq.com/integrations/twilio/) for
+ more information.
+ externalDocs:
+ description: Twilio integration.
+ url: https://docs.datadoghq.com/integrations/twilio/
+ name: Twilio Integration Accounts
- description: |-
The usage metering API allows you to get hourly, daily, and
monthly usage across multiple facets of Datadog.
diff --git a/examples/v2/elastic-cloud-integration-accounts/CreateElasticCloudIntegrationAccount.java b/examples/v2/elastic-cloud-integration-accounts/CreateElasticCloudIntegrationAccount.java
new file mode 100644
index 00000000000..eb32f875662
--- /dev/null
+++ b/examples/v2/elastic-cloud-integration-accounts/CreateElasticCloudIntegrationAccount.java
@@ -0,0 +1,87 @@
+// Create an Elastic Cloud integration account returns "Created" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.ElasticCloudIntegrationAccountsApi;
+import com.datadog.api.client.v2.model.ElasticCloudDetailedIndexStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIndexStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountAuthenticationRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountCreateAttributes;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountCreateData;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountCreateRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountResponse;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountSettingsRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationDataflowsRequest;
+import com.datadog.api.client.v2.model.ElasticCloudPendingTaskStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudPrimaryShardStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudShardAllocationStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudSlmStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.IntegrationAccountBasicAuthRequest;
+import com.datadog.api.client.v2.model.IntegrationAccountBasicAuthType;
+import com.datadog.api.client.v2.model.IntegrationAccountType;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.createElasticCloudIntegrationAccount", true);
+ ElasticCloudIntegrationAccountsApi apiInstance =
+ new ElasticCloudIntegrationAccountsApi(defaultClient);
+
+ ElasticCloudIntegrationAccountCreateRequest body =
+ new ElasticCloudIntegrationAccountCreateRequest()
+ .data(
+ new ElasticCloudIntegrationAccountCreateData()
+ .attributes(
+ new ElasticCloudIntegrationAccountCreateAttributes()
+ .authentication(
+ new ElasticCloudIntegrationAccountAuthenticationRequest(
+ new IntegrationAccountBasicAuthRequest()
+ .authType(IntegrationAccountBasicAuthType.BASIC)
+ .password("your-password")
+ .username("datadog")))
+ .dataflows(
+ new ElasticCloudIntegrationDataflowsRequest()
+ .elasticCloudDetailedIndexStats(
+ new ElasticCloudDetailedIndexStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudIndexStats(
+ new ElasticCloudIndexStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudPendingTaskStats(
+ new ElasticCloudPendingTaskStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudPrimaryShardGracefulTimeout(
+ new ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudPrimaryShardStats(
+ new ElasticCloudPrimaryShardStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudShardAllocationStats(
+ new ElasticCloudShardAllocationStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudSlmStats(
+ new ElasticCloudSlmStatsIntegrationDataflowRequest()
+ .enabled(true)))
+ .name("elastic-cloud-prod")
+ .settings(
+ new ElasticCloudIntegrationAccountSettingsRequest()
+ .tags("env:prod,team:saasint")
+ .url("https://example.es.us-central1.gcp.cloud.es.io:9243")))
+ .type(IntegrationAccountType.INTEGRATION_ACCOUNT));
+
+ try {
+ ElasticCloudIntegrationAccountResponse result =
+ apiInstance.createElasticCloudIntegrationAccount(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling"
+ + " ElasticCloudIntegrationAccountsApi#createElasticCloudIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/elastic-cloud-integration-accounts/DeleteElasticCloudIntegrationAccount.java b/examples/v2/elastic-cloud-integration-accounts/DeleteElasticCloudIntegrationAccount.java
new file mode 100644
index 00000000000..235a2d07628
--- /dev/null
+++ b/examples/v2/elastic-cloud-integration-accounts/DeleteElasticCloudIntegrationAccount.java
@@ -0,0 +1,26 @@
+// Delete an Elastic Cloud integration account returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.ElasticCloudIntegrationAccountsApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.deleteElasticCloudIntegrationAccount", true);
+ ElasticCloudIntegrationAccountsApi apiInstance =
+ new ElasticCloudIntegrationAccountsApi(defaultClient);
+
+ try {
+ apiInstance.deleteElasticCloudIntegrationAccount("account_id");
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling"
+ + " ElasticCloudIntegrationAccountsApi#deleteElasticCloudIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/elastic-cloud-integration-accounts/GetElasticCloudIntegrationAccount.java b/examples/v2/elastic-cloud-integration-accounts/GetElasticCloudIntegrationAccount.java
new file mode 100644
index 00000000000..abc8c976842
--- /dev/null
+++ b/examples/v2/elastic-cloud-integration-accounts/GetElasticCloudIntegrationAccount.java
@@ -0,0 +1,29 @@
+// Get an Elastic Cloud integration account returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.ElasticCloudIntegrationAccountsApi;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.getElasticCloudIntegrationAccount", true);
+ ElasticCloudIntegrationAccountsApi apiInstance =
+ new ElasticCloudIntegrationAccountsApi(defaultClient);
+
+ try {
+ ElasticCloudIntegrationAccountResponse result =
+ apiInstance.getElasticCloudIntegrationAccount("account_id");
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling"
+ + " ElasticCloudIntegrationAccountsApi#getElasticCloudIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/elastic-cloud-integration-accounts/ListElasticCloudIntegrationAccounts.java b/examples/v2/elastic-cloud-integration-accounts/ListElasticCloudIntegrationAccounts.java
new file mode 100644
index 00000000000..5f950f784f4
--- /dev/null
+++ b/examples/v2/elastic-cloud-integration-accounts/ListElasticCloudIntegrationAccounts.java
@@ -0,0 +1,29 @@
+// List Elastic Cloud integration accounts returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.ElasticCloudIntegrationAccountsApi;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountsResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.listElasticCloudIntegrationAccounts", true);
+ ElasticCloudIntegrationAccountsApi apiInstance =
+ new ElasticCloudIntegrationAccountsApi(defaultClient);
+
+ try {
+ ElasticCloudIntegrationAccountsResponse result =
+ apiInstance.listElasticCloudIntegrationAccounts();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling"
+ + " ElasticCloudIntegrationAccountsApi#listElasticCloudIntegrationAccounts");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/elastic-cloud-integration-accounts/UpdateElasticCloudIntegrationAccount.java b/examples/v2/elastic-cloud-integration-accounts/UpdateElasticCloudIntegrationAccount.java
new file mode 100644
index 00000000000..4e016146285
--- /dev/null
+++ b/examples/v2/elastic-cloud-integration-accounts/UpdateElasticCloudIntegrationAccount.java
@@ -0,0 +1,88 @@
+// Update an Elastic Cloud integration account returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.ElasticCloudIntegrationAccountsApi;
+import com.datadog.api.client.v2.model.ElasticCloudDetailedIndexStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIndexStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountAuthenticationUpdate;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountResponse;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountSettingsUpdate;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountUpdateAttributes;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountUpdateData;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountUpdateRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationDataflowsRequest;
+import com.datadog.api.client.v2.model.ElasticCloudPendingTaskStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudPrimaryShardStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudShardAllocationStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.ElasticCloudSlmStatsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.IntegrationAccountBasicAuthType;
+import com.datadog.api.client.v2.model.IntegrationAccountBasicAuthUpdate;
+import com.datadog.api.client.v2.model.IntegrationAccountType;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.updateElasticCloudIntegrationAccount", true);
+ ElasticCloudIntegrationAccountsApi apiInstance =
+ new ElasticCloudIntegrationAccountsApi(defaultClient);
+
+ ElasticCloudIntegrationAccountUpdateRequest body =
+ new ElasticCloudIntegrationAccountUpdateRequest()
+ .data(
+ new ElasticCloudIntegrationAccountUpdateData()
+ .attributes(
+ new ElasticCloudIntegrationAccountUpdateAttributes()
+ .authentication(
+ new ElasticCloudIntegrationAccountAuthenticationUpdate(
+ new IntegrationAccountBasicAuthUpdate()
+ .authType(IntegrationAccountBasicAuthType.BASIC)
+ .password("your-password")
+ .username("datadog")))
+ .dataflows(
+ new ElasticCloudIntegrationDataflowsRequest()
+ .elasticCloudDetailedIndexStats(
+ new ElasticCloudDetailedIndexStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudIndexStats(
+ new ElasticCloudIndexStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudPendingTaskStats(
+ new ElasticCloudPendingTaskStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudPrimaryShardGracefulTimeout(
+ new ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudPrimaryShardStats(
+ new ElasticCloudPrimaryShardStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudShardAllocationStats(
+ new ElasticCloudShardAllocationStatsIntegrationDataflowRequest()
+ .enabled(true))
+ .elasticCloudSlmStats(
+ new ElasticCloudSlmStatsIntegrationDataflowRequest()
+ .enabled(true)))
+ .name("elastic-cloud-prod")
+ .settings(
+ new ElasticCloudIntegrationAccountSettingsUpdate()
+ .tags("env:prod,team:saasint")
+ .url("https://example.es.us-central1.gcp.cloud.es.io:9243")))
+ .id("953a0060-81ec-4221-aed4-d4733b59cd96")
+ .type(IntegrationAccountType.INTEGRATION_ACCOUNT));
+
+ try {
+ ElasticCloudIntegrationAccountResponse result =
+ apiInstance.updateElasticCloudIntegrationAccount("account_id", body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling"
+ + " ElasticCloudIntegrationAccountsApi#updateElasticCloudIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/twilio-integration-accounts/CreateTwilioIntegrationAccount.java b/examples/v2/twilio-integration-accounts/CreateTwilioIntegrationAccount.java
new file mode 100644
index 00000000000..4e6ec73e314
--- /dev/null
+++ b/examples/v2/twilio-integration-accounts/CreateTwilioIntegrationAccount.java
@@ -0,0 +1,76 @@
+// Create a Twilio integration account returns "Created" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.TwilioIntegrationAccountsApi;
+import com.datadog.api.client.v2.model.IntegrationAccountBasicAuthRequest;
+import com.datadog.api.client.v2.model.IntegrationAccountBasicAuthType;
+import com.datadog.api.client.v2.model.IntegrationAccountType;
+import com.datadog.api.client.v2.model.TwilioAlertsLogsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.TwilioCallSummariesLogsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.TwilioCloudCostMetricsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.TwilioEventsLogsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountAuthenticationRequest;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountCreateAttributes;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountCreateData;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountCreateRequest;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountResponse;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountSettingsRequest;
+import com.datadog.api.client.v2.model.TwilioIntegrationDataflowsRequest;
+import com.datadog.api.client.v2.model.TwilioMessagesLogsIntegrationDataflowRequest;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.createTwilioIntegrationAccount", true);
+ TwilioIntegrationAccountsApi apiInstance = new TwilioIntegrationAccountsApi(defaultClient);
+
+ TwilioIntegrationAccountCreateRequest body =
+ new TwilioIntegrationAccountCreateRequest()
+ .data(
+ new TwilioIntegrationAccountCreateData()
+ .attributes(
+ new TwilioIntegrationAccountCreateAttributes()
+ .authentication(
+ new TwilioIntegrationAccountAuthenticationRequest(
+ new IntegrationAccountBasicAuthRequest()
+ .authType(IntegrationAccountBasicAuthType.BASIC)
+ .password("your-password")
+ .username("datadog")))
+ .dataflows(
+ new TwilioIntegrationDataflowsRequest()
+ .twilioAlertsLogs(
+ new TwilioAlertsLogsIntegrationDataflowRequest()
+ .enabled(true))
+ .twilioCallSummariesLogs(
+ new TwilioCallSummariesLogsIntegrationDataflowRequest()
+ .enabled(true))
+ .twilioCloudCostMetrics(
+ new TwilioCloudCostMetricsIntegrationDataflowRequest()
+ .enabled(true))
+ .twilioEventsLogs(
+ new TwilioEventsLogsIntegrationDataflowRequest()
+ .enabled(true))
+ .twilioMessagesLogs(
+ new TwilioMessagesLogsIntegrationDataflowRequest()
+ .enabled(true)))
+ .name("twilio-prod")
+ .settings(
+ new TwilioIntegrationAccountSettingsRequest()
+ .accountSid("ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
+ .censorLogs(true)))
+ .type(IntegrationAccountType.INTEGRATION_ACCOUNT));
+
+ try {
+ TwilioIntegrationAccountResponse result = apiInstance.createTwilioIntegrationAccount(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling TwilioIntegrationAccountsApi#createTwilioIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/twilio-integration-accounts/DeleteTwilioIntegrationAccount.java b/examples/v2/twilio-integration-accounts/DeleteTwilioIntegrationAccount.java
new file mode 100644
index 00000000000..e73c343972b
--- /dev/null
+++ b/examples/v2/twilio-integration-accounts/DeleteTwilioIntegrationAccount.java
@@ -0,0 +1,24 @@
+// Delete a Twilio integration account returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.TwilioIntegrationAccountsApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.deleteTwilioIntegrationAccount", true);
+ TwilioIntegrationAccountsApi apiInstance = new TwilioIntegrationAccountsApi(defaultClient);
+
+ try {
+ apiInstance.deleteTwilioIntegrationAccount("account_id");
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling TwilioIntegrationAccountsApi#deleteTwilioIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/twilio-integration-accounts/GetTwilioIntegrationAccount.java b/examples/v2/twilio-integration-accounts/GetTwilioIntegrationAccount.java
new file mode 100644
index 00000000000..947f67c72f2
--- /dev/null
+++ b/examples/v2/twilio-integration-accounts/GetTwilioIntegrationAccount.java
@@ -0,0 +1,27 @@
+// Get a Twilio integration account returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.TwilioIntegrationAccountsApi;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.getTwilioIntegrationAccount", true);
+ TwilioIntegrationAccountsApi apiInstance = new TwilioIntegrationAccountsApi(defaultClient);
+
+ try {
+ TwilioIntegrationAccountResponse result =
+ apiInstance.getTwilioIntegrationAccount("account_id");
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling TwilioIntegrationAccountsApi#getTwilioIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/twilio-integration-accounts/ListTwilioIntegrationAccounts.java b/examples/v2/twilio-integration-accounts/ListTwilioIntegrationAccounts.java
new file mode 100644
index 00000000000..62cb2c79bad
--- /dev/null
+++ b/examples/v2/twilio-integration-accounts/ListTwilioIntegrationAccounts.java
@@ -0,0 +1,26 @@
+// List Twilio integration accounts returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.TwilioIntegrationAccountsApi;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountsResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.listTwilioIntegrationAccounts", true);
+ TwilioIntegrationAccountsApi apiInstance = new TwilioIntegrationAccountsApi(defaultClient);
+
+ try {
+ TwilioIntegrationAccountsResponse result = apiInstance.listTwilioIntegrationAccounts();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling TwilioIntegrationAccountsApi#listTwilioIntegrationAccounts");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/twilio-integration-accounts/UpdateTwilioIntegrationAccount.java b/examples/v2/twilio-integration-accounts/UpdateTwilioIntegrationAccount.java
new file mode 100644
index 00000000000..fb3c562ad2e
--- /dev/null
+++ b/examples/v2/twilio-integration-accounts/UpdateTwilioIntegrationAccount.java
@@ -0,0 +1,78 @@
+// Update a Twilio integration account returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.TwilioIntegrationAccountsApi;
+import com.datadog.api.client.v2.model.IntegrationAccountBasicAuthType;
+import com.datadog.api.client.v2.model.IntegrationAccountBasicAuthUpdate;
+import com.datadog.api.client.v2.model.IntegrationAccountType;
+import com.datadog.api.client.v2.model.TwilioAlertsLogsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.TwilioCallSummariesLogsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.TwilioCloudCostMetricsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.TwilioEventsLogsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountAuthenticationUpdate;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountResponse;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountSettingsUpdate;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountUpdateAttributes;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountUpdateData;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountUpdateRequest;
+import com.datadog.api.client.v2.model.TwilioIntegrationDataflowsRequest;
+import com.datadog.api.client.v2.model.TwilioMessagesLogsIntegrationDataflowRequest;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.updateTwilioIntegrationAccount", true);
+ TwilioIntegrationAccountsApi apiInstance = new TwilioIntegrationAccountsApi(defaultClient);
+
+ TwilioIntegrationAccountUpdateRequest body =
+ new TwilioIntegrationAccountUpdateRequest()
+ .data(
+ new TwilioIntegrationAccountUpdateData()
+ .attributes(
+ new TwilioIntegrationAccountUpdateAttributes()
+ .authentication(
+ new TwilioIntegrationAccountAuthenticationUpdate(
+ new IntegrationAccountBasicAuthUpdate()
+ .authType(IntegrationAccountBasicAuthType.BASIC)
+ .password("your-password")
+ .username("datadog")))
+ .dataflows(
+ new TwilioIntegrationDataflowsRequest()
+ .twilioAlertsLogs(
+ new TwilioAlertsLogsIntegrationDataflowRequest()
+ .enabled(true))
+ .twilioCallSummariesLogs(
+ new TwilioCallSummariesLogsIntegrationDataflowRequest()
+ .enabled(true))
+ .twilioCloudCostMetrics(
+ new TwilioCloudCostMetricsIntegrationDataflowRequest()
+ .enabled(true))
+ .twilioEventsLogs(
+ new TwilioEventsLogsIntegrationDataflowRequest()
+ .enabled(true))
+ .twilioMessagesLogs(
+ new TwilioMessagesLogsIntegrationDataflowRequest()
+ .enabled(true)))
+ .name("twilio-prod")
+ .settings(
+ new TwilioIntegrationAccountSettingsUpdate()
+ .accountSid("ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
+ .censorLogs(true)))
+ .id("953a0060-81ec-4221-aed4-d4733b59cd96")
+ .type(IntegrationAccountType.INTEGRATION_ACCOUNT));
+
+ try {
+ TwilioIntegrationAccountResponse result =
+ apiInstance.updateTwilioIntegrationAccount("account_id", body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling TwilioIntegrationAccountsApi#updateTwilioIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/ApiClient.java b/src/main/java/com/datadog/api/client/ApiClient.java
index 8b5e75a262b..b3a0dbbd98c 100644
--- a/src/main/java/com/datadog/api/client/ApiClient.java
+++ b/src/main/java/com/datadog/api/client/ApiClient.java
@@ -1214,6 +1214,16 @@ public class ApiClient {
put("v2.updateIncidentUserDefinedField", false);
put("v2.updateIncidentUserDefinedRole", false);
put("v2.updateTimestampOverride", false);
+ put("v2.createElasticCloudIntegrationAccount", false);
+ put("v2.deleteElasticCloudIntegrationAccount", false);
+ put("v2.getElasticCloudIntegrationAccount", false);
+ put("v2.listElasticCloudIntegrationAccounts", false);
+ put("v2.updateElasticCloudIntegrationAccount", false);
+ put("v2.createTwilioIntegrationAccount", false);
+ put("v2.deleteTwilioIntegrationAccount", false);
+ put("v2.getTwilioIntegrationAccount", false);
+ put("v2.listTwilioIntegrationAccounts", false);
+ put("v2.updateTwilioIntegrationAccount", false);
put("v2.createAWSAccountCCMConfig", false);
put("v2.deleteAWSAccountCCMConfig", false);
put("v2.getAWSAccountCCMConfig", false);
diff --git a/src/main/java/com/datadog/api/client/v2/api/ElasticCloudIntegrationAccountsApi.java b/src/main/java/com/datadog/api/client/v2/api/ElasticCloudIntegrationAccountsApi.java
new file mode 100644
index 00000000000..640c0cd6057
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/api/ElasticCloudIntegrationAccountsApi.java
@@ -0,0 +1,851 @@
+package com.datadog.api.client.v2.api;
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.ApiResponse;
+import com.datadog.api.client.Pair;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountCreateRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountResponse;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountUpdateRequest;
+import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountsResponse;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.GenericType;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ElasticCloudIntegrationAccountsApi {
+ private ApiClient apiClient;
+
+ public ElasticCloudIntegrationAccountsApi() {
+ this(ApiClient.getDefaultApiClient());
+ }
+
+ public ElasticCloudIntegrationAccountsApi(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Get the API client.
+ *
+ * @return API client
+ */
+ public ApiClient getApiClient() {
+ return apiClient;
+ }
+
+ /**
+ * Set the API client.
+ *
+ * @param apiClient an instance of API client
+ */
+ public void setApiClient(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Create an Elastic Cloud integration account.
+ *
+ *
See {@link #createElasticCloudIntegrationAccountWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return ElasticCloudIntegrationAccountResponse
+ * @throws ApiException if fails to make API call
+ */
+ public ElasticCloudIntegrationAccountResponse createElasticCloudIntegrationAccount(
+ ElasticCloudIntegrationAccountCreateRequest body) throws ApiException {
+ return createElasticCloudIntegrationAccountWithHttpInfo(body).getData();
+ }
+
+ /**
+ * Create an Elastic Cloud integration account.
+ *
+ *
See {@link #createElasticCloudIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<ElasticCloudIntegrationAccountResponse>
+ */
+ public CompletableFuture
+ createElasticCloudIntegrationAccountAsync(ElasticCloudIntegrationAccountCreateRequest body) {
+ return createElasticCloudIntegrationAccountWithHttpInfoAsync(body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Create an Elastic Cloud integration account.
+ *
+ * @param body (required)
+ * @return ApiResponse<ElasticCloudIntegrationAccountResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 201 | Created | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 422 | The server cannot process the request because it contains invalid data. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse
+ createElasticCloudIntegrationAccountWithHttpInfo(
+ ElasticCloudIntegrationAccountCreateRequest body) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "createElasticCloudIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling"
+ + " createElasticCloudIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/elastic-cloud/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.createElasticCloudIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Create an Elastic Cloud integration account.
+ *
+ * See {@link #createElasticCloudIntegrationAccountWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<ElasticCloudIntegrationAccountResponse>>
+ */
+ public CompletableFuture>
+ createElasticCloudIntegrationAccountWithHttpInfoAsync(
+ ElasticCloudIntegrationAccountCreateRequest body) {
+ // Check if unstable operation is enabled
+ String operationId = "createElasticCloudIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling"
+ + " createElasticCloudIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/elastic-cloud/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.createElasticCloudIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Delete an Elastic Cloud integration account.
+ *
+ * See {@link #deleteElasticCloudIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @throws ApiException if fails to make API call
+ */
+ public void deleteElasticCloudIntegrationAccount(String accountId) throws ApiException {
+ deleteElasticCloudIntegrationAccountWithHttpInfo(accountId);
+ }
+
+ /**
+ * Delete an Elastic Cloud integration account.
+ *
+ *
See {@link #deleteElasticCloudIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture
+ */
+ public CompletableFuture deleteElasticCloudIntegrationAccountAsync(String accountId) {
+ return deleteElasticCloudIntegrationAccountWithHttpInfoAsync(accountId)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Delete an Elastic Cloud integration account.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse deleteElasticCloudIntegrationAccountWithHttpInfo(String accountId)
+ throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "deleteElasticCloudIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " deleteElasticCloudIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.deleteElasticCloudIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Delete an Elastic Cloud integration account.
+ *
+ * See {@link #deleteElasticCloudIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture<ApiResponse<Void>>
+ */
+ public CompletableFuture> deleteElasticCloudIntegrationAccountWithHttpInfoAsync(
+ String accountId) {
+ // Check if unstable operation is enabled
+ String operationId = "deleteElasticCloudIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " deleteElasticCloudIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.deleteElasticCloudIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Get an Elastic Cloud integration account.
+ *
+ * See {@link #getElasticCloudIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return ElasticCloudIntegrationAccountResponse
+ * @throws ApiException if fails to make API call
+ */
+ public ElasticCloudIntegrationAccountResponse getElasticCloudIntegrationAccount(String accountId)
+ throws ApiException {
+ return getElasticCloudIntegrationAccountWithHttpInfo(accountId).getData();
+ }
+
+ /**
+ * Get an Elastic Cloud integration account.
+ *
+ *
See {@link #getElasticCloudIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture<ElasticCloudIntegrationAccountResponse>
+ */
+ public CompletableFuture
+ getElasticCloudIntegrationAccountAsync(String accountId) {
+ return getElasticCloudIntegrationAccountWithHttpInfoAsync(accountId)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Get an Elastic Cloud integration account.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return ApiResponse<ElasticCloudIntegrationAccountResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse
+ getElasticCloudIntegrationAccountWithHttpInfo(String accountId) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "getElasticCloudIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " getElasticCloudIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.getElasticCloudIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Get an Elastic Cloud integration account.
+ *
+ * See {@link #getElasticCloudIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture<ApiResponse<ElasticCloudIntegrationAccountResponse>>
+ */
+ public CompletableFuture>
+ getElasticCloudIntegrationAccountWithHttpInfoAsync(String accountId) {
+ // Check if unstable operation is enabled
+ String operationId = "getElasticCloudIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " getElasticCloudIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.getElasticCloudIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * List Elastic Cloud integration accounts.
+ *
+ * See {@link #listElasticCloudIntegrationAccountsWithHttpInfo}.
+ *
+ * @return ElasticCloudIntegrationAccountsResponse
+ * @throws ApiException if fails to make API call
+ */
+ public ElasticCloudIntegrationAccountsResponse listElasticCloudIntegrationAccounts()
+ throws ApiException {
+ return listElasticCloudIntegrationAccountsWithHttpInfo().getData();
+ }
+
+ /**
+ * List Elastic Cloud integration accounts.
+ *
+ *
See {@link #listElasticCloudIntegrationAccountsWithHttpInfoAsync}.
+ *
+ * @return CompletableFuture<ElasticCloudIntegrationAccountsResponse>
+ */
+ public CompletableFuture
+ listElasticCloudIntegrationAccountsAsync() {
+ return listElasticCloudIntegrationAccountsWithHttpInfoAsync()
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * List Elastic Cloud integration accounts.
+ *
+ * @return ApiResponse<ElasticCloudIntegrationAccountsResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse
+ listElasticCloudIntegrationAccountsWithHttpInfo() throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "listElasticCloudIntegrationAccounts";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/elastic-cloud/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.listElasticCloudIntegrationAccounts",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * List Elastic Cloud integration accounts.
+ *
+ * See {@link #listElasticCloudIntegrationAccountsWithHttpInfo}.
+ *
+ * @return CompletableFuture<ApiResponse<ElasticCloudIntegrationAccountsResponse>>
+ */
+ public CompletableFuture>
+ listElasticCloudIntegrationAccountsWithHttpInfoAsync() {
+ // Check if unstable operation is enabled
+ String operationId = "listElasticCloudIntegrationAccounts";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/elastic-cloud/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.listElasticCloudIntegrationAccounts",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Update an Elastic Cloud integration account.
+ *
+ * See {@link #updateElasticCloudIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return ElasticCloudIntegrationAccountResponse
+ * @throws ApiException if fails to make API call
+ */
+ public ElasticCloudIntegrationAccountResponse updateElasticCloudIntegrationAccount(
+ String accountId, ElasticCloudIntegrationAccountUpdateRequest body) throws ApiException {
+ return updateElasticCloudIntegrationAccountWithHttpInfo(accountId, body).getData();
+ }
+
+ /**
+ * Update an Elastic Cloud integration account.
+ *
+ *
See {@link #updateElasticCloudIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return CompletableFuture<ElasticCloudIntegrationAccountResponse>
+ */
+ public CompletableFuture
+ updateElasticCloudIntegrationAccountAsync(
+ String accountId, ElasticCloudIntegrationAccountUpdateRequest body) {
+ return updateElasticCloudIntegrationAccountWithHttpInfoAsync(accountId, body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Update an Elastic Cloud integration account. Only the fields provided are changed.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return ApiResponse<ElasticCloudIntegrationAccountResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 422 | The server cannot process the request because it contains invalid data. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse
+ updateElasticCloudIntegrationAccountWithHttpInfo(
+ String accountId, ElasticCloudIntegrationAccountUpdateRequest body) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "updateElasticCloudIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " updateElasticCloudIntegrationAccount");
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling"
+ + " updateElasticCloudIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.updateElasticCloudIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "PATCH",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Update an Elastic Cloud integration account.
+ *
+ * See {@link #updateElasticCloudIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<ElasticCloudIntegrationAccountResponse>>
+ */
+ public CompletableFuture>
+ updateElasticCloudIntegrationAccountWithHttpInfoAsync(
+ String accountId, ElasticCloudIntegrationAccountUpdateRequest body) {
+ // Check if unstable operation is enabled
+ String operationId = "updateElasticCloudIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " updateElasticCloudIntegrationAccount"));
+ return result;
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling"
+ + " updateElasticCloudIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.ElasticCloudIntegrationAccountsApi.updateElasticCloudIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "PATCH",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/api/TwilioIntegrationAccountsApi.java b/src/main/java/com/datadog/api/client/v2/api/TwilioIntegrationAccountsApi.java
new file mode 100644
index 00000000000..7a20ef8dd5a
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/api/TwilioIntegrationAccountsApi.java
@@ -0,0 +1,836 @@
+package com.datadog.api.client.v2.api;
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.ApiResponse;
+import com.datadog.api.client.Pair;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountCreateRequest;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountResponse;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountUpdateRequest;
+import com.datadog.api.client.v2.model.TwilioIntegrationAccountsResponse;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.GenericType;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class TwilioIntegrationAccountsApi {
+ private ApiClient apiClient;
+
+ public TwilioIntegrationAccountsApi() {
+ this(ApiClient.getDefaultApiClient());
+ }
+
+ public TwilioIntegrationAccountsApi(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Get the API client.
+ *
+ * @return API client
+ */
+ public ApiClient getApiClient() {
+ return apiClient;
+ }
+
+ /**
+ * Set the API client.
+ *
+ * @param apiClient an instance of API client
+ */
+ public void setApiClient(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Create a Twilio integration account.
+ *
+ * See {@link #createTwilioIntegrationAccountWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return TwilioIntegrationAccountResponse
+ * @throws ApiException if fails to make API call
+ */
+ public TwilioIntegrationAccountResponse createTwilioIntegrationAccount(
+ TwilioIntegrationAccountCreateRequest body) throws ApiException {
+ return createTwilioIntegrationAccountWithHttpInfo(body).getData();
+ }
+
+ /**
+ * Create a Twilio integration account.
+ *
+ *
See {@link #createTwilioIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<TwilioIntegrationAccountResponse>
+ */
+ public CompletableFuture createTwilioIntegrationAccountAsync(
+ TwilioIntegrationAccountCreateRequest body) {
+ return createTwilioIntegrationAccountWithHttpInfoAsync(body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Create a Twilio integration account.
+ *
+ * @param body (required)
+ * @return ApiResponse<TwilioIntegrationAccountResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 201 | Created | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 422 | The server cannot process the request because it contains invalid data. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse createTwilioIntegrationAccountWithHttpInfo(
+ TwilioIntegrationAccountCreateRequest body) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "createTwilioIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling createTwilioIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/twilio/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.createTwilioIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Create a Twilio integration account.
+ *
+ * See {@link #createTwilioIntegrationAccountWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<TwilioIntegrationAccountResponse>>
+ */
+ public CompletableFuture>
+ createTwilioIntegrationAccountWithHttpInfoAsync(TwilioIntegrationAccountCreateRequest body) {
+ // Check if unstable operation is enabled
+ String operationId = "createTwilioIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling createTwilioIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/twilio/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.createTwilioIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Delete a Twilio integration account.
+ *
+ * See {@link #deleteTwilioIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @throws ApiException if fails to make API call
+ */
+ public void deleteTwilioIntegrationAccount(String accountId) throws ApiException {
+ deleteTwilioIntegrationAccountWithHttpInfo(accountId);
+ }
+
+ /**
+ * Delete a Twilio integration account.
+ *
+ *
See {@link #deleteTwilioIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture
+ */
+ public CompletableFuture deleteTwilioIntegrationAccountAsync(String accountId) {
+ return deleteTwilioIntegrationAccountWithHttpInfoAsync(accountId)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Delete a Twilio integration account.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse deleteTwilioIntegrationAccountWithHttpInfo(String accountId)
+ throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "deleteTwilioIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling deleteTwilioIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/twilio/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.deleteTwilioIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Delete a Twilio integration account.
+ *
+ * See {@link #deleteTwilioIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture<ApiResponse<Void>>
+ */
+ public CompletableFuture> deleteTwilioIntegrationAccountWithHttpInfoAsync(
+ String accountId) {
+ // Check if unstable operation is enabled
+ String operationId = "deleteTwilioIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " deleteTwilioIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/twilio/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.deleteTwilioIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Get a Twilio integration account.
+ *
+ * See {@link #getTwilioIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return TwilioIntegrationAccountResponse
+ * @throws ApiException if fails to make API call
+ */
+ public TwilioIntegrationAccountResponse getTwilioIntegrationAccount(String accountId)
+ throws ApiException {
+ return getTwilioIntegrationAccountWithHttpInfo(accountId).getData();
+ }
+
+ /**
+ * Get a Twilio integration account.
+ *
+ *
See {@link #getTwilioIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture<TwilioIntegrationAccountResponse>
+ */
+ public CompletableFuture getTwilioIntegrationAccountAsync(
+ String accountId) {
+ return getTwilioIntegrationAccountWithHttpInfoAsync(accountId)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Get a Twilio integration account.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return ApiResponse<TwilioIntegrationAccountResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse getTwilioIntegrationAccountWithHttpInfo(
+ String accountId) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "getTwilioIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling getTwilioIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/twilio/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.getTwilioIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Get a Twilio integration account.
+ *
+ * See {@link #getTwilioIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture<ApiResponse<TwilioIntegrationAccountResponse>>
+ */
+ public CompletableFuture>
+ getTwilioIntegrationAccountWithHttpInfoAsync(String accountId) {
+ // Check if unstable operation is enabled
+ String operationId = "getTwilioIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " getTwilioIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/twilio/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.getTwilioIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * List Twilio integration accounts.
+ *
+ * See {@link #listTwilioIntegrationAccountsWithHttpInfo}.
+ *
+ * @return TwilioIntegrationAccountsResponse
+ * @throws ApiException if fails to make API call
+ */
+ public TwilioIntegrationAccountsResponse listTwilioIntegrationAccounts() throws ApiException {
+ return listTwilioIntegrationAccountsWithHttpInfo().getData();
+ }
+
+ /**
+ * List Twilio integration accounts.
+ *
+ *
See {@link #listTwilioIntegrationAccountsWithHttpInfoAsync}.
+ *
+ * @return CompletableFuture<TwilioIntegrationAccountsResponse>
+ */
+ public CompletableFuture listTwilioIntegrationAccountsAsync() {
+ return listTwilioIntegrationAccountsWithHttpInfoAsync()
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * List Twilio integration accounts.
+ *
+ * @return ApiResponse<TwilioIntegrationAccountsResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse listTwilioIntegrationAccountsWithHttpInfo()
+ throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "listTwilioIntegrationAccounts";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/twilio/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.listTwilioIntegrationAccounts",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * List Twilio integration accounts.
+ *
+ * See {@link #listTwilioIntegrationAccountsWithHttpInfo}.
+ *
+ * @return CompletableFuture<ApiResponse<TwilioIntegrationAccountsResponse>>
+ */
+ public CompletableFuture>
+ listTwilioIntegrationAccountsWithHttpInfoAsync() {
+ // Check if unstable operation is enabled
+ String operationId = "listTwilioIntegrationAccounts";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/twilio/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.listTwilioIntegrationAccounts",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Update a Twilio integration account.
+ *
+ * See {@link #updateTwilioIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return TwilioIntegrationAccountResponse
+ * @throws ApiException if fails to make API call
+ */
+ public TwilioIntegrationAccountResponse updateTwilioIntegrationAccount(
+ String accountId, TwilioIntegrationAccountUpdateRequest body) throws ApiException {
+ return updateTwilioIntegrationAccountWithHttpInfo(accountId, body).getData();
+ }
+
+ /**
+ * Update a Twilio integration account.
+ *
+ *
See {@link #updateTwilioIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return CompletableFuture<TwilioIntegrationAccountResponse>
+ */
+ public CompletableFuture updateTwilioIntegrationAccountAsync(
+ String accountId, TwilioIntegrationAccountUpdateRequest body) {
+ return updateTwilioIntegrationAccountWithHttpInfoAsync(accountId, body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Update a Twilio integration account. Only the fields provided are changed.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return ApiResponse<TwilioIntegrationAccountResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 422 | The server cannot process the request because it contains invalid data. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse updateTwilioIntegrationAccountWithHttpInfo(
+ String accountId, TwilioIntegrationAccountUpdateRequest body) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "updateTwilioIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling updateTwilioIntegrationAccount");
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling updateTwilioIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/twilio/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.updateTwilioIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "PATCH",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Update a Twilio integration account.
+ *
+ * See {@link #updateTwilioIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<TwilioIntegrationAccountResponse>>
+ */
+ public CompletableFuture>
+ updateTwilioIntegrationAccountWithHttpInfoAsync(
+ String accountId, TwilioIntegrationAccountUpdateRequest body) {
+ // Check if unstable operation is enabled
+ String operationId = "updateTwilioIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " updateTwilioIntegrationAccount"));
+ return result;
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling updateTwilioIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/twilio/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.TwilioIntegrationAccountsApi.updateTwilioIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "PATCH",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ElasticCloudDetailedIndexStatsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudDetailedIndexStatsIntegrationDataflowRequest.java
new file mode 100644
index 00000000000..0bc98309a23
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudDetailedIndexStatsIntegrationDataflowRequest.java
@@ -0,0 +1,144 @@
+/*
+ * 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.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 Elastic Cloud detailed index stats dataflow. */
+@JsonPropertyOrder({ElasticCloudDetailedIndexStatsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ElasticCloudDetailedIndexStatsIntegrationDataflowRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public ElasticCloudDetailedIndexStatsIntegrationDataflowRequest enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether the Elastic Cloud dataflow 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;
+ }
+
+ /**
+ * 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 ElasticCloudDetailedIndexStatsIntegrationDataflowRequest
+ */
+ @JsonAnySetter
+ public ElasticCloudDetailedIndexStatsIntegrationDataflowRequest 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 ElasticCloudDetailedIndexStatsIntegrationDataflowRequest object is equal to
+ * o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ElasticCloudDetailedIndexStatsIntegrationDataflowRequest
+ elasticCloudDetailedIndexStatsIntegrationDataflowRequest =
+ (ElasticCloudDetailedIndexStatsIntegrationDataflowRequest) o;
+ return Objects.equals(
+ this.enabled, elasticCloudDetailedIndexStatsIntegrationDataflowRequest.enabled)
+ && Objects.equals(
+ this.additionalProperties,
+ elasticCloudDetailedIndexStatsIntegrationDataflowRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ElasticCloudDetailedIndexStatsIntegrationDataflowRequest {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).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/ElasticCloudDetailedIndexStatsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudDetailedIndexStatsIntegrationDataflowResponse.java
new file mode 100644
index 00000000000..83cf73482c3
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudDetailedIndexStatsIntegrationDataflowResponse.java
@@ -0,0 +1,165 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+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 Elastic Cloud detailed index stats dataflow. */
+@JsonPropertyOrder({
+ ElasticCloudDetailedIndexStatsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED,
+ ElasticCloudDetailedIndexStatsIntegrationDataflowResponse.JSON_PROPERTY_STATUS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ElasticCloudDetailedIndexStatsIntegrationDataflowResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public static final String JSON_PROPERTY_STATUS = "status";
+ private IntegrationAccountDataflowStatus status;
+
+ public ElasticCloudDetailedIndexStatsIntegrationDataflowResponse enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether the Elastic Cloud dataflow 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;
+ }
+
+ /**
+ * Read-only collection status of a dataflow.
+ *
+ * @return status
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public IntegrationAccountDataflowStatus getStatus() {
+ return status;
+ }
+
+ /**
+ * 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 ElasticCloudDetailedIndexStatsIntegrationDataflowResponse
+ */
+ @JsonAnySetter
+ public ElasticCloudDetailedIndexStatsIntegrationDataflowResponse 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 ElasticCloudDetailedIndexStatsIntegrationDataflowResponse object is equal
+ * to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ElasticCloudDetailedIndexStatsIntegrationDataflowResponse
+ elasticCloudDetailedIndexStatsIntegrationDataflowResponse =
+ (ElasticCloudDetailedIndexStatsIntegrationDataflowResponse) o;
+ return Objects.equals(
+ this.enabled, elasticCloudDetailedIndexStatsIntegrationDataflowResponse.enabled)
+ && Objects.equals(
+ this.status, elasticCloudDetailedIndexStatsIntegrationDataflowResponse.status)
+ && Objects.equals(
+ this.additionalProperties,
+ elasticCloudDetailedIndexStatsIntegrationDataflowResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, status, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ElasticCloudDetailedIndexStatsIntegrationDataflowResponse {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).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/ElasticCloudIndexStatsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIndexStatsIntegrationDataflowRequest.java
new file mode 100644
index 00000000000..e531d8d36fa
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIndexStatsIntegrationDataflowRequest.java
@@ -0,0 +1,140 @@
+/*
+ * 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.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 Elastic Cloud index stats dataflow. */
+@JsonPropertyOrder({ElasticCloudIndexStatsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ElasticCloudIndexStatsIntegrationDataflowRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public ElasticCloudIndexStatsIntegrationDataflowRequest enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether the Elastic Cloud dataflow 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;
+ }
+
+ /**
+ * 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 ElasticCloudIndexStatsIntegrationDataflowRequest
+ */
+ @JsonAnySetter
+ public ElasticCloudIndexStatsIntegrationDataflowRequest 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 ElasticCloudIndexStatsIntegrationDataflowRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ElasticCloudIndexStatsIntegrationDataflowRequest
+ elasticCloudIndexStatsIntegrationDataflowRequest =
+ (ElasticCloudIndexStatsIntegrationDataflowRequest) o;
+ return Objects.equals(this.enabled, elasticCloudIndexStatsIntegrationDataflowRequest.enabled)
+ && Objects.equals(
+ this.additionalProperties,
+ elasticCloudIndexStatsIntegrationDataflowRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ElasticCloudIndexStatsIntegrationDataflowRequest {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).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/ElasticCloudIndexStatsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIndexStatsIntegrationDataflowResponse.java
new file mode 100644
index 00000000000..d5f921d0ccf
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIndexStatsIntegrationDataflowResponse.java
@@ -0,0 +1,160 @@
+/*
+ * 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.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 Elastic Cloud index stats dataflow. */
+@JsonPropertyOrder({
+ ElasticCloudIndexStatsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED,
+ ElasticCloudIndexStatsIntegrationDataflowResponse.JSON_PROPERTY_STATUS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ElasticCloudIndexStatsIntegrationDataflowResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public static final String JSON_PROPERTY_STATUS = "status";
+ private IntegrationAccountDataflowStatus status;
+
+ public ElasticCloudIndexStatsIntegrationDataflowResponse enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether the Elastic Cloud dataflow 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;
+ }
+
+ /**
+ * Read-only collection status of a dataflow.
+ *
+ * @return status
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public IntegrationAccountDataflowStatus getStatus() {
+ return status;
+ }
+
+ /**
+ * 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 ElasticCloudIndexStatsIntegrationDataflowResponse
+ */
+ @JsonAnySetter
+ public ElasticCloudIndexStatsIntegrationDataflowResponse 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 ElasticCloudIndexStatsIntegrationDataflowResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ElasticCloudIndexStatsIntegrationDataflowResponse
+ elasticCloudIndexStatsIntegrationDataflowResponse =
+ (ElasticCloudIndexStatsIntegrationDataflowResponse) o;
+ return Objects.equals(this.enabled, elasticCloudIndexStatsIntegrationDataflowResponse.enabled)
+ && Objects.equals(this.status, elasticCloudIndexStatsIntegrationDataflowResponse.status)
+ && Objects.equals(
+ this.additionalProperties,
+ elasticCloudIndexStatsIntegrationDataflowResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, status, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ElasticCloudIndexStatsIntegrationDataflowResponse {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).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/ElasticCloudIntegrationAccountAuthenticationRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountAuthenticationRequest.java
new file mode 100644
index 00000000000..6c0ce8c3cd4
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountAuthenticationRequest.java
@@ -0,0 +1,234 @@
+/*
+ * 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 =
+ ElasticCloudIntegrationAccountAuthenticationRequest
+ .ElasticCloudIntegrationAccountAuthenticationRequestDeserializer.class)
+@JsonSerialize(
+ using =
+ ElasticCloudIntegrationAccountAuthenticationRequest
+ .ElasticCloudIntegrationAccountAuthenticationRequestSerializer.class)
+public class ElasticCloudIntegrationAccountAuthenticationRequest extends AbstractOpenApiSchema {
+ private static final Logger log =
+ Logger.getLogger(ElasticCloudIntegrationAccountAuthenticationRequest.class.getName());
+
+ @JsonIgnore public boolean unparsed = false;
+
+ public static class ElasticCloudIntegrationAccountAuthenticationRequestSerializer
+ extends StdSerializer {
+ public ElasticCloudIntegrationAccountAuthenticationRequestSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public ElasticCloudIntegrationAccountAuthenticationRequestSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ElasticCloudIntegrationAccountAuthenticationRequest value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.getActualInstance());
+ }
+ }
+
+ public static class ElasticCloudIntegrationAccountAuthenticationRequestDeserializer
+ extends StdDeserializer {
+ public ElasticCloudIntegrationAccountAuthenticationRequestDeserializer() {
+ this(ElasticCloudIntegrationAccountAuthenticationRequest.class);
+ }
+
+ public ElasticCloudIntegrationAccountAuthenticationRequestDeserializer(Class> vc) {
+ super(vc);
+ }
+
+ @Override
+ public ElasticCloudIntegrationAccountAuthenticationRequest 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 IntegrationAccountBasicAuthRequest
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (IntegrationAccountBasicAuthRequest.class.equals(Integer.class)
+ || IntegrationAccountBasicAuthRequest.class.equals(Long.class)
+ || IntegrationAccountBasicAuthRequest.class.equals(Float.class)
+ || IntegrationAccountBasicAuthRequest.class.equals(Double.class)
+ || IntegrationAccountBasicAuthRequest.class.equals(Boolean.class)
+ || IntegrationAccountBasicAuthRequest.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((IntegrationAccountBasicAuthRequest.class.equals(Integer.class)
+ || IntegrationAccountBasicAuthRequest.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((IntegrationAccountBasicAuthRequest.class.equals(Float.class)
+ || IntegrationAccountBasicAuthRequest.class.equals(Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (IntegrationAccountBasicAuthRequest.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (IntegrationAccountBasicAuthRequest.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp = tree.traverse(jp.getCodec()).readValueAs(IntegrationAccountBasicAuthRequest.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 (!((IntegrationAccountBasicAuthRequest) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(Level.FINER, "Input data matches schema 'IntegrationAccountBasicAuthRequest'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'IntegrationAccountBasicAuthRequest'",
+ e);
+ }
+
+ ElasticCloudIntegrationAccountAuthenticationRequest ret =
+ new ElasticCloudIntegrationAccountAuthenticationRequest();
+ if (match == 1) {
+ ret.setActualInstance(deserialized);
+ } else {
+ Map res =
+ new ObjectMapper()
+ .readValue(
+ tree.traverse(jp.getCodec()).readValueAsTree().toString(),
+ new TypeReference